Skip to content

Commit

Permalink
Merge changes from master
Browse files Browse the repository at this point in the history
  • Loading branch information
armadsen committed Mar 17, 2018
2 parents 0216a13 + bc623e9 commit 1634f98
Show file tree
Hide file tree
Showing 112 changed files with 4,204 additions and 568 deletions.
59 changes: 50 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,50 @@
# Change Log
All notable changes to MIKMIDI are documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).

##[Unreleased]
## [Unreleased]
This section is for recent changes not yet included in an official release.

##[1.6.0] - 2016-06-01
## [1.6.2] - 2017-11-09

### ADDED

- System Exclusive multi-packet coalescing (#200)
- `MIKMIDISystemKeepAliveCommand` for keep alive messages
- `MIKMIDIPacketCreateFromCommands()`
- Convenience method for creating control change commands

### FIXED

- `-[MIKMIDIDeviceManager connectedDevices]` is no longer always nil (#162)
- Incorrect MIKMIDIClock timing on iOS devices (#180 and #199)
- Incorrect metaDataType on instances of `MIKMIDIMetaEvent` subclasses (#151)
- Minor GCD queue creation bug (#204)
- Parsing multiple MIDI messages of different types in a single incoming packet (#201)
- Buffer overflow in `-[MIKMIDISystemExclusiveCommand manufacturerID]` (#197)
- Memory leak in `MIKStringPropertyFromMIDIObject()` (#206)
- Retain cycle between `MIKMIDISequence` and `MIKMIDISequencer` (#205)
- Bug that caused note offs to be scheduled early by `MIKMIDISequencer`
- Frequent hash collisions between instances of `MIKMIDIObject` (#181)
- Minor Swift incompatibilities

## [1.6.1] - 2016-11-04

### ADDED

- MIDI To Audio example project showing how to use MIKMIDI to do offline rendering of MIDI to an audio file. (#164)

### FIXED

- Incorrect nullability annotations for MIKMIDINoteEvent convenience methods.
- Minor documentation mistakes.
- Updated example projects for Xcode 8.

### CHANGED

- Moved macOS example projects into a "macOS" subfolder of Examples.
- Email address for maintainer (Andrew Madsen).

## [1.6.0] - 2016-06-01

### ADDED

Expand All @@ -15,6 +55,7 @@ This section is for recent changes not yet included in an official release.
- Convenience initializers for `MIKMIDINoteOn/OffCommand` that take `MIDITimeStamp`s instead of `NSDate`s. (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)
Expand All @@ -40,7 +81,7 @@ This release deprecates a number of existing MIKMIDI APIs. These APIs remain ava

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

##[1.5.0] - 2015-11-14
## [1.5.0] - 2015-11-14
### ADDED
- `MIKMIDISynthesizer` for general-purpose MIDI synthesis. `MIKMIDIEndpointSynthesizer` is now a subclass of `MIKMIDISynthesizer`.
- `MIKMIDISequencer` now has API for routing tracks to MIDI endpoints, synthesizers,
Expand Down Expand Up @@ -91,7 +132,7 @@ This release deprecates a number of existing MIKMIDI APIs. These APIs remain ava
- `-setMusicTimeStamp:withTempo:atMIDITimeStamp:`, `+secondsPerMIDITimeStamp`, `+midiTimeStampsPerTimeInterval:` on `MIKMIDIClock`. See documentation for replacement API.
- `+[MIKMIDICommand supportsMIDICommandType:]`. Use `+[MIKMIDICommand supportedMIDICommandTypes]` instead. This is only relevant when creating custom subclasses of `MIKMIDICommand`, which most MIKMIDI users do not need to do. (#57)

##[1.0.1] - 2015-04-20
## [1.0.1] - 2015-04-20

### ADDED
- Support for [Carthage](https://github.com/Carthage/Carthage)
Expand All @@ -110,7 +151,7 @@ This release deprecates a number of existing MIKMIDI APIs. These APIs remain ava
- `+[MIKMIDISequence sequenceWithData:]`. Use `+[MIKMIDISequence sequenceWithData:error:]`, instead.
- `-[MIKMIDISequence/MIKMIDITrack setDestinationEndpoint:]`. Use API on MIKMIDISequencer instead.

##[1.0.0] - 2015-01-29
## [1.0.0] - 2015-01-29
### ADDED
- MIDI Files Testbed OS X example app
- Added `MIKMIDISequence`, `MIKMIDITrack`, `MIKMIDIEvent`, etc. to support loading, creating, saving MIDI files
Expand All @@ -130,18 +171,18 @@ This release deprecates a number of existing MIKMIDI APIs. These APIs remain ava
- `MIKMIDIMapping` save/load is now supported on iOS.
- Warnings when building for iOS.

##[0.9.2] - 2014-06-13
## [0.9.2] - 2014-06-13
### ADDED
- Added `MIKMIDIEndpointSynthesizer` for synthesizing incoming MIDI (OS X only for now).
- Added Cocoapods podspec file to repository.

### FIXED
- `MIKMIDIInputPort` can parse multiple MIDI messages out of a single packet.

##[0.9.1] - 2014-05-24
## [0.9.1] - 2014-05-24
### FIXED
Minor documentation typo fixes.

##[0.9.0] - 2014-05-16
## [0.9.0] - 2014-05-16
### ADDED
Initial release
Initial release
Loading

0 comments on commit 1634f98

Please sign in to comment.