【发布时间】:2016-01-30 18:38:58
【问题描述】:
我在 OSX/Darwin 中有以下程序结构:
生产者线程生成数据并将其提供给循环缓冲区。
消费者实时CoreAudio线程将数据从循环缓冲区渲染到DAC。
它们通过 dispatch_semaphores 进行协调。
生产者线程参数可以通过 GUI 控制(GLUT,非 Cocoa) 或通过 MIDI。
就从 GUI 控制生产者而言,一切都很好。
但是,midiReadProc( ) 回调“存在”在自己的实时线程中,生产者线程从该线程 既不应该被控制也不应该被通知,但是 MIDI 数据应该以某种方式传递给主线程, 生产者线程应该从中排队和更新。
有没有什么方法可以做到这一点,而不是太特定于 OSX?
提前致谢。
【问题讨论】:
标签: macos core-audio coremidi