CoreMIDI 术语已经非常令人困惑并且文档记录很差,而且 Audiokit 并没有像我希望的那样提供帮助。
据我所知,每个应用程序都应该有一个 midi 客户端引用 ( MIDIClientRef
) 实例。Audiokit 具有AKMIDI
为每个实例创建一个新的客户端引用的类,并且AKMIDI
实例被创建为左、右和中心(包括每个实例的初始化)。所有这些还在其内置构造函数中创建具有硬编码名称的端点,所以我不明白我应该如何制作具有正确名称的端点。AKMIDIInstrument
AKCallbackInstrument
AKMIDISampler
最高价格为AKMIDISampler
,其来源首先说:
/// Initialize the MIDI Sampler
public override init() {
super.init()
enableMIDI()
}
然后在以下几行:
/// Enable MIDI input from a given MIDI client
/// This is not in the init function because it must be called AFTER you start AudioKit
///
/// [snipped parameter comments for brevity]
open func enableMIDI(_ midiClient: MIDIClientRef = AKMIDI().client, name: String = "MIDI Sampler")
(注意它在init函数中)
我会非常高兴听到一些关于一般使用指南的澄清(我需要覆盖所有内容吗?)或者更详细地解释这一点的文档/文章的链接。