2017-10-11 57 views
1

我正嘗試使用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消息?

在此先感謝!

+0

在我看來,audiokit正在削減每個3比特的4個較小的消息中的syses消息。只有第一條消息以240開始,並被識別爲syses消息。其他部分根本不承認任何東西,並且丟失。 –

回答

0

在我看來,audiokit正在削減我的11位syses消息每個3位的4個較小的消息。只有第一條消息以240開始,並被識別爲syses消息。

以下3部分根本不被識別爲任何東西,並且丟失。

第一條消息會讓Audiokit崩潰,因爲它不包含必要的結束數字(247)。

試圖改變這種行爲,但沒有運氣。 Audiokit是一個非常好的工作和平,但可惜我的項目不是這樣。

相關問題