2

我面临着非常困难的问题。

我的任务是模拟 Mackie Control Pro - 停止和播放按钮。

我知道 Note93 (A5) - 它是停止编码器。Note 94 (A5#) 这是播放编码器。基本上我发送 Note On 93, 127 velocity 然后 Note Off 93, 0 velocity 和 Logic 接收停止消息,但在此之后他发疯了,他在循环中发送许多 midi 消息(note on,off 93),当我点击播放,它变得更加疯狂。((((

我如何向网络会话发送消息:

触地

 UInt8 midiData[]  = { 0x90, 93, 127};
        [midi sendBytes:midiData size:sizeof(midiData)];

润色

UInt8 midiData[]  = { 0x80, 93, 0};
        [midi sendBytes:midiData size:sizeof(midiData)];

最有趣的是,当我在 ThumbJam 应用程序(适用于 iPad/iPhone)中播放非 A5、A5# 时,它运行良好。在 eyoControl 应用程序中也是如此,它可以工作。但是当我在 TouchOSC 或 TB MIDI Stuff 或 Midi Designer 中播放 A5、A5# 键时,Logic 再次进入循环。并且在所有应用程序中的 Midi Monitor 消息中都是相同的。疯狂...我无法理解这个((

有什么区别,所有连接和工作的应用程序似乎都通过 CoreMidi。ps 与 Ableton Live,原因一切正常。按钮工作。

4

1 回答 1

2

找到解决方案。应用程序应该以零速度发送音符,而不是发送音符关闭。

代替 {0x80, keynumber, 0} 使用 {0x90, keynumber, 0}

于 2012-08-28T00:18:13.380 回答