Skip to content

Releases: orchetect/MIDIKit

0.2.5

12 Nov 09:11
3497393
Compare
Choose a tag to compare
  • Fixed MIDI.Byte.Pair.uInt16Value returning incorrect value
  • Fixed possible overflow in UInt32(bipolarUnitInterval:) init from Float
  • MIDI.UInt7.Pair: Added .uInt14Value property
  • Added unit tests

0.2.4

05 Nov 07:29
419a143
Compare
Choose a tag to compare
  • Added public inits to all MIDI.Event.* concrete types
  • Made MIDI.Event.sysEx(rawBytes:group:) public access level
  • SysEx/UniversalSysEx: Added leading/trailing F0/F7 overloads for midi1RawBytes()

0.2.3

04 Nov 03:15
5f9917f
Compare
Choose a tag to compare
  • MIDI1Parser: Added translateNoteOnZeroVelocityToNoteOff flag
  • MIDI.Event.Note.On: Added midi1ZeroVelocityAsNoteOff flag

0.2.2

02 Nov 08:39
e6727e5
Compare
Choose a tag to compare
  • Added MIDI.Note struct represent abstract MIDI note, constructing and converting between
    • note number
    • note name string (such as "C3", "A#4")
    • note name & octave (such as name: .C, octave: 3)
    • frequency in Hz

0.2.1

19 Oct 23:58
cb016a5
Compare
Choose a tag to compare
  • Renamed @AtomicAccess to @Atomic with improvements
    • This property wrapper is not used in MIDIKit, but it is used in MIDIKit extensions such as MIDIKitSync

0.2.0

07 Oct 05:26
8371091
Compare
Choose a tag to compare

Initial release.

macOS 10.12 High Sierra - 12.0 Monterey
iOS 10 - 15

  • Stable, thread-safe MIDI I/O
  • Full MIDI 1.0 support, with MIDI 2.0 coming in a future update
  • Central MIDI port/connection manager
  • Rich MIDI event types and value types
  • Simple and powerful MIDI event filters
  • Unit tested
  • Production tested in wide-release commercial software

Known Issues:

  • MIDI 2.0 implementation on supported OS versions is still in active development and will be available in a future MIDIKit update. For the time being, MIDIKit will internally default to MIDI 1.0 which is fully operational.
  • Back-porting a limited subset of MIDI 2.0 features to older platforms (macOS Catalina or older, and iOS 13 or older) is planned, but not yet supported.
  • Beta support for tvOS 14+ and watchOS 7+ in development and is planned to be added in future.

0.1.19

19 Sep 03:02
ca01e68
Compare
Choose a tag to compare
0.1.19 Pre-release
Pre-release
  • Stability improvements

0.1.18

03 Sep 06:42
8d9cc7b
Compare
Choose a tag to compare
0.1.18 Pre-release
Pre-release
  • Stable and tested on macOS 10.15.7 and 11.5.2 using legacy Core MIDI API (defaulted)

0.1.17

02 Sep 09:54
1eb158b
Compare
Choose a tag to compare
0.1.17 Pre-release
Pre-release
  • Defaulting to legacy Core MIDI API which is more stable in the interim until bugs in Core MIDI's new API are fixed or can be worked around
  • Fixed phantom threading issues with MIDI packet list pointers

0.1.16

27 Aug 08:35
9f324fd
Compare
Choose a tag to compare
0.1.16 Pre-release
Pre-release
  • Added workaround to fix edge-case crashes on Big Sur where large/malformed packets are received.
    (This very well points toward an internal crash/bug in CoreMIDI)
  • Fixed undefined behavior calling MIDIPacketNext/MIDIEventPacketNext one too many times