0

我刚刚将来自 Apple 的 Filter AU 示例转换为使用 AUMIDIEffectBase 类,以便将其转换为 midi 控制效果。

https://developer.apple.com/library/mac/samplecode/FilterDemo/Introduction/Intro.html

过滤器构建但是我在 auval 工具中遇到错误:

测试 MIDI 错误:-4 IN CALL MusicDeviceSendMIDI

有人成功实现了 AUMIDIEffectBase 吗?任何示例代码?

4

1 回答 1

0

我今天遇到了同样的问题,发现问题出在苹果的 CoreAudioUtilityClasses AUMIDIEffectBase 类的一个稍微非当前版本中。由于多重继承,需要将以下内容添加到 AUMIDIEffectBase.h 中,以便 AUPluginDispatch 调用正确的覆盖方法。

virtual OSStatus    MIDIEvent(      UInt32                      inStatus, 
                                    UInt32                      inData1, 
                                    UInt32                      inData2, 
                                    UInt32                      inOffsetSampleFrame)
{
    return AUMIDIBase::MIDIEvent (inStatus, inData1, inData2, inOffsetSampleFrame);
}

/*! @method SysEx */
virtual OSStatus    SysEx(          const UInt8 *               inData, 
                                    UInt32                      inLength) 
{
    return AUMIDIBase::SysEx (inData, inLength);
}

我刚刚从 Apple 的网站上获取了最新信息:https ://developer.apple.com/library/mac/samplecode/CoreAudioUtilityClasses/CoreAudioUtilityClasses.zip ,看起来他们已经解决了这个问题。看来,我们俩的下载时间都不好!

于 2013-12-11T20:43:44.190 回答