我正嘗試使用audiokit從Mac上的應用程序中的硬件合成器接收syses訊息。這些合成的消息是建立11個數字,例如:Audiokit似乎只接收前三個sysex MIDI訊息
240,00,32,51,01,16,112,00,40,95,247
audiokit目前發佈的版本會盡快收到此消息崩潰,但我發現,目前發展領域已固定的。 我的意思是,它也崩潰了,但在另一行號;)在AKMIDIEvent.swift :
line 143: computedLength += 1 << Thread 8: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
我已經能夠修復與加
if (computedLength == 255){
break
}
之前線143,但我擔心這個解決方案說我的低/簡單編碼水平比其他任何更多 當我打印127行的init函數接收到的packet.data時,它顯示:
(240, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0)
只有前3個數字是正確的,其餘的都沒有了,所有零都在那裏。 在Cubase中,我可以看到整個消息已發送,但不知何故,在audiokit中,大部分消息都已丟失。
是否有人能夠對此發光? 是或不是audiokit旨在解析這種類型的syses消息?
在此先感謝!
在我看來,audiokit正在削減每個3比特的4個較小的消息中的syses消息。只有第一條消息以240開始,並被識別爲syses消息。其他部分根本不承認任何東西,並且丟失。 –