On Tuesday 13 January 2004 01.09, Jeff McClintock wrote: > > > The first one is not rampable, it's freeing and allocating a > > > large chunk > > of > > > > memory every time it changes. > > Steve:> OK, so you can just ignore the ramp slopes and use the > point values - > > > I dont see the problem. > > I guess so...just seems weird to send a ramp to it. You could think of it as the ramp event not only describing the value, but also how to apply it, sort of. :-) The latter is more lightweight info, that you may or may not care about. > Tim:> So don't use a float value for it ;P > > Granted, I could specify delay as an integer in milliseconds, but > surely there are other 'float' parameters that aren't intended to > be ramped? Yes, and the delay effect is a pretty good example, IMHO. > > I think all parameters should be automatable, with some flagged > > as "unsafe for realtime". Maybe. > > I think we're saying the same thing. I said not "automatable", you > say not "realtime". > Neither is strictly true. And they are different things that may both be relevant... That said, I strongly dislike the idea of allowing actual non-RT controls, in the form that stall the audio thread. Those should be instantiation parameters or something, or preferably, the implementation should be fixed. (See below.) > My 'buffer-size' parameter can be > automated in realtime, the audio sometimes glitches as the buffer > is re-allocated, but you can do it. With a worker thread (or "worker callback"), you could avoid the glitches, at the cost of not being able to guarantee when (in audio time or actual time) the change will take effect. Basically, you tell the host to call your function from a suitable thread, and then you get a result event when the function returns. Meanwhile, keep doing something sensible. The easy way: Replacing objects rather than modifying them avoids interfering with process(). > We just need some hint that you (for example) don't connect that > parameter to the mod-wheel. Right. "Non-ramped" sort of suggests that, but maybe there should be another hint specifically for non-deterministic controls, such as reallocations and calculations done in a worker thread/callback. (In case I'm not making any sense - my eyelids keep falling down. I guess that means it's bed time... :-) //David Olofson - Programmer, Composer, Open Source Advocate .- Audiality -----------------------------------------------. | Free/Open Source audio engine for games and multimedia. | | MIDI, modular synthesis, real time effects, scripting,... | `-----------------------------------> http://audiality.org -' --- http://olofson.net --- http://www.reologica.se --- ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe