Я не очень хорошо знаком с Swift/Objective-C или средой Cocoa, и у меня возникли проблемы с отправкой или прослушиванием данных с USB-устройства с CoreMIDI. Я пытаюсь отправить сообщение (144, 36, 5) на мой MIDI-контроллер (Ableton Push), который я выполнил перед использованием API скриптов Bitwig Studio. Я не смог найти много на этом, кроме документов Apple, и они не были особенно полезны для меня. До сих пор я выяснил, как получить список устройств и проверить их имена, но помимо этого я застрял.Отправка и получение MIDI с помощью Swift и CoreMIDI
То, что я написал до сих пор пытаюсь отправить MIDI:
var pushDevice = MIDIGetDevice(2)
var secondEntity = MIDIDeviceGetEntity(pushDevice, 1)
var pushDestination = MIDIEntityGetDestination(secondEntity, 0)
var midiPort = MIDIPortRef()
let myData : [Byte] = [ Byte(144), Byte(36), Byte(5) ]
var packet = UnsafeMutablePointer<MIDIPacket>.alloc(1)
var pkList = UnsafeMutablePointer<MIDIPacketList>.alloc(1)
packet = MIDIPacketListInit(pkList)
packet = MIDIPacketListAdd(pkList, 1024, packet, 0, 3, myData)
MIDISend(midiPort, pushDestination, pkList)
Я чувствую себя немного лоха для не будучи в состоянии понять это, я полагаю, что это должно быть простым решением, которое По какой-то причине я просто не могу понять. Я не думаю, что я правильно создаю MIDIPacketList или MIDIPort, и я не знаю, как начать создание обратного вызова и прослушивание MIDI-сообщений.