Felipe Ferreri Tonello wrote:
> * We want to deliver these events *ASAP* to the application -
> scheduling adds latency, a lot;
> * Timestamps are in the past relative to the central.
> But I still need the timestamp information. Why? The spec doesn't
> explain, but it makes sense to believe it is used to have a predictable
> latency, so if the central device wants to layout these MIDI message,
> they little or no jitter in between.
MIDI is a real-time protocol, and the sequencer assumes that events are
delivered in real time.
If you want to minimize jitter, you have to impose a certain fixed
latency, and schedule all events that arrived too early.
If you want to minimize latency, you have to deliver the events
> Thus, to be MIDI compliant
Compliant with what? The MIDI specification does not say anything about
timestamps associated with events.
> we need to set this timestamp some how on the event. And I think the
> simplest way, is to use snd_seq_real_time_t on ev.time.time.
But nobody will read it. And without a queue, the timestamp does not
make sense. And applications that care about the time of received events
tell the sequencer to overwrite the timestamp with the actual delivery
Linux-audio-dev mailing list