Re: [ecasound] using copp-set with controllers

From: Kai Vehmanen <kvehmanen@email-addr-hidden>
Date: Sat Mar 05 2005 - 06:51:08 EET

On Sun, 13 Feb 2005, Adam Linson wrote:

> I noticed that while running IA-mode, copp-set does not work when a
> controller is attached to the chain operator. while I can understand
> why that would be the case for oscillators, I can't see why it
> shouldn't work, for example, in the following scenarios:

This is true. Ecasound currently updates the controlled parameters at the
start of each engine cycle. So any value manually set by copp-set will be
overridden before any processing happens.

Changing this would be a rather big change in behaviour (could possibly
break existing sessions).

> 1) using a linear fade (-kl), say, to change from -ea:0 to -ea:100 in
> 5 seconds.* Now 30 seconds later, I want to manually change the
> amplification (with copp-set). This won't work.

True. The -kl won't release the parameter, but instead force it to 100 at
the start of each engine cycle.

> 2) I attach a MIDI-controller (-km) to an "-ea". Now I can only
> modify the cop with the MIDI-controller, not from the command line
> (with copp-set). Seems like this could be useful.

Same as for (1).


One possible way of changing this behaviour would be to apply controller
values only if they have changes since the last engine iteration (if -km
or -kl produces the same value in two successive rounds, parameter value
will be modified only on the first time). This would allow copp-set to
work in both (1) and (2) scenarios. But this requires more
consideration... there's a big risk of introducing new bugs with this

> And finally, I have a request which might be related to #2. When using
> -km, once the engine is started, the attached copp is set to the -km
> start-value. I was wondering if it would be possible to use the
> initial copp value as the "default" initial value (the -km start- and
> end-values would continue to function as upper and lower bounds). Here

Hmm, this could be solved by adding an extra parameter to -km which
sets the initial value (i.e. value of -km until the first MIDI-CC message
is received). Or: -km fetches the initial value from operator... this
is a bit tricky to achieve in the current implementation, but might be
more elegant.

> *(Related bug: with this example, the value never reaches 100, only
> 99.846 -- I think this might be a snapshot-related problem not present
> in earlier versions(?)).

With MIDI (7bit values) you always get some rounding errors. Support
for 14bit MIDI-CCs has been on the todo-list for quite a while...

 Audio software for Linux!
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
Ecasound-list mailing list
Received on Sat Mar 5 08:15:09 2005

This archive was generated by hypermail 2.1.8 : Sat Mar 05 2005 - 08:15:09 EET