Play musical notes in Swift Playground
You have to enable the asynchronous mode for the Playground.
Add this at the top (Xcode 7, Swift 2):
import XCPlaygroundXCPlaygroundPage.currentPage.needsIndefiniteExecution = true
and your sequence will play.
The same for Xcode 8 (Swift 3):
import PlaygroundSupportPlaygroundPage.current.needsIndefiniteExecution = true
Working MIDI example in a Swift Playground
import PlaygroundSupportimport AudioToolboxvar sequence : MusicSequence? = nilvar musicSequence = NewMusicSequence(&sequence)var track : MusicTrack? = nilvar musicTrack = MusicSequenceNewTrack(sequence!, &track)// Adding notesvar time = MusicTimeStamp(1.0)for index:UInt8 in 60...72 { // C4 to C5 var note = MIDINoteMessage(channel: 0, note: index, velocity: 64, releaseVelocity: 0, duration: 1.0 ) musicTrack = MusicTrackNewMIDINoteEvent(track!, time, ¬e) time += 1}// Creating a playervar musicPlayer : MusicPlayer? = nilvar player = NewMusicPlayer(&musicPlayer)player = MusicPlayerSetSequence(musicPlayer!, sequence)player = MusicPlayerStart(musicPlayer!)PlaygroundPage.current.needsIndefiniteExecution = true
Great MIDI reference page with a nice chart