[alsa-devel] incoming sequencer event timestamping (via a running queue): how?
R. Dresens
chromisx at nedlinux.nl
Mon Apr 11 20:01:39 CEST 2011
Hello,
I'm attempting to write a program that lets me record (and play)
MIDI sequences,
I have created a sequencer queue (with `snd_seq_alloc_queue`), and
when I set it up and let it run I can observe that the tick value
properly increases (with `snd_seq_queue_status_get_tick_time`);
everything runs fine. Queing events to an output work as well.
But is it somehow possible to bind "incoming events" to this queue as
well? (...in such a way that the `event->time.tick` value of these
incoming events is used to automatically store the queue timer value
at reception? ...)
At this moment, I just sample the tick value manually when I get an
event. That kinda works, but chances are high that the kernel
sequencer system can do that for me with more accuracy?
I wrote a function that essentially reconnects the inputs of the port
used for reception just before the queue is started. This allows me
to set the queue explicitly. I also enable
`snd_seq_port_subscribe_set_time_update`. It doesnt't work (yet).
Should this work? Am I on the right track? Or am I missing something?
Can anyone give me a hint?
Thanks!
Greetings,
Raymond.
More information about the Alsa-devel
mailing list