CoreMIDI 应用程序未在其他软件中显示
CoreMIDI app not showing in other software
我在 OSX 的 Swift 中使用 CoreMIDI 进行了一些尝试,并且大部分功能都可以正常工作。
我现在唯一的问题是其他软件和应用程序看不到我的应用程序并且可用 input/output。 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;
}
遗憾的是没有运气。我不确定自己做错了什么,我尝试重现与现有框架完全相同的代码,但没有取得显着效果。
关于为什么我的应用程序没有列在其他应用程序中,我真的可以使用一些指示。
谢谢!
创建一个虚拟目的地。请参阅 MIDIDestinationCreateWithBlock
的文档
我在 OSX 的 Swift 中使用 CoreMIDI 进行了一些尝试,并且大部分功能都可以正常工作。
我现在唯一的问题是其他软件和应用程序看不到我的应用程序并且可用 input/output。 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;
}
遗憾的是没有运气。我不确定自己做错了什么,我尝试重现与现有框架完全相同的代码,但没有取得显着效果。
关于为什么我的应用程序没有列在其他应用程序中,我真的可以使用一些指示。
谢谢!
创建一个虚拟目的地。请参阅 MIDIDestinationCreateWithBlock