我在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;
}
可悲的是没有运气。我不确定我做错了什么,我尝试重现与现有框架完全相同的代码而没有显着的结果。
我真的可以使用一些指针,因为我的应用程序没有在其他应用程序中列出。
谢谢!
答案 0 :(得分:2)
创建虚拟目的地。请参阅MIDIDestinationCreateWithBlock