On Sun, 11 Mar 2012, Clemens Ladisch wrote:
I'd suggest to use one queue for both kinds of events, and to add the delay to the scheduled time. To remove certain events, use snd_seq_remove_events().
Hm, I am thinking about how to make use of snd_seq_remove_events in my application. It's sad that I cannot find out what events I have actually removed. It would be bad if e.g. a NoteOff gets lost and thus a tone is played forever. It would be great if I could find out pending events in the queue (in the kernel space). Then I could fetch them and re-send them immediately, when the user stops my sequencer. Unfortunately snd_seq_extract_output only fetches events from the user buffer. Is there a snd_seq_extract_output for drained messages?
Regards, Henning