On Tuesday 21 January 2003 17.59, Steve Harris wrote:
On Tue, Jan 21, 2003 at 05:20:56 +0100, David Olofson
wrote:
Note that while this fixes the broken 0 duration
case, it also
has the side effect that RAMP(value, 0) becomes equivalent to
SET(value). So, you don't really need to use the SET event
explicitly at all.
Not quite, RAMP(new_val, 0) says that delta_val = val - new_val,
whereas SET(new_val) says that delta_val = 0, val = new_val. Not
really the same.
Right; that's the minimal implementation. I was commenting on the
fall-through case variant I posted.
It also gives the possibility of controls that dont
accept RAMPs,
though that may or may not be a good idea.
Well, having totally incompatible semantics for ramped and non-ramped
controls means they have to be entirely different control types. You
wouldn't be able to connect a ramped float32 output to a non-ramped
float32 input or vice versa, without a converter in between.
It seems to me that if requiring that there is a SET event, or that
RAMP(value, 0) performs the SET action, is all we need, that's a much
smoother solution. We don't have to *deliberately* make hosting hard,
even if it "only" impacts host authors.
//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 -'
---
http://olofson.net ---
http://www.reologica.se ---