Subject: Re: [ecasound] MISC: Of static & Timidity support & Info from MP3 header? & An idea
From: Kai Vehmanen (k@eca.cx)
Date: Thu Nov 02 2000 - 23:17:23 EET
On Sat, 28 Oct 2000, S. Massy wrote:
> Here are the two things that I found the most interesting in your todo
> list, in order:
> 1) C-api: that would definitely be great to be able to get programs
> (great or small) to use ecasound's power.
Ok, you've got me convinced. I guess I'll postpone the MIDI subsystem
update to 1.9.x and concentrate on the new buffering system and the
C-API during 1.8.x development.
> 2) interfacing to "interpreted languages" (I'm thinking of PERL here;
> well, that's the one I know and love.) Here again it would be
> thrilling to be able to have scripts talking to ecasound, one could do
Ok, so we'd basicly need (at least) perl and python bindings to the new
C-API. Any volunteers to take the charge of these projects? I'm sure
it'd be best, if the bindings were "officially" supported.
So the next step is to design the C-API. I already posted a quick'n'dirty
draft. It should give a picture of what the API is aiming at. So in other
words, if you could access the functionality provided by libecasound from
your perl/python/xxx app, what services/functions you'd like to
have at your use? All ideas, both good and bad, are welcome.
The obvious features would be:
- init/destruction
- functions for issuing ia-mode commands
The next step would be to add function equivalents to the dump
commands. Instead of dumping to the "target stream", C-API functions
would directly return the value, or modify a pointer to struct.
Here's a clip from ecasound-iam man page:
--cut--
DUMP COMMANDS
The following dump commands are not meant for normal use.
Their primary purpose is to provide an easy way to get
internal state information from libecasound. All dump com-
mands output a single line with syntax "key value" to the
selected output stream (defaults to stdout).
dump-target 'filename'
Set target stream for dumping.
dump-status
Dumps engine status - 'running', 'stopped', 'fin-
ished' or 'notready'.
dump-position
Dumps the global position. Printed in seconds using
a floating-point representation.
dump-length
Dumps the overall processing length. Printed in
seconds using a floating-point representation.
dump-cs-status
Dumps status string for the currently selected
chainsetup - 'connected', 'selected' or an empty
string.
dump-c-selected
Dumps the name of currently selected chain.
dump-aio-selected
Dumps label of currently selected audio object. If
no object is selected, dumps an empty string.
dump-aio-position
Dumps position of currently selected audio objects.
Printed in seconds, using a floating-point repre-
sentation.
dump-aio-length
Dumps length of currently selected audio object.
Printed in seconds, using a floating-point repre-
sentation.
dump-aio-open-state
Dumps audio object state info. Either 'open' or
'closed'.
dump-cop-value 'chainop,param'
Dumps chain operator parameter value. 'chainop' and
'param' are operator and parameter index values
(1...n).
--cut--
-- . http://www.eca.cx ... [ audio software for linux ] /\ . . http://www.eca.cx/sculpscape [ my armchair-tunes mp3/ra/wav ]-- To unsubscribe send message 'unsubscribe' in the body of the message to <ecasound-list-request@wakkanet.fi>.
This archive was generated by hypermail 2b28 : Thu Nov 02 2000 - 23:32:51 EET