Я немного поиграю с CoreMIDI в Swift на OSX и получил большинство из них для правильной работы.Приложение CoreMIDI не отображается в другом программном обеспечении
Единственная проблема, с которой я сталкиваюсь сейчас, это то, что мое приложение не видно другим программным обеспечением и приложениями и доступным вводом/выводом. Это имеет место в приложениях GarageBand, MIDIMonitor и VVMidi.
Я попробовал несколько вещей, в том числе и это, которое, кажется, правильный подход:
let clientCreateResult = MIDIClientCreate("MIDIApp", { (notification, _) -> Void in
print("Configuration Changed")
}, nil, &midiClient)
if (clientCreateResult != noErr) {
printError(clientCreateResult)
return;
}
let inputCreateResult = MIDIInputPortCreateWithBlock(midiClient, "MIDIApp In", &inputPort, MyMIDIReadBlock)
if (inputCreateResult != noErr) {
printError(inputCreateResult)
return;
}
let outputCreateResult = MIDIOutputPortCreate(midiClient, "MIDIAPP Out", &outputPort)
if (outputCreateResult != noErr) {
printError(inputCreateResult)
return;
}
К сожалению не повезло. Я не уверен, что я делаю неправильно, я попытался воспроизвести тот же самый код, что и существующие фреймворки, без значительного результата.
Я мог бы действительно использовать некоторые указатели относительно того, почему мое приложение не указано в других.
Спасибо!
Это делает ваше приложение отображаемым в качестве входа в других приложениях. Используйте 'MIDISourceCreate', если вы хотите, чтобы ваше приложение также было выходом, к которому могут подключаться другие приложения. [Подробнее об этом ответе.] (Http://stackoverflow.com/questions/10572747/why-doesnt-this-simple-coremidi-program-produce-midi-output?rq=1). –
Правда. Я не совсем точно знал, чего хочет OP. Ваш ответ был более полным. –
Ну, я не могу поверить, что я пропустил это ... Он отлично работает, я был уверен, что я попробовал это, наверное, я испортил код и просто перешел. Спасибо огромное! –