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)