Subject: Re: [ecasound] ecasound syntax
From: Kai Vehmanen (email@example.com)
Date: Sun Jul 15 2001 - 17:44:45 EEST
On Fri, 13 Jul 2001, toby wrote:
> The way I understand it, the output file type
> is specified by the extension of the file name.
Yes, this mechanism has been used ever since ecasound was first released.
Relying on extensions is a bit limited, but until now, nobody has
complained about it. ;)
To be precise, ecasound doesn't actually rely on the filename extensions,
rather it uses a regular expression over the whole filename. You can see
the regexp list with "echo aio-register |ecasound -c". I get a total of 41
audio object types...
But I've had a few approaches to this problem on my todo list for quite a
while. For instance:
In the first two examples we use the old '-i' syntax. 'notype' (or
'explicit') is a special proxy file type that opens the filename given as
the 2nd parameter using the explicit object type (for instance .raw). A
bit clumsy notation-wise, but should work.
The '-I' syntax just skips the 'notype/explicit' part. Main problem with
this approach is handling the inverse procedure (for instance when we need
to save a live setup with 'cs-save') - it's somewhat difficult.
> If my take on the situation is correct, couldn't
> ecasound read the file type from the header, and
> could there not be a flag to specify file type as
Possible, but with some problems. Opening and closing a file for type
recognition can cause trouble (you're opening a pipe, etc). Second problem
is that I don't want the ecasound engine to know about details that are
specific to audio object types (for instance how to recognize a .mod
object handles by the MikMod class. This means I'd have to change the
audio object plugin API, and add the required code to all existing classes
(which are many).
-- http://www.eca.cx Audio software for Linux!
-- To unsubscribe send message 'unsubscribe' in the body of the message to <firstname.lastname@example.org>.
This archive was generated by hypermail 2b28 : Sun Jul 15 2001 - 17:44:51 EEST