1
我試圖分析收到的MIDI值,並顯示在下面的格式:CoreMidi解析MIDI樂曲位置
條:節拍:師:蜱
我有以下代碼:
unsigned short CombineBytes(unsigned char First, unsigned char Second)
{
unsigned short _14bit;
_14bit = (unsigned short)Second;
_14bit<<=7;
_14bit|=(unsigned short)First;
return(_14bit);
}
-(void) midiSource:(PGMidiSource *)input midiReceived:(const MIDIPacketList *)packetList{
const MIDIPacket *packet = &packetList->packet[0];
for (int i = 0; i < packetList->numPackets; ++i)
{
Byte statusByte = packet->data[0];
Byte status = statusByte >= 0xf0 ? statusByte : statusByte >> 4 << 4;
if (status == 0xF2){
NSLog(@"%i", CombineBytes(packet->data[1], packet->data[2]));
}
}
}
基本上當邏輯Pro或Ableton現場發送樂曲位置信號,我收到值像404,405等...
例如:404 = 026:02:01 凡02 6 =酒吧,02 =節拍,01 - 分區。這部分對我來說很清楚...
但是如何獲得門票?這是問題,這可能是我不明白的。或者爲此應該是不同的midi信號。但是我看着Midi Monitor,我沒有看到其他東西。