> I find that for sending MIDI to an external device, "resolution = RTC > Hz" works very well. It is a problem that a realtime audio thread > 'suffocates' a RTC thread if low-latency is required, and only one > processor available. It's very hard to find a clean solution in this > case, but firm timers obviously do not address this particular > problem.
User space MIDI scheduling should run at high rt priority. If scheduling MIDI events is not done at a higher priority than the audio processing then it will in general suffer jitter at the size of the audio interrupt period. Using the RTC is not necessary when using firm-timers. Also, when doing hard real-time audio/MIDI, it is not possible to use more than about 70% of the available CPU time and still get reliable results. Would a library for requesting the preferred scheduling policy and priority for a certain task be a good idea to improve cooperation between applications? --martijn