С помощью следующего кода я пытаюсь отправить MIDI-событие на NSLog Synth:Нет звука с простой MIDI маршрутизации
MIDIClientRef midiClient = NULL;
MIDIClientCreate(
CFSTR("MidiClient"),
NULL,
NULL,
&midiClient
);
MIDIPortRef midiClientOutPort = NULL;
MIDIOutputPortCreate(
midiClient,
CFSTR("MidiClientPort"),
&midiClientOutPort
);
NSLog(@"%lu", MIDIGetNumberOfDestinations());
MIDIEndpointRef endpoint = NULL;
endpoint = MIDIGetDestination(1);
CFPropertyListRef plist = NULL;
MIDIObjectGetProperties(endpoint, &plist, YES);
NSArray *temp = [NSArray arrayWithObject:(__bridge id)(plist)];
NSLog(@"%@", [temp description]);
MIDIPacketList packet;
packet.numPackets = 1;
packet.packet[0].data[0] = 0x90;
packet.packet[0].data[1] = 0x3c;
packet.packet[0].data[2] = 0x40;
packet.packet[0].timeStamp = 0;
MIDISend(midiClientOutPort, endpoint, &packet);
Если я проверяю OSStatus я не получаю никаких ошибок. Я получаю MIDIClient, MIDIOutputPort и MIDISend тоже отлично. Кроме того, я получаю назначение synth без ошибок. Синтез прослушивает все midi-каналы, и если я тестирую синтезатор на синтезатор, он отвечает звуком. Выполняю код нажатием кнопки, но ничего не происходит.
Что я делаю, я неправ?