An elegant and modern CoreMIDI wrapper in pure Swift supporting MIDI 1.0 and MIDI 2.0.
Over and above I/O and events, MIDI extension abstractions can be found in MIDIKit:
The library is available as a Swift Package Manager (SPM) package.
Use the URL https://github.com/orchetect/MIDIKit
when adding the library to a project or Swift package.
See the getting started guide for a detailed walkthrough of how to get the most out of MIDIKit.
See the online documentation or view it in Xcode's documentation browser by selecting the Product → Build Documentation menu.
This includes a getting started guide, links to examples, and troubleshooting tips.
Xcode 13.0 / macOS 11.3 are minimum requirements to compile
Once compiled, MIDIKit supports macOS 10.12+ and iOS 10.0+.
tvOS and watchOS are not supported (as there is no Core MIDI implementation) but MIDIKit will build successfully on those platforms in the event it is included as a dependency in multi-platform projects.
Coded by a bunch of 🐹 hamsters in a trenchcoat that calls itself @orchetect.
Licensed under the MIT license. See LICENSE for details.
If you enjoy using MIDIKit and want to contribute to open-source financially, GitHub sponsorship is much appreciated. Feedback and code contributions are also welcome.
Contributions are welcome. Discussion in Issues is encouraged prior to new features or modifications.
link |
Stars: 95 |
Last commit: 3 hours ago |
SysEx7
inits that take UInt8
data bytes now throw; Added non-throwing UInt7
overloads.AnyMIDIIOObject.Property
: Added name
propertyMIDIIOObject
: Added propertyStringValue(for:)
MIDIIONotification
: Fixed missing metadata for sequential remove
notifications (#162)MIDIIONotification
: Renamed parameters for added
, removed
, and propertyChanged
MIDIIOObject
: Renamed propertiesAsStrings()
to propertyStringValues()
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics