Skip to content

1.6.0

Compare
Choose a tag to compare
@armadsen armadsen released this 01 Jun 22:28
· 208 commits to master since this release

MIKMIDI 1.6.0 is a semi-major update to MIKMIDI. It includes a number of new features and APIs, bug fixes, improvements to existing API, etc.

Important Note: This release deprecates an MIKMIDI API. This API remains available, and functional, but developers should switch to the use of their replacements as soon as possible. See the Deprecations section below for details.

An overview of the changes in this release can be found below. For a comprehensive look at all changes in this release, see here.

ADDED

  • MIKMIDISequencer now respects the offset, muted, and solo properties of MIKMIDITrack. (#99)
  • Error-returning variant of -[MIKMIDISequence addTrack:], -addTrackWithError:. -addTrack: is now deprecated. (#134)
  • Added maximumLookAheadInterval property to MIKMIDISequencer (ac8142b)
  • Fixed issue where click track events would be added to the beginning of a loop when the status was EnabledOnlyInPreRoll. (2535c5b)
  • Convenience initializers for MIKMIDINoteOn/OffCommand that take MIDITimeStamps instead of NSDates. (0bf4a00)
  • Custom initializers for several MIKMIDIMetaEvent subclasses, greatly simplifing their creation. (#150)
  • MIKMIDIPacketCreate() function to ease creating MIDIPacket structs in Swift. (a12f121)

CHANGED

  • Improved support for subclassing MIKMIDISynthesizer and customizing MIDI event scheduling (87b38ea)

FIXED

  • Issue where MIKMIDISequencer would almost immediately stop recording if its sequence was empty. (#45)
  • MIKMIDIMetronome allows loading soundfonts. (a50ccdf)
  • Issue with stuck notes in MIKMIDISequencer's pre-roll. (07a9304)
  • MIKMIDISequencer now ignores incoming MIDI in recording mode during the pre-roll. (2312e4d)
  • Potentional crash in MIKMIDISequencer. (4c0ce02)
  • MIKMIDIGetCurrentTimeStamp() is now available in Swift (658cb63)
  • Scheduling issues in MIKMIDISynthesizer (6698fad)
  • Updated MIDI Files Testbed to fix deprecation warnings.
  • Improved MIDI Soundboard example for iOS (#119, d0ada0a, a35ee94)
  • Incorrect length for some MIKMIDICommand subclass instances when created with alloc/init. (#125)
  • Incorrect MSB calculation for pitch bend commands. (#147, thanks to akmidd)
  • Bug in logic for detecting and exposing available virtual sources and destinations (#144, #145, thanks to jrmaxdev)

DEPRECATED

This release deprecates a number of existing MIKMIDI APIs. These APIs remain available, and functional, but developers should switch to the use of their replacements as soon as possible.

  • -[MIKMIDISequence addTrack:]. Use -addTrackWithError: instead. (#134)