On Thu, Dec 06, 2001 at 10:50:32AM -0500, Paul Davis wrote: > > OK, this is a good general point. However, for scalar values, the > problem is simply solved on the plugin side: cache the value of the > port at the start of run(). For array values, this could be very > wasteful. Requiring that port updates be synchronous with run()
Granted, but actually you generally need to do some processing on the port values in order to make the loop maths faster, so you might need two sets anyway. Also it isn't guranteed that some of the values being out of sync is a diaster. Whats more of an issue is being able to tell wether the data has changed sine the last run() call without scanning it and checksumming or something. > imposes a considerable burden on the host. Ardour would have a hard > time doing this, for example. OK, I assumed that that was happening allready to "remain [at] this value for its duration", but now I realise I misunderstood that part. > So its not clear what to do about that. I know that when I wrote that > line or edited it from Richard's original, my mental model was like > that of the typical csound opcode: Gotcha, that is actually what I'm doing (most of the time) to avoid dereferencing the plugins data struct every time; > >I think I prefer a system where DSP parts are GUI agnostic, and the GUIs > >live in thier own directory and can be asked what plugin(s) they support. > > OK, I agree with that. In which case, no change to LADSPA would be > needed at all ... Sounds good. > >OTOH the concept of a preferred/recommended gui could be useful. > > ... except to support this. OTOH, i don't see this as so useful. the Agreed. > >I would like to bring up the idea of port default values again too. > > OK, this is the proposed addition: Looks good. > >Per-plugin versioning could be worth considering too. > > why would you put v1.0 and v2.0 plugs in the same file? Ah, I was thinking of plugin interface version not LADSPA version, ie. harmonicGen(1220) v1.23. I was thinking of GUI's and presets wanting to know if they were talking to a version of the plugin they knew and that it had the ports they were expecting. I've been changing the port ordering and adding and removing ones in different releases. It wasn't clear to me whether this was allowed without changing the id, but I did it anyway ;) - Steve
