Skip to content

Releases: orchetect/MIDIKit

0.9.9

14 Nov 08:10
Compare
Choose a tag to compare

Maintenance

  • Updated for TimecodeKit 2.3.3

0.9.8

20 Oct 00:12
Compare
Choose a tag to compare

Note

This release bumps the package toolchain version to Swift 5.9, and minimum platforms to macOS 10.13 and iOS 12

Added

  • MIDIKitSMF: Fixed text decoding bug introduced in macOS 15.0
  • Added missing Identifiable conformances to types

Maintenance

  • Preliminary refactors for Swift 6 (not yet passing strict checks)
  • Minor example project cleanup
  • Updated and cleaned up unit tests

0.9.7

21 Jul 22:08
Compare
Choose a tag to compare

Maintenance

0.9.6

07 May 20:14
Compare
Choose a tag to compare

Fixed

  • Fixed incorrect CC number in programChange event MIDI 1.0 raw bytes generation (#211)

Maintenance

  • Fixed minor bug in SwiftUI Multiplatform/EndpointPickers example project (#202)
  • Mitigation for Swift 5.10 @_implementationOnly compiler warnings (12d8f13)
  • Updated unit tests
  • Minor docs updates

0.9.5

27 Dec 03:47
b4947ed
Compare
Choose a tag to compare

New

  • MIDIReceiverOptions: Added .bundleRPNAndNRPNDataEntryLSB receiver option (#198)

Changed

  • MIDIReceiver: eventsWithMetadata receiver has been renamed to events and inherits its events, timeStamp, source closure parameters
  • MIDIReceiver: object(_:held:options:) is now replaced by strong(_:options:) or weak(_:options:) and, as such, no longer carries a held property
  • Removed redundant MIDIReceiveHandler class
  • Renamed MIDIReceiveHandlerProtocol to MIDIReceiverProtocol and made it public

Fixed

  • MIDIEvent.pressure: Debug description now includes both MIDI 1.0 & MIDI 2.0 value representation, consistent with other event descriptions

Maintenance

  • Internal refactors to reduce MIDIReceiver boilerplate
  • Updated docs
  • Minor example project updates

0.9.4

10 Nov 16:09
73b4779
Compare
Choose a tag to compare

New

  • Added new ObservableMIDIManager subclass of MIDIManager that provides two new @Published properties: observableDevices and observableEndpoints
  • MIDIKitUI SwiftUI components are now fully functional (see the MIDIKitUI example project)
  • Significant updates to the EndpointPickers example project to use endpoint display name as a fallback endpoint identity

Improvements

  • Refactored MIDIEndpointFilter Collection methods and resolved ambiguities

Fixed

  • Fixed potential crash in rare cases when Core MIDI property getter produces an error

Maintenance

  • All example projects have been further cleaned up and various issues resolved
  • Unit tests updated
  • Docs updated

0.9.3

30 Oct 08:18
Compare
Choose a tag to compare
  • Added Sendable conformance to most concrete types
  • Refactored Error types to be LocalizedError, added missing description strings
  • Refactored MIDIReceiver to use new MIDIReceiverOptions option set

0.9.2

26 Oct 17:31
Compare
Choose a tag to compare
  • Maintenance update to clean up Example projects

0.9.1

02 Oct 03:11
Compare
Choose a tag to compare
  • MIDIEvent: Fixed description string formatting for noteOn, noteOff, noteCC, notePitchBend and notePressure events
  • Resolved an issue that could prevent app archival

0.9.0

28 Sep 11:40
Compare
Choose a tag to compare

Improvements

  • MIDIManager: Streamlined addInputConnection/addOutputConnection API
  • Fixed proactive Swift 6 warning about shadowed associated type
  • Updated to TimecodeKit 2.0.1
  • Updated docs

API Changes

  • MIDIProtocolVersion: Renamed cases, removing underscore prefix
  • MIDIFile.FrameRate: Renamed cases, removing underscore prefix
  • MIDIFile.SMPTEOffsetFrameRate: Renamed cases, removing underscore prefix
  • MIDIFileEvent.DeltaTime: Renamed cases, removing underscore prefix