[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [AVT] new MWPP I-D ...
> -- An "immediate execution" option -- a way to send MIDI
> commands that truly have no timestamp, but instead have
> an "execute as soon as delivered" semantics relative to
> other timestampped commands. This is not possible to do by
> manipulating timestamps in a single MWPP stream, because
> timestamps must be monotonically increasing, in order to
> simplify life for the recovery journal system. The current
> solution is two synchronized streams, the normal stream and
> an "emergency" stream whose timestamps lag (Martijn Sipkema).
I've thought about this some more and perhaps it is better to handle this
using two streams. A typical sequencer application would use a 'scheduled'
stream for playback and an 'immediate' stream for MIDI through, both are
to be merged at the receiver.
There is, as far as I can see, only one problem with this approach. The
sender cannot know exactly how both streams are going to be merged. The
meaning of (N)RPN messages (and perhaps others?) may change when
interleaved.
As stated in C.4.1 of the current draft "Senders must partition
the name space so that the rendered MIDI performance does not contain
indefinite artifacts.". When using two streams for playback/through this is
generally not the case, but it doesn't really matter. A user will expect
problems
when playing (through) on a channel that is also used for playback. (N)RPN
changes should just work though.
A solution could be to always send complete (N)RPN changes, i.e. set
the current parameter and change it, and to make sure this sequence does
not get interleaved with other (N)RPN messages, or more general to have
the sender be able to mark a sequence as 'atomic' so it won't be interleaved
(except for MIDI realtime messages).
Or perhaps the receiver should handle merging (N)RPNs.
--martijn
_______________________________________________
Audio/Video Transport Working Group
avt@ietf.org
https://www1.ietf.org/mailman/listinfo/avt