On Fri, 2004-01-16 at 19:05, Fons Adriaensen wrote:
On Fri, Jan 16, 2004 at 02:46:25PM -0500, Dave
Robillard wrote:
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.
Nor did I say so. To illustrate this point, let me mention the problem of a
voice controller (VC) in a polyphonic patch. How is the VC to know when a voice
has ended and can be re-allocated to a new note ? This requires some feedback
from (typically) the envelope generators. So either you make this explicit
(a solution I do not dislike, but definitely non-standard), or you use a hidden
data path, and in a modular system that means metadata.
Good example. I'll grind away at it in my head over the next few days
and see what happens. :) I'm thinking voice allocation could be handled
without really caring what each voice is actually doing at the moment
(it's like a scheduling problem really), but more on that later.
OK, that maps to the requirement that almost
everything that has a slider
must also be 'voltage-controlled'.
suppose, yes. Is this a problem? The
added flexibility would be huge.
Depends on how it's done. If a slider corresponds to a control input, then
one would expect the slider to follow the control voltage if it is connected.
That could mean a *lot* of CPU load if you have hundreds of sliders dancing the
night away. Two solutions: 1. Add the control voltage to the slider value
instead of replacing it, but not all parameters can be 'added' in a way that
makes sense, or 2. eliminate the slider and all other widgets, and turn
each of them into a separate module that can optionally be created and
connected to the control input. That means a completely different GUI concept.
Oh yeah, the sliders still responding to input is definately not what I
was thinking. It's an 'or' thing.. slider _or_ control port. SSM does
this kinda thing come to think of it, if you plug into the port (all are
there by default), the control disappears.
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)
What I wanted to point out here (whithout being pedantic :-) is the following:
MIDI input is looked at once for each process cycle, so everything that happened
during the previous cycle is 'dead on simultaneous' as far as AMS is concerned.
And since AMS surely can hande more than one note-on per cycle, you could be
right in suggesting that this one will be fun to root out...
Oh yay. well, I guess no more discussion about this one is possible
without a test/case and/or looking at the code.