Releases: orchetect/MIDIKit
Releases · orchetect/MIDIKit
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
- Fixed NRPN/RPN LSB controller number, added basic unit tests for them
InputConnection
/OutputConnection
: Added disambiguation foradd()
/remove()
overloads- Added more flexibility to event CC filters
- Added Getting Started Guide
- Updated docs
0.4.1
0.4.0
Release 0.4.0 brings more versatility and stability.
Summary of New Features
InputConnection
andOutputConnection
can now have endpoints added or removed from them.InputConnection
can optionally aggregate all MIDI outputs in the system in order to act as a MIDI event sink that receives from all MIDI outputs in the system, and will automatically add new outputs that appear in the system during its lifecycle.- Added support for network MIDI sessions
Connections
InputConnection
: Addedadd(outputs:)
,remove(outputs:)
,removeAllOutputs()
OutputConnection
: Addedadd(inputs:)
,remove(inputs:)
,removeAllInputs()
- Added endpoint array overloads to
addInputConnection(:::)
andaddOutputConnection(::)
InputConnection
: AddedautomaticallyAddNewOutputs
propertyInputConnection
: AddedpreventAddingManagedOutputs
propertyInput
/Output
: addedendpoint
property
Endpoints
- Added
current()
static constructor for*Endpoint
sets and arrays
Network MIDI
- Added MIDI network session support:
setNetworkSession(policy:)
static method inMIDI.IO
Misc
Manager
no longer disposes of its MIDI client reference on deinit, as per Apple docs- Unit tests updated
0.3.1
- Fixed an issue where legacy Core MIDI API may have been used by default
- Exposed Core MIDI port ref properties as
public
MIDI.Event
description string channel and group are now formatted as hexadecimal- MIDIEventLogger example project improvements
- Minor bugfixes
- Unit tests updated and expanded
- Minor API changes
0.3.0
Major Milestone Release
- Essential MIDI 2.0 / Universal MIDI Packet support
- MIDIKit is now pure Swift
Changes and Additions
MIDI.IO.Manager
now uses the new Core MIDI API and MIDI 2.0 Protocol by default if available- MDI 2.0: Multi-part SysEx7 and SysEx8 UMP messages can now be sent and received
- SysEx refactors and API changes
.sysEx
has now become.sysEx7
.universalSysEx
has now become.universalSysEx7
.sysEx8
and.universalSysEx8
have been added
ReceiveHandler
s now do not call handlers if parsed events are emptyReceiveHandler
s:EventsLogging
andRawDataLogging
now ignore empty parsed events- Unit tests updated
0.2.9
What's New
- Most MIDI 2.0 UMP events are functional, with the notable exception of SysEx messages which require further work.
- Updated MIDIEventLogger example project
- Inline documentation improvements
Syntax
MIDI.IO.Manager
:coreMIDIClientRef
is now publicDevice
,Entity
,*Endpoint
,AnyMIDIIOObject
:coreMIDIObjectRef
is now public