CoreMIDI应用程序未在其他软件中显示

时间:2016-05-04 20:06:38

标签: swift macos midi coremidi

我在OSX上使用Swift中的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;
}

可悲的是没有运气。我不确定我做错了什么,我尝试重现与现有框架完全相同的代码而没有显着的结果。

我真的可以使用一些指针,因为我的应用程序没有在其他应用程序中列出。

谢谢!

1 个答案:

答案 0 :(得分:2)

创建虚拟目的地。请参阅MIDIDestinationCreateWithBlock

的文档