On Sat, Feb 08, 2003 at 03:06:40 +0100, David Olofson wrote: > On Saturday 08 February 2003 02.17, Tim Hockin wrote: > [...] > > Assuming we really want to allow soft-limits (which I just don't > > get), we can just say that if you want a hardlimit, constrain it > > internally. > > Yeah. > > As to soft limits, I think the main point is to relieve the plugin > author of the task of figuring out the absolute minimum and maximum > control values that could possibly generate any interesting results, > so he/she doesn't have to release a modified plugin under a different > major version number later on, just to extent some control ranges. > > If you can't decide on the "useful" range, just throw something > reasonable into the range hints, and clamp to some bigger range that > you know is technically safe for the algorithm. If users want to look > for cool effects outside the "official" ranges, they can, and > although plugins might produce evil noises (which some actually might > find useful), they won't crash or anything like that.
This is exactly what I do in LADSPA and it works quite well. Many plugins make interesting noises if you give way out of range controls. > > I'm all for optimizations, but really, this is a MICRO MICRO MICRO > > MICRO optimization. SOMEONE SOMEWHERE is going to do a conditional > > and constrain. Be it the host or the plugin. > > Yes. The only exceptions would be when you have a hard limited output > that's within the range of a hard limited input, and when you have > prerecorded data. However, the latter case only applies if you assume > that recorded data will be destructively processed whenever you > connect something. *heh* Many controls dont need to be clamped at all, it might do something odd if you go outside the ranges, but it wont crash. - Steve