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 ---
