On Sunday 08 December 2002 12.48, Steve Harris wrote:
[...getting control values...]
The problem is that the dsp code doesn't always
know the real value
of a controller: if its expensive to calcuate the coefficients you
normally just calcuate them once for every N samples then
interpolate the coefficients, which bear no simple relation to the
controller value.
Good point... However, if you're sending (or at least seeing) the
input events, why would you need to ask the plugin about anything?
Keep in mind that this is a totally separate issue from plugins that
actually *send* events. Those can do whatever they like internally -
but then this is also a non-issue, since those plugins will also
spontaneously generate ramp events properly.
If the host is marshaling the events then it should
know what the
last controller value it sent to the instrument was.
It could also figure out what the interpolated value should be at any
time - whatever use that would be, on this level.
OT: I think you do want to handle note_on as an event,
as you may
want to process it with an event processing only plugin, eg.
something to may midi style keyboard events to a gong striker (eg.
map pitch to position and keep velocity). Or even an arpegiator.
Why does that may any difference whatsoever? Event-only plugins can
understand controls just as well as synth plugins, right? When
velocity turns non-zero, you have a "note on". When it turns zero,
you have a "note off". You don't need a synth core to run as well to
keep track of that. :-)
//David Olofson - Programmer, Composer, Open Source Advocate
.- The Return of Audiality! --------------------------------.
| Free/Open Source Audio Engine for use in Games or Studio. |
| RT and off-line synth. Scripting. Sample accurate timing. |
`--------------------------->
http://olofson.net/audiality -'
.- M A I A -------------------------------------------------.
| The Multimedia Application Integration Architecture |
`---------------------------->
http://www.linuxdj.com/maia -'
---
http://olofson.net ---
http://www.reologica.se ---