Re: [ecasound] Help reading .ecs files

From: Kevin <kevschneb@email-addr-hidden>
Date: Fri Mar 16 2012 - 17:39:37 EET

Thanks for the quick response, Julien.

What's odd about the single quotes is it's behaving opposite of what one
might expect: Absence of the quotes gives the "AUDIOIO-SEQBASE: Could not
create child object" error, while adding the quotes in yields "Error
loading chainsetup: Audio object".

I thought I saw an Ecasound flag in the documentation that instructs
Ecasound to output the currently loaded chainsetup to a new .ecs file, but
I cannot seem to find where I read this now that I want to try it. I
thought since my chainsetup works at the command line I could feed it in
there, generate an .ecs from it, then try re-inputting the generated .ecs
and debug from there.

Regarding Windows; I just finished writing a partial Ecasound .NET wrapper
library so that I can build/modify chains with .NET objects. I was feeding
the output of this library directly to the command line until its generated
output exceeded the size limit for the command line, hence my desire to
conquer this .ecs stuff.

Finally, I simplified my example as suggested and ran it with -dd
debugging. Results are below.

Thanks again for the help!

Kevin

.ecs file:
============
-a:INPUT0 -i select,240,60,'F:\\Mixing\RAW\\Set_3\\SNARE___.WAV'
-chcopy:1,2
-a:INPUT1 -i select,240,60,'F:\\Mixing\RAW\\Set_3\\KICK____.WAV'
-chcopy:1,2
-a:INPUT0,INPUT1 -o F:\\Mixing\\TestOutput.wav
============

-dd output:
============
********************************************************************************
* ecasound v2.8.1 (C) 1997-2011 Kai Vehmanen and others
********************************************************************************
(eca-session) Set debug level to: 319
(eca-resources) WARNING: Global resource file
"/usr/local/share/ecasound/ecasoundrc" not available! Ecasound may not
function properly!
(audioio-db-server) constructor
(eca-resources) WARNING: Global resource file
"/usr/local/share/ecasound/ecasoundrc" not available! Ecasound may not
function properly!
(eca-chainsetup) WARNING: Unable to read global resources. May result in
incorrect behaviour.
(eca-chainsetup) Using hardcoded defaults for "default-audio-format".
(eca-chainsetup-parser) Interpreting object option "-f:s16_le,2,44100,i".
(eca-chainsetup-parser) Changed active format to
(bits/channels/srate/interleave): s16_le/2/44100/i
(eca-chainsetup) sample rate change, chainsetup to rate 44100.
(eca-chainsetup) Using hardcoded defaults for "default-mix-mode".
(eca-chainsetup-parser) Interpreting object option "-z:mixmode,avg".
(eca-static-object-maps) register_chain_operator_objects()
(eca-static-object-maps) register_controller_objects()
(eca-chainsetup) Using hardcoded defaults for "bmode-defaults-nonrt".
(eca-chainsetup) Using hardcoded defaults for "bmode-defaults-rt".
(eca-chainsetup) Using hardcoded defaults for "bmode-defaults-rtlowlatency".
(eca-chainsetup) Adding "-a:INPUT0" to options (loaded from
"F:\Mixing\test.ecs".
(eca-chainsetup) Adding "-i" to options (loaded from "F:\Mixing\test.ecs".
(eca-chainsetup) Adding "select,240,60,'F:\MixingRAW\Set_3\SNARE___.WAV'"
to options (loaded from "F:\Mixing\test.ecs".
(eca-chainsetup) Adding "-chcopy:1,2" to options (loaded from
"F:\Mixing\test.ecs".
(eca-chainsetup) Adding "-a:INPUT1" to options (loaded from
"F:\Mixing\test.ecs".
(eca-chainsetup) Adding "-i" to options (loaded from "F:\Mixing\test.ecs".
(eca-chainsetup) Adding "select,240,60,'F:\MixingRAW\Set_3\KICK____.WAV'"
to options (loaded from "F:\Mixing\test.ecs".
(eca-chainsetup) Adding "-chcopy:1,2" to options (loaded from
"F:\Mixing\test.ecs".
(eca-chainsetup) Adding "-a:INPUT0,INPUT1" to options (loaded from
"F:\Mixing\test.ecs".
(eca-chainsetup) Adding "-o" to options (loaded from "F:\Mixing\test.ecs".
(eca-chainsetup) Adding "F:\Mixing\TestOutput.wav" to options (loaded from
"F:\Mixing\test.ecs".
(eca-chainsetup-parser) Interpreting global option "-a:INPUT0".
(eca-chain) constructor: CHAIN
(eca-chainsetup) Chain "INPUT0" created.
(eca-chainsetup-parser) Selected chain ids: INPUT0
(eca-chainsetup-parser) Interpreting global option
"-i:select,240,60,'F:\MixingRAW\Set_3\SNARE___.WAV'".
(eca-chainsetup-parser) Interpreting global option "-chcopy:1,2".
(eca-chainsetup-parser) Interpreting global option "-a:INPUT1".
(eca-chain) constructor: CHAIN
(eca-chainsetup) Chain "INPUT1" created.
(eca-chainsetup-parser) Selected chain ids: INPUT1
(eca-chainsetup-parser) Interpreting global option
"-i:select,240,60,'F:\MixingRAW\Set_3\KICK____.WAV'".
(eca-chainsetup-parser) Interpreting global option "-chcopy:1,2".
(eca-chainsetup-parser) Interpreting global option "-a:INPUT0,INPUT1".
(eca-chainsetup-parser) Selected chain ids: INPUT0 INPUT1
(eca-chainsetup-parser) Interpreting global option
"-o:F:\Mixing\TestOutput.wav".
(eca-chainsetup-parser) Interpreting object option "-a:INPUT0".
(eca-chainsetup-parser) Selected chain ids: INPUT0
(eca-chainsetup-parser) Interpreting object option
"-i:select,240,60,'F:\MixingRAW\Set_3\SNARE___.WAV'".
(eca-static-object-maps) register_audio_io_rt_objects()
(eca-static-object-maps) register_audio_io_nonrt_objects()
(audioio-acseq) param list: acseqtype
(eca-object-factory) Object
"-i:select,240,60,'F:\MixingRAW\Set_3\SNARE___.WAV'" created, type "Audio
clip sequencer". Has 1 parameter(s) (variable: yes).
(audioio-acseq) param list: acseqtype
(audioio-acseq) set param 1 of "audiocseq" to "select"
(audioio) set param 1 of "select" to "select"
(audioio-acseq) set param 2 of "select" to "240"
(audioio) set param 2 of "select" to "240"
(audioio-acseq) set param 3 of "select" to "60"
(audioio) set param 3 of "select" to "60"
(audioio-acseq) set param 4 of "select" to
"'F:\MixingRAW\Set_3\SNARE___.WAV'"
(audioio) set param 4 of "select" to "'F:\MixingRAW\Set_3\SNARE___.WAV'"
(eca-chainsetup-parser) adding file "select".
(audioio) set srate, aobj "Audio clip sequencer:select" to 44100.
(audioio) set srate, aobj "Null audio object:uninitialized proxy child" to
44100.
(audioio) set srate, aobj "Null audio object:uninitialized proxy child" to
44100.
(audioio-db-client) DB-client created for select.
(audioio) set srate, aobj "DB => Audio clip sequencer:uninitialized" to
44100.
(audioio) set srate, aobj "Audio clip sequencer:select" to 44100.
(audioio) set srate, aobj "Null audio object:uninitialized proxy child" to
44100.
(audioio) set srate, aobj "Audio clip sequencer:select" to 44100.
(audioio) set srate, aobj "Null audio object:uninitialized proxy child" to
44100.
(audioio) set srate, aobj "Null audio object:uninitialized proxy child" to
44100.
(eca-chainsetup) Assigning file to chains: INPUT0
(eca-chainsetup-parser) Interpreting object option "-chcopy:1,2".
(eca-object-factory) Creating chain operator "Channel copy"
(eca-object-factory) Setting parameters: from-channel = 1.000, to-channel =
2.000
(eca-chainsetup) Adding chainop to chain INPUT0.
(audiofx) Setting samplerate to 44100 for object Channel copy. Old value
384000.
(eca-chainsetup-parser) Interpreting object option "-a:INPUT1".
(eca-chainsetup-parser) Selected chain ids: INPUT1
(eca-chainsetup-parser) Interpreting object option
"-i:select,240,60,'F:\MixingRAW\Set_3\KICK____.WAV'".
(audioio-acseq) param list: acseqtype
(eca-object-factory) Object
"-i:select,240,60,'F:\MixingRAW\Set_3\KICK____.WAV'" created, type "Audio
clip sequencer". Has 1 parameter(s) (variable: yes).
(audioio-acseq) param list: acseqtype
(audioio-acseq) set param 1 of "audiocseq" to "select"
(audioio) set param 1 of "select" to "select"
(audioio-acseq) set param 2 of "select" to "240"
(audioio) set param 2 of "select" to "240"
(audioio-acseq) set param 3 of "select" to "60"
(audioio) set param 3 of "select" to "60"
(audioio-acseq) set param 4 of "select" to
"'F:\MixingRAW\Set_3\KICK____.WAV'"
(audioio) set param 4 of "select" to "'F:\MixingRAW\Set_3\KICK____.WAV'"
(eca-chainsetup-parser) adding file "select".
(audioio) set srate, aobj "Audio clip sequencer:select" to 44100.
(audioio) set srate, aobj "Null audio object:uninitialized proxy child" to
44100.
(audioio) set srate, aobj "Null audio object:uninitialized proxy child" to
44100.
(audioio-db-client) DB-client created for select.
(audioio) set srate, aobj "DB => Audio clip sequencer:uninitialized" to
44100.
(audioio) set srate, aobj "Audio clip sequencer:select" to 44100.
(audioio) set srate, aobj "Null audio object:uninitialized proxy child" to
44100.
(audioio) set srate, aobj "Audio clip sequencer:select" to 44100.
(audioio) set srate, aobj "Null audio object:uninitialized proxy child" to
44100.
(audioio) set srate, aobj "Null audio object:uninitialized proxy child" to
44100.
(eca-chainsetup) Assigning file to chains: INPUT1
(eca-chainsetup-parser) Interpreting object option "-chcopy:1,2".
(eca-object-factory) Creating chain operator "Channel copy"
(eca-object-factory) Setting parameters: from-channel = 1.000, to-channel =
2.000
(eca-chainsetup) Adding chainop to chain INPUT1.
(audiofx) Setting samplerate to 44100 for object Channel copy. Old value
384000.
(eca-chainsetup-parser) Interpreting object option "-a:INPUT0,INPUT1".
(eca-chainsetup-parser) Selected chain ids: INPUT0 INPUT1
(eca-chainsetup-parser) Interpreting object option
"-o:F:\Mixing\TestOutput.wav".
(eca-object-factory) Object "-o:F:\Mixing\TestOutput.wav" created, type
"RIFF wave file". Has 2 parameter(s) (variable: no).
(eca-chainsetup-parser) adding file "F:\Mixing\TestOutput.wav".
(audioio) set srate, aobj "RIFF wave file:F:\Mixing\TestOutput.wav" to
44100.
(audioio-db-client) DB-client created for F:\Mixing\TestOutput.wav.
(audioio) set srate, aobj "DB => RIFF wave file:uninitialized" to 44100.
(audioio) set srate, aobj "RIFF wave file:F:\Mixing\TestOutput.wav" to
44100.
(audioio) set srate, aobj "RIFF wave file:F:\Mixing\TestOutput.wav" to
44100.
(eca-chainsetup) Assigning file to chains: INPUT0 INPUT1
(eca-chainsetup) Chainsetup "F:\Mixing\test.ecs" created (file:
F:\Mixing\test.ecs)
(eca-session) Session created
(eca-control) ECA_CONTROL constructor
(eca-session) Connecting chainsetup
(eca-chainsetup) bmode-selection case-5
(eca-chainsetup) "nonrt" buffering mode selected.
(eca-chainsetup) Set buffering parameters to:
--cut--
buffersize: 1024
raised_priority: 0
sched_priority: 50
double buffering: 0
double buffer size: 100000
max buffers: 1
--cut--
(eca-chainsetup) Memory unlocking not available.
(eca-chainsetup) Switching to direct mode.
(audioio-db-client) destructor select.
(audioio-db-server) unregister_client Audio clip sequencer.
(audioio-db-server) unregister_client failed (2)
(audioio-db-client) destructor select.
(audioio-db-server) unregister_client Audio clip sequencer.
(audioio-db-server) unregister_client failed (2)
(audioio-db-client) destructor F:\Mixing\TestOutput.wav.
(audioio-db-server) unregister_client RIFF wave file.
(audioio-db-server) unregister_client failed (2)
(audioio-acseq) get param 1 of "select": "1"
(audioio-acseq) Opening audio clip sequencer in mode: select
(audioio-acseq) get param 2 of "select": "2"
(audioio-acseq) get param 3 of "select": "3"
(audioio-acseq) get param 4 of "select": "4"
(eca-chainsetup) Connecting chainsetup failed, throwing an SETUP_ERROR
exception.
ERROR: Connecting chainsetup failed: "Enabling chainsetup:
AUDIOIO-SEQBASE: Could not create child object."
(eca-control) ECA_CONTROL destructor
(eca-session) ECA_SESSION destructor-in
(eca-chainsetup) ECA_CHAINSETUP destructor-in
(eca-chainsetup) Deleting chain "INPUT0".
(eca-chain) CHAIN destructor!
(eca-chainsetup) Deleting chain "INPUT1".
(eca-chain) CHAIN destructor!
(eca-chainsetup) Deleting audio object "select".
(eca-chainsetup) Deleting audio object "select".
(eca-chainsetup) Deleting audio object "F:\Mixing\TestOutput.wav".
(audioio-db-server) destructor
(audioio-db-server) destructor-out
(eca-chainsetup) ECA_CHAINSETUP destructor-out
(eca-session) ECA_SESSION destructor-out
============

On Fri, Mar 16, 2012 at 2:59 AM, Julien Claassen <julien@email-addr-hidden> wrote:

> Hi Kevin!
> I can see, why the second one might not have worked. It must have ignored
> those single quotes, that you missed in the example for the output file. So
> maybe it tried to look for some device type F.
> Otherwise I don't know, what can be wrong. You can compress this
> chainsetup, if you don't need something extra by removing the loop device:
> -a:all -o "F:\mixing\output.wav"
> I suppose you might want to run Ecasound with extra debugging output to
> help us along:
> ecasound -ddd -s:test.ecs
> You know, it's been ages, since I've seen anyone use Ecasound under
> windows. It's good to have you with us.
> Warm regards
> Julien
>
> =-=-=-=-=-=-=-=-=-=-=-=-
> Such Is Life: Very Intensely Adorable;
> Free And Jubilating Amazement Revels, Dancing On - FLOWERS!
>
> ====== Find my music at ======
> http://juliencoder.de/nama/**music.html<http://juliencoder.de/nama/music.html>
> ..............................**.......
> "If you live to be 100, I hope I live to be 100 minus 1 day,
> so I never have to live without you." (Winnie the Pooh)
>

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
http://p.sf.net/sfu/sfd2d-msazure

_______________________________________________
Ecasound-list mailing list
Ecasound-list@email-addr-hidden
https://lists.sourceforge.net/lists/listinfo/ecasound-list
Received on Fri Mar 16 20:15:02 2012

This archive was generated by hypermail 2.1.8 : Fri Mar 16 2012 - 20:15:02 EET