最好的策略从MIDIReadProc处理传入的MIDI信号,可可(Best strategy to

2019-09-24 05:37发布

我不得不将一些NSSlider通过硬件的MIDI控制器,我已编辑的MIDI学习过程来分配硬件光标NSSlider (子类),并在那里它的一切权利。 里面MIDIReadProc ,我处理移动NSSlider至极从传入的控制和值依赖,但现在当我移动硬件光标,滑块可以移动一个时间,它就像移动光标停止等。

我的问题是,什么是处理光标兼移动最好的策略? 1。 我应该有一个独立的线程来处理? 2。 我应该有一个FIFO的数据结构MIDIPacket和处理了这一点的MIDIReadProc (有一些并发分离过程)?

我很抱歉,我的英语。 感谢您的关注。

一种。

Answer 1:

你不应该做内部的任何UI同步MIDIReadProc回调。

这个回调是从一个高优先级实时线程调用,所以你必须避免做任何可能是“太长”在里面。

至于你说的,你可以使用FIFO和治疗,在另一个线程(比如主线程)。



Answer 2:

我发现了一个解决方案,要更新“NSSlider”,移动滑块更新代码在KVO路径和使用后台过程中分离的线程来更新滑块UI和值。 后,我已分离UI控制与来自分配而不与使用“的NSMutableDictionary”与MIDI控制等于关键值来识别“NSSlider”在MIDIReadProc更快。

感谢您的关注。



文章来源: Best strategy to handle incoming midi signal from MIDIReadProc in cocoa