Releases: orchetect/MIDIKit
Releases · orchetect/MIDIKit
0.4.9
New
- Added basic example projects, with more to come in the next release
- Added intermediate macOS AppKit example project demonstrating endpoint selection menus
- The MIDIKit wiki now has a Getting Started Guide as well as additional tips and troubleshooting info
Fixes and Improvements
InputConnection
andOutputConnection
: Fixed an issue where changingmode
orfilter
properties did not immediately take effect.MIDI.IO.Device
: Fixedname
property containing invalid data- MIDISystemInfo example now shows device/entity/endpoint tree to visualize object hierarchy
- Minor improvements
0.4.8
New
InputConnection
/OutputConnection
: Refactored to usemode
andfilter
properties- Various
Set
andArray
category methods to convert endpoints to criteria collections
API Changes
MIDI.IO.Manager
: .addInputConnection()
and .addOutputConnection()
:
automaticallyAddNew[In/Out]puts
has now become a newmode
enumpreventAddingManaged[In/Out]puts
has now been refactored into a newfilter
property that can filter outowned
virtual endpoints as well as a set of arbitrary endpoints if needed
0.4.7
- Endpoints: added
displayName
cached property EndpointIDCriteria
: addeduniqueIDWithFallback
case- Expanded custom
sorted...
,first(...)
, andfilter(...)
methods on object & endpoint collections MIDI.IO.Manager.endpoints
: AddedinputsUnowned
andoutputsUnowned
properties to return all system endpoints excluding virtual endpoints created by theManager
instance- Misc. minor improvements
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