Csound for iOS ChangeLog

This ChangeLog shows changes specific to Csound for iOS. For changes relevant to Csound, please consult the main ChangeLog or release announcements.

6.04.0 - 2014-12-01 

* Added information about required Frameworks to Csound for iOS Documentation

* API Change

  Basic interface to Csound was simplified by removing the redundant appearance of Csound in method names:

  startCsound: => play:
  stopCsound   => stop
  muteCsound   => mute
  unmuteCsound => unmute

  Recording interface was simplified as well:

  startCsound: recordToURL:      => record: toURL:
  startCsoundToDisk: outputFile: => record: toFile:

  Hardware-specific methods were moved to the CsoundMotion class.  Import CsoundMotion.h to use.
  User-interface specific methods were moved to the CsoundUI class.  Import CsoundUI.h to use them.

  Protocol CsoundValueCacheable =>CsoundBinding - updating values to and from Csound are both optional (but at least one should be implemented)
  Protocol CsoundObjCompletionListener => CsoundObjListener - name changed, all methods optional, respond to whatever Csound events you like

  Added new CsoundBindings for Label and Button (old Button functionality is now in MomentaryButton)

6.02.0.1 - 2014-01-20

* recompiled with target iOS version of 6.1

6.02.0 - 2014-01-06

* fixed issue when using Audio Input, audio was overrided to go to Speaker

6.01.0-iOS7 - 2013-11-25

* Updated target iOS version to 7.0

* Updated library builds to architectures for iOS 7.0: armv7, armv7s, arm64,
i386, x86_64

* Updated code to remove warnings for 7.0

* Updated xibs for iOS 7.0


6.01.0 - 2013-09-09

* Fixed MIDI input not working (added missing call to csoundSetHostImplementedMIDIIO)

* Projects that require audio input in addition to audio output now must set
the useAudioInput flag to YES on CsoundObj before running.  This flag affects
what Audio category is used (either kAudioSessionCategory_MediaPlayback or
kAudioSessionCategory_PlayAndRecord).  Using only media playback allows
Bluetooth audio devices to be used with your project.


6.00.1 - 2013-08-06

* Bug #26: CsoundObj.m: modified getInputChannelPtr and getOutputChannelPtr to require passing in the channelType (i.e. CSOUND_CONTROL_CHANNEL, CSOUND_AUDIO_CHANNEL); previously getInputChannelPtr was hardcoded for only control channels and getOutputChannelPtr was hardcoded for only audio channels.  This is a non-backwards compatible change.  To update previous project, add "channelType:CSOUND_CONTROL_CHANNEL" when calling getInputChannelPtr and "channelType:CSOUND_AUDIO_CHANNEL" when calling getOutputChannelPtr.


6.00.0 - 2013-07-10

* The Csound API and SDK for iOS has been changed to use Automatic Resource Counting (ARC).  All projects using Csound 6 for iOS will require the use of ARC. The Csound for iOS Examples project shows how to use ARC compliant code with Csound.  Users with existing Csound 5-based iOS projects can use the "Edit->Refactor->Convert to Objective-C ARC..." wizard to help with updating their projects to use ARC.

For more information about ARC, consult the "Transitioning to ARC Release Notes" on Apple's Developer website at
https://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/

* CsoundObj.m: Replaced audio route handling code with simpler code setting category default to Speaker (Contributed by Stephan Hepper)


5.19.02.2 - 2013-03-20

* CsoundObj.m: Added [NSThread sleepForTimeInterval:.001] in while loop to prevent loop from being optimized out; caused issue when compiling application with -O1 or higher (i.e. -Os used when building for Release)

* CsoundObj.m: Updated audio route handling to take into account AirPlay; also, now correctly routes to speaker and not earpiece even upon repeated connection and disconnection of headphones


5.19.02.1 - 2013-02-11

* CachedButton.m: fixed issue where it would initially start with a state of 1 even if not pressed down
* CsoundObj.m: added startCsoundToDisk method for Csound rendering to disk; added TrappedGenerator example that demonstrates how to use this
* CsoundObj.m: fixed issue where when CsoundObj start, if headphones were plugged in, audio would start through the speaker; now checks if headphones are in to use the default audio route, and if not to use the speaker
