On Wednesday 15 January 2003 14.46, Steve Harris wrote:
[...]
Starting a new note on a VVID when a previous note is
still in
the release phase would cause a glisando, while if the VVID has
no playing voice, one would be activated and started as needed
to play a new note. The sender can't reliably know which action
will be taken for each new note, so it really *has* to be left
to the synth to decide. And for this, the lifetime of
VVIDs/contexts need to span zero or more notes, with no upper
limit.
I don't follow you at all - a new note is a new note. If your
instrument has a glissando control, use it. It does the right
thing. Each new note gets a new VVID.
I agree with Tim about this.
What I'm not getting is how this is supposed to work with polyphonic
synths. Or isn't it, just because it doesn't really work with MIDI
synths...?
Anyway, another example: It's rather common for mono synths to just
retrig the envelope when a new note is starting before the current
note has ended. Polyphonic synths often do this on a per-key basis,
but due to the restrictions of MIDI, they obviously cannot take it
further than that.
Why enforce that notes on polyphonic synths are completely unrelated,
when they're not on monophonic synths, and don't have to be on
polyphonic synths either? The *only* reason why MIDI can't do this is
that it abuses note pitch for VVID, and we don't have that
restriction - unless we for some reason decide it's just not allowed
to make use of this fact.
Stop button is
different than not sending a note-off. Stop
should automatically send a note-off to any VVIDs. Or perhaps
more accurately, it should send a stop-all sound event.
Yes, I think you want all sound generating things to shut up if you
send stop all, not just note based things.
That depends on what kind of setup you have. If you're running
monitor sound through the software, stopping all effects means all
monitor sound dies when you stop the sequencer. This applies whether
you're monitoring external audio or output from synths, and it just
doesn't seem logical to me. Stopping the sequencer is in no way
equivalent to killing the whole net, IMNSHO, and whether or not some
hosts will still do this, the API should definitely not enforce it.
There should obviously be some sort of "panic button" feature *as
well*, but I don't see why it makes any sense to hardwire it from the
sequencer "stop button". "All Notes Off", "Stop All Sound"
and the
like are emergency features that are not used normally.
//David Olofson - Programmer, Composer, Open Source Advocate
.- The Return of Audiality! --------------------------------.
| Free/Open Source Audio Engine for use in Games or Studio. |
| RT and off-line synth. Scripting. Sample accurate timing. |
`--------------------------->
http://olofson.net/audiality -'
---
http://olofson.net ---
http://www.reologica.se ---