Tim Goetze wrote on Mon, 08-Mar-2004:
ok, suppose we say only MOMENTARY, and one-shot
triggering is always
rising edge. now we have another problem: Taybin is pretty adamant in
requiring MOMENTARY to imply TOGGLED. this means we'll always need
another port to transmit the velocity value for note-on and similar
events. fine, no problem? apart from this meaning a waste of
resources, how do we transmit two such impulses in successive run()
calls? simply split the run() call in two? at what a waste of
resources do we arrive then, for the doubtful pleasure of having
a 'simple' model. beats the intention of simplicity if you ask me.
The problem with an arbitrarily valued MOMENTARY/TRIGGER port
is specifying the trigger "low" value. Is it 0.0? Is it anything
out of the hinted range of the port?
BTW, this is exactly why no generic host can use the sooperlooper
plugin... i had to treat one control port as effectively MOMENTARY
and arbitrary valued. It expected the host to take the port out
of range for a run() cycle before being able to retrigger. The trigger
resolution is limited to 2 run() boundaries, and that problem can only be remedied
by either splitting the run() or using an audio rate control port. But SL shouldn't
really be a ladspa plugin anyway.... someday soon it will be a
standalone jack client.
jlc