Re: [ecasound] Ecasound and jack (and chains)

From: Kai Vehmanen <kvehmanen@email-addr-hidden>
Date: Thu Aug 19 2010 - 00:08:45 EEST


On Wed, 18 Aug 2010, Philipp √úberbacher wrote:

>> The only mechanism that comes close are the gates (-gc and -ge), but these
>> are not directly usable in this case. Maybe a trivial boolean gate
>> (-gb) would do the job (e.g. gate has one on/off parameter which can be
> Ah, I didn't think of that possibility (haven't looked at chain
> operators yet). "When closed, passing audio buffers are trucated to
> zero length." I would have expected that to work differently too :)
> The problem is that -gc requires a length parameter?

Yep, that's why they are not useful for this purpose.

But no worry, I just implemented the manual gate (ended up choosing "-gm"
as the option name). Pushed to the public git tree as:

commit bb3ace21d96b54be4b4ef3daca38bf15c4d3bb26
Author: Kai Vehmanen <kvehmanen -at- eca -dot- cx>
Date: Wed Aug 18 23:42:07 2010 +0300

     Implement Manual Gate (-gm)

     Adds MANUAL_GATE class and registers it as '-gm' to the static
     object maps. Manual gate is a simple gate object that changes
     its gate state only via explicit parameter change.

     Documentation added to ecasound(1) man page.

And the manpage entry:
Manual gate. If 'state' is 1, gate is open and all samples are
passed through. If 'state' is zero, gate is closed an no samples are
let through. This chain operator is useful when writing to an output
needs to be stopped dynamically (without stopping the whole engine).

So with this you can add a "-gm:1" to chains, and then control the gate
via 'cop-set' et al during processing without having to stop the engine or
disconnect the chains. Not sure if this still solves your original
problem, but I think this is a good addition to the toolbox anyways. This
will be in 2.7.2 when it gets out.

This email is sponsored by

Make an app they can't live without
Enter the BlackBerry Developer Challenge

Ecasound-list mailing list
Received on Thu Aug 19 00:15:02 2010

This archive was generated by hypermail 2.1.8 : Thu Aug 19 2010 - 00:15:02 EEST