Audiokit似乎只接收前三个sysex MIDI讯息
问题描述:
我正尝试使用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正在削减我的11位syses消息每个3位的4个较小的消息。只有第一条消息以240开始,并被识别为syses消息。
以下3部分根本不被识别为任何东西,并且丢失。
第一条消息会让Audiokit崩溃,因为它不包含必要的结束数字(247)。
试图改变这种行为,但没有运气。 Audiokit是一个非常好的工作和平,但可惜我的项目不是这样。
在我看来,audiokit正在削减每个3比特的4个较小的消息中的syses消息。只有第一条消息以240开始,并被识别为syses消息。其他部分根本不承认任何东西,并且丢失。 –