🎹 MIDIKit
An elegant and modern Swift CoreMIDI wrapper supporting MIDI 1.0 and MIDI 2.0.
- Modular, user-friendly I/O
- Automatic MIDI endpoint connection management and unique ID persistence
- Strongly-typed MIDI events that seamlessly interoperate between MIDI 1.0 and MIDI 2.0
- Automatically uses appropriate Core MIDI API and defaults to MIDI 2.0 on platforms that support them
MIDIKit Extensions
Abstractions are built as optional extensions in their own repos.
- MIDIKitControlSurfaces: MIDIKit extension for Control Surfaces (HUI, etc.)
- MIDIKitSync: MIDIKit extension for sync (MTC, etc.)
- MIDIKitSMF: MIDIKit extension for reading/writing Standard MIDI Files (SMF)
Getting Started
-
Add MIDIKit as a dependency using Swift Package Manager.
-
In an app project or framework, in Xcode:
- Select the menu: File → Swift Packages → Add Package Dependency...
- Enter this URL:
https://github.com/orchetect/MIDIKit
-
In a Swift Package, add it to the Package.swift dependencies:
.package(url: "https://github.com/orchetect/MIDIKit", from: "0.4.0")
-
-
Import the library:
import MIDIKit
- Read the Getting Started guide. Additional documentation is available in the Docs folder.
- See Examples folder for example projects.
Documentation
See Docs folder. Also see project Examples folder.
Author
Coded by a bunch of
License
Licensed under the MIT license. See LICENSE for details.
Contributions
Contributions are welcome. Discussion in Issues is encouraged prior to new features or modifications.