将 MIDI 事件绑定到应用程序中的代码块
TriggerKit 是一个 Swift 框架,用于将事件绑定到您的应用程序代码。您可以在 iOS 和 iPad 应用程序中使用 TriggerKit。Package 中启用了 MacOS,但目前尚未经过测试。
TriggerKit 目前处于 Beta 版,因此,未来的版本可能会有破坏性更改。当计划的事件类型添加后,我将发布 1.0 版本。
我要感谢 Steffan Andrews 的 MIDIKit 库,没有它,TriggerKit 就无法以当前的形式存在。
TriggerKit 的关键概念是,您可以为您的应用程序和事件创建可编码的操作,并轻松地存储和恢复 MIDI 和其他事件类型的映射。
这些事件类型计划在未来的版本中添加到 TriggerKit。如果您需要任何功能,请随时打开 issue 或创建 PR 🙏
通过 Swift Package Manager 将 TriggerKit 添加到您的项目中:https://github.com/lightbeamapps/TriggerKit
创建一个应用程序要映射的操作的枚举,使其符合 TKAppActionConstraints
实例化 TriggerKit Bus
let config = TKBusConfig(clientName: "TriggerKit", model: "TriggerKit", manufacturer: "Lightbeam Apps")
let bus = TKBus<YourAppAction>(config: config)
let mapping = TKMapping(appAction: TestAcYourAppActiontion.action1, event: TKEvent.midiCC(trigger: .init(cc: 1)))
bus.addMapping(mapping) { payload in
// Do something!
}
现在您拥有了一个 TriggerKit Bus,以及您的第一个映射 🎉!
一旦您创建了操作和映射,您就可以对它们进行编码,以便将它们持久化到磁盘并在运行时检索。
您可以使用 bus 函数为所有事件设置单个回调
bus.setEventCallback() { event in
// Use/persist the most recent event to update or add a mapping
}
演示应用程序展示了一个示例。
TriggerKit 为 CoreAudio BlueTooth MIDI 检测视图提供了一些包装器
TKBluetoothMIDIView
SwiftUITKBTMIDICentralViewController
UIKitTriggerKit 使用 BSD-3-Clause 许可证授权,更多信息请参见此处:LICENSE.MD
这是一个宽松的许可证,允许任何类型的使用,前提是包含版权声明。