Releases: orchetect/MIDIKit
0.8.1
New
SysEx7
inits that takeUInt8
data bytes now throw; Added non-throwingUInt7
overloads.AnyMIDIIOObject.Property
: Addedname
propertyMIDIIOObject
: AddedpropertyStringValue(for:)
Fixes
MIDIIONotification
: Fixed missing metadata for sequentialremove
notifications (#162)
Changes
MIDIIONotification
: Renamed parameters foradded
,removed
, andpropertyChanged
MIDIIOObject
: RenamedpropertiesAsStrings()
topropertyStringValues()
Examples
- Example projects have been consolidated and reorganized. SwiftUI examples are now multiplatform projects that can build for iOS or macOS destinations.
- Added new SystemNotifications SwiftUI example project
- MIDISystemInfo example project has been improved
Docs
- Added MIDI Show Control guide
0.8.0
New
- RPN/NRPN messages are now fully implemented for I/O and MIDI file read/write (#158)
Improvements
MIDIEvent
:description
now outputs both MIDI 1.0 and MIDI 2.0 values for events to avoid confusion for those unfamiliar with MIDI 2.0 (also used when logging using theeventsLogging()
receiver)UInt7Pair
: Added pretty outputdescription
- Updated example projects to reflect new
rpn
andnrpn
cases forMIDIEvent
- Docs updated
- Unit tests updated
Fixes
- RPN/NRPN UMP packets may have failed to parse before
- Setting
MIDIManager.preferredAPI = .legacyCoreMIDI
now works correctly on macOS 13+ and iOS 16+
0.7.3
- Added
hide()
andshow()
to virtual endpoints to control visibility to the user in the system endpoints MIDIReceiver.create()
now has public access level (for power-users)- Moved various Core MIDI utilities to MIDIKitInternals with public access level (for power-users)
- Minor formatting and housekeeping
0.7.2
0.7.1
Improvements for Receiving MIDI Events
- Added a new
.eventsWithMetadata { }
MIDI event receive handler that includes MIDI packet timestamp and the source endpoint
Improvements for Object Properties
- MIDI endpoints, entities and devices now have unified property names
- MIDI endpoints, entities and devices have additional contextual properties (ie: endpoints offer an
entity
anddevice
property) - MIDI event filters are now more robust
0.7.0
What's New
HUI
- HUI objects and value types have been substantially refactored and improved, and various issues resolved. (#136 / #139)
- A new
HUIHost
object is now available for HUI host applications to manage one or moreHUIHostBank
remote HUI devices. (#136 / #139)
Examples
- Bluetooth MIDI example projects have been updated to demonstrate configuring your iOS app as a local Bluetooth MIDI peripheral which other devices can connect to. (#141 / #142)
- HUITest example application now demonstrates a simple HUI host and the HUI surface UI has been improved with functioning faders, V-Pots and jog wheel. (#139)
0.6.1
0.6.0
MIDIKit 0.6.0
What's New
-
Library-wide API clarification and more consolidated type names.
-
Curated documentation:
-
Written with DocC
-
Includes all the getting started guides previously found in the Wiki and more
-
Easy to navigate directly within Xcode using the Build Documentation menu command, or browsable online
(Note: Xcode 14 builds docc more reliably than Xcode 13 but you can always browse the online docs)
-
-
MIDIKit is now a mono-repo: All extension repos (SMF, Sync, ControlSurfaces) are now incorporated as package products within MIDIKit, and the external repos are now deprecated. All of MIDIKit can be imported with a single import, or individual targets can be imported if only certain functionality is required. See the documentation for details.
-
Refactors and improvements
Note: MIDIKit 0.6.0 contains substantial API changes from 0.5.x, and now requires Swift 5.5 / Xcode 13.0+.
0.5.2
New Features
MIDI.Event.sysEx7(rawHexString:)
static initializer- capable of parsing a string of hex byte values (ie:
"F7 01 02 03 F0"
or"f7010203f0"
)
- capable of parsing a string of hex byte values (ie:
MIDI.Event.SysEx7
instance: Added.midi1RawHexString()
method- returns the raw message bytes as a string of hex values
Minor Changes
MIDI.Event.noteManagement()
: Addednote:
parameter label for consistency