Skip to content

Releases: orchetect/MIDIKit

0.3.1

25 Jan 07:43
7c18de6
Compare
Choose a tag to compare
  • 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

11 Jan 22:12
b0943bf
Compare
Choose a tag to compare

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
  • ReceiveHandlers now do not call handlers if parsed events are empty
  • ReceiveHandlers: EventsLogging and RawDataLogging now ignore empty parsed events
  • Unit tests updated

0.2.9

10 Jan 10:15
bf50821
Compare
Choose a tag to compare

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 public
  • Device, Entity, *Endpoint, AnyMIDIIOObject: coreMIDIObjectRef is now public

0.2.8

17 Dec 05:44
7599a32
Compare
Choose a tag to compare
  • MIDI.Note.Name: Added .name and .octave properties
  • NoteRange is now NoteNumberRange, new NoteRange is ClosedRange<MIDI.Note>
  • Renamed MIDI.Note.pianoKey to .isSharp, also added to MIDI.Note.Name

0.2.7

07 Dec 08:26
c9a654f
Compare
Choose a tag to compare
  • Added MIDI.NoteRange and MIDI.Note .pianoKey property
  • MIDI.Note.Name improvements

0.2.6

06 Dec 01:08
e33e304
Compare
Choose a tag to compare
  • Fixed Note.On Equatable behavior
  • Added translateMIDI1NoteOnZeroVelocityToNoteOff flag to ReceiveHandler.Events
  • Improved unit tests

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