On 5/22/06, Joel Roth <joelz@xxxxxxxxx> wrote:
On Mon, May 22, 2006 at 10:34:52PM -0400, Paul Coccoli wrote: > How do you add a second chain in ecasound in interactive mode? I can > create one chain that reads a file for input and outputs to jack, but > if I try to add another chain I get the following: > [trials and errors snipped] > Hmm. If a chain MUST have one valid input and output, but inputs and > outputs need to be connected to a chain, THEN ITS A PARADOX AND MY > HEAD EXPLODES! > > Seriously, I'm tryin the most basic thing in the world and I can't do > it. Maybe it's just too late at night... I sympathize. You are not alone! Troubles of this nature are what prompted me to write a front end to Ecasound. There are now three GUI Ecasound interfaces: Tkeca, Visecas and Ecmd, and three scripting interfaces: Audio::Ecasound (perl), pyecas (python) and an elisp interface for Emacs.
I'm kicking around some ideas for yet another frontend, since none them seem to do what I want. I'm not sure if ecasound is the right backend, though.
To address your question... I can't say what is wrong with what you tried, but the following is somewhat similar, and generates a valid chain setup: ecasound ('h' for help)> cs-add twochain - [ Chainsetup created (empty) ] ----------------------------------------------- (eca-control-objects) Added a new chainsetup with name "twochain". ecasound ('h' for help)> c-add t1,t2 (eca-control-objects) Added chains: t1, t2. ecasound ('h' for help)> c-select t1 ecasound ('h' for help)> ai-add jack,auto (eca-control-objects) Added audio input "jack,auto". ecasound ('h' for help)> ao-add jack,auto (eca-control-objects) Added audio output "jack,auto". ecasound ('h' for help)> c-select t2 ecasound ('h' for help)> ai-add jack,auto (eca-control-objects) Added audio input "jack,auto". ecasound ('h' for help)> ao-add jack,auto (eca-control-objects) Added audio output "jack,auto". ecasound ('h' for help)> cs-is-valid 1 ecasound ('h' for help)> fs ### Audio input/output status (chainsetup 'twochain') ### Input (1): "jack" - [JACK interface] -> connected to chains "t1": realtime-device; position 0, delay 0. -> closed, s16_le/2ch/44100Hz, buffer 1024. Input (2): "jack" - [JACK interface] [selected] -> connected to chains "t2": realtime-device; position 0, delay 0. -> closed, s16_le/2ch/44100Hz, buffer 1024. Output (1): "jack" - [JACK interface] -> connected to chains "t1": realtime-device; position 0, delay 0. -> closed, s16_le/2ch/44100Hz, buffer 1024. Output (2): "jack" - [JACK interface] [selected] -> connected to chains "t2": realtime-device; position 0, delay 0. -> closed, s16_le/2ch/44100Hz, buffer 1024.
Yup, that seems to work. Still not sure what I was doing wrong, but that's ok for now. Thanks!
Regards, Joel > paul -- Joel Roth