| I'm quite keen to see (in addition to realtime MIDI handling and saving) the
opportunity to run the non-continuous MIDI events from a MIDI sequence
(maybe after conversion to a score) in non-realtime so that I can work with
standard score pfields: ie. so that the note durations are already known to
the instrument, so to speak.
ie.
channel number may be assigned to the p1
note on - p2, note off p3
everything else definable eg. velocity to p4 etc.
This may seem like some sort of step backwards but it would be useful if you
want to get absolute control over pvoc timepoints etc. over the p3 duration.
From: Michael Gogins
Subject: Re: sequencer
> MIDI note offs are not difficult to handle if you use a push-down stack of
> running instrument instances for each MIDI channel/MIDI key slot. Note on
> messages push an instrument instance onto the stack, and note off messages
> pop an instrument instance off the stack. This is not perfect, but it
works
> well enough.
>
> In my view, the MIDI opcodes of Csound should be supplemented by an option
> to translate MIDI channel messages into score events and do the
> pushing/popping to handle note on/note off. Then people could develop,
> debug, and maintain one single instrument definition that would work for
> both realtime and nonrealtime synthesis.
>
> In this option, note on events would create instrument instances with
> negative p3, and note off events would pop an instance and set its p3 to
the
> positive value of the current elapsed instrument time. When used with
> timout, I believe this would enable an instrument to trap the note off and
> extend p3 again, or invoke ihold, to perform a decay before actually
turning
> itself off. This would work for both score events and MIDI events.
>
|