Subject: Re: [ecasound] inputs in ecs, output on command line (was: .ecs file format)
From: Eric Dantan Rzewnicki (eric_AT_zhevny.com)
Date: Thu Dec 11 2003 - 04:16:54 EET
One way I've worked around this is to setup my .ecs to output to known
generic file names, i.e. mono_out.wav & stereo_out.wav. The script I use
to call "ecasound -s:mychainsetup.ecs" moves mono_out.wav &
stereo_out.wav to the file names I really want after the processing has
completed. In my case the final names are based on time-stamps generated
at the begininning of the script.
The other solution I plan to use once I've learned ecasound's control
interface via python is to do the session setup in a python script
instead of in a .ecs file. Essentially the eci let's you script an
ecasound interactive mode session (like having control of "ecasound -c"
from within your script). ECI is implemented in C, C++, python, perl,
php and maybe others. So if you know one of those languages that might
be an option for you.
Another possiblity I thought of was somehow creating a template for a
.ecs that a script could use to generate the particular .ecs needed,
write that out and then call ecasound with it.
just some ideas ... hope this helps.
Jan Stary wrote:
> using the chainsetup file, I can specify how to mix my tracks, where are the
> inputs, and where are the outputs. What I would like to do is to specify the
> inputs and the mixing options in ecs, and tell the output on a command line.
> Why? Because that command line can be called non-interactivelly, from
> a script, from a Makefile, and can use variables. So, for example
> ecasound $(ECAFLAGS) -s $(SONGNAME).ecs -a:all -o $(SONGNAME).wav
> Now, it does not seem to work. If the ecs file says:
> -a:0 -i:drums.wav -ea:100 -epp:30
> -a:1 -i:bass.wav -y:0.1 -ea:70 -erc:1,2 -epp:70
> -a:2 -i:guitar1.wav -ea:85 -erc:1,2 -epp:10
> -a:3 -i:guitar2.wav -ea:100 -erc:1,2 -epp:90
> then the above command results in all the inputs being attached,
> all the effecs applied correctly, but output goes to /dev/dsp,
> which is the default output, as if I did not specify -o ...
> Does this mean that if you feed ecasound with an ecs file, the
> remaining cmdline args are ignored? It seems.
> Of course, I can append the '-a:all -o filename.wav' to the ecs file,
> in which case everything works as expected. But for that, I nedd to know
> the NAME of the output file - which might not be known in advance
> (as in a generic Makefile, for example).
> I believe that when the ecs file reads
> -a:1 -i track1.wav
> -a:2 -i track2.wav
> then a commandline like
> $ ecasound -s file.ecs -a:all -o mixed.wav
> _should_ mix the two tracks into mixed.wav
> Or is it so that the '-a:all -o mixed.wav' is considered to
> belong to another chainsetup ('default'), and the
> 'one-chainsetup-at-a-time' rule applies?
> Thank you
> :> I can't find an explainantion of the format for .ecs
> :Yep, .ecs should be documented better. In any case the format is quite
> :straightforward as .ecs files are parsed with the same parser as are
> :command-line options. So shortly put: .ecs file is a sequence of
> :command-line options. Like when parsing command-line args, order does
> To unsubscribe send message 'unsubscribe' in the body of the
> message to <ecasound-list-request_AT_wakkanet.fi>.
This archive was generated by hypermail 2b28 : Thu Dec 11 2003 - 04:12:04 EET