Возможно, в действительности это невозможно, что было бы неудачно. Я пытаюсь вызвать CoreMIDI API для настройки MIDI-входа. Это то, что я пытаюсь сделать в Swift:
var midiClient = MIDIClientRef()
var inputPort = MIDIEndpointRef()
var status: OSStatus
func readProc(packetList: UnsafePointer<MIDIPacketList>, readProcRefCon: UnsafeMutablePointer<Void>, srcConnRefCon: UnsafeMutablePointer<Void>) -> Void {
}
status = MIDIClientCreate("MIDI client", nil, nil, &midiClient);
status = MIDIDestinationCreate(midiClient, "MIDI input", readProc, nil, &inputPort);
Но я получаю эту ошибку: '(UnsafePointer, UnsafeMutablePointer, UnsafeMutablePointer) → Void' не конвертируется в 'MIDIReadProc'
MIDIReadProc typedef выглядит следующим образом:
typealias MIDIReadProc = CFunctionPointer<((UnsafePointer<MIDIPacketList>, UnsafeMutablePointer<Void>, UnsafeMutablePointer<Void>) -> Void)>
Есть ли способ получить указатель на функцию моего метода readProc для API MIDIDestinationCreate?