如何在没有轮询的情况下从ALSA MIDI队列中获取时间事件?

时间:2015-06-05 22:13:50

标签: midi libalsa

ALSA MIDI音序器API定义snd_seq_queue_status_get_tick_time,它允许获得正在运行的MIDI队列的当前基于速度的时间。

我可以定期轮询这些信息,但是觉得从队列接收时间事件会更清晰,无论是否基于速度,基于回调都会很好。

有没有办法通过ALSA音序器定期通知MIDI队列的时间事件,而不进行轮询?

- 编辑 -

当我说“轮询”时,我的意思是使用SIGALRM信号处理程序和一个足够小的分辨率(1/50秒)的计时器。

1 个答案:

答案 0 :(得分:1)

如果您希望在特定时间收到通知,请安排当时发送给您自己的活动。

例如,arecordmidi执行此操作以同步其节拍器模式的播放。