On Thu, 2004-01-15 at 07:32, Alfons Adriaensen wrote:
  On Wed, Jan 14, 2004 at 06:13:29PM -0500, Dave
Robillard wrote:
  Why does the plugin care?  Granted, some
resources could be saved having
 a mechanism for the plugins to know they're polyphonic; but I don't
 think it's that critical.  That seems like an optimization detail to me;
 I can't think of a reason polyphony couldn't be properly handled by the
 host (like I said before, AMS /already does this/)! 
  Agreed, would be nice.  But still just an
optimization detail.  Unless
 everyone is willing to start drafting LADSPA v2, it's not really worth
 talking about.  And somehow I doubt LADSPA is gonna be changed anytime
 soon (although these problems/improvements would benefit everyone, not
 just a modular synth.... think post processing effects, lots of multiple
 plugins running there). 
 Well, let me make one thing very clear. For me, optimization is *not* a
 detail nor something that should be ignored during analysis and taken
 care of later. By then it's probably too late. When I design or analyse
 anything that's not trivial, efficient implementation is as much a point
 to be considered as are functionality and abstraction. I've seen too many
 good applications being crippled during their entire lifetime by early
 design decisions that ignored this. 
I agree.. I just said that because it was said using LADSPA is
impossible for these reasons.. well, it's not impossible.  Just missing
some optimizations.
The point is those optimizations can (and hopefully will) be grafted
onto LADSPA in a way that doesn't change things much.  The discussion
shouldn't be "these optimizations are missing so LADSPA isn't usable",
it should be "we're missing these needed features in LADSPA, so lets fix
that problem".
   I don't
think this is necessary, and just adds uneeded complexity
 (especially to plugins, which is a Bad Thing(TM)).  I'm not familiar
 with the internals of ams all that well yet, but is this really the only
 way to accomplish these things?  
 The metadata I'll use is transparent for the user, it's related only
 to implementation. 
 
I'll just assume you have your reasons.  But just because AMS is going
to have metadata doesn't mean some modular synth can't use LADSPA
without doing so.
   Once you start
doing anything remotely complicated, LADCCA just becomes
 necessary.  With this track I've been fiddling with lately it literally
 takes 5-10 minutes just to get the environment properly set up.
 Obviously this is a pretty big problem.  It's getting better though. 
 I'll keep that in mind. One remark though: I will be happy to support any
 session management system as long as it is general and uses only standard
 interfaces. If it requires a particular window manager, desktop or toolset
 for example, it will not be supported. 
 
I suggest looking into LADCCA if you don't know what it is.. it's really
cool, and IMO the next Really Important Thing for linux audio.
    What sort of 'ports' would that be (except for
MIDI, but this is already
 possible) ? But maybe I don't understand exactly what you mean. 
 I mean ports on the plugins.. take the LFO plugin for a simple example..
 right now, the frequency is a control in the GUI (right click, open the
 GUI, and you'll get a slider).  It would be nice to have the option of
 making it a port, so some other part of the synth could plug into it and
 control the frequency of the LFO.  So you could, say, make higher notes
 have a faster vibrato or whatever.  (Okay, not the best example, but you
 get what I mean). 
 
 OK, that maps to the requirement that almost everything that has a slider
 must also be 'voltage-controlled'. 
 
I suppose, yes.  Is this a problem?  The added flexibility would be
huge.
   No, it was
connected.  The synth works fine in all aspect, except when
 notes are _dead on_ simultaneous.  I assumed this was because the
 developers don't have a real MIDI controller and never ran into this
 problem. (vkeybd probably has sufficient delay between "simultaneous"
 notes to avoid the problem)
 I'll put something together with a .mid file to show it. 
 Strange. I'm using AMS in poly mode with a real MIDI controller almost
 daily. I'm sure J.S. Bach would complain if some of his notes fall out :-).
 Anyway there's no such thing as "dead on simultaneous' as MIDI is a serial
 protocol. And even if you play a MIDI file, chords will be serialised at
 the ALSA port. Waiting for your example. 
 
Pedant. :)  That's odd.. I'll put one together early next week and look
into it - no other synth prog I have has the problem, so it's not my
system configuration.  I have a feeling this one isn't going to be fun
to root out. (I'll take this to the ams list)