Release Notes

OnSong 1.989

OnSong 1.989 was released on August 18, 2014 and contains the following corrections, changes and new features:


  • OnSong Console

    iPads and iPhones are great for use on-stage, but editing songs and managing your library can be a chore. OnSong Console puts all the power of OnSong onto your desktop computer with a powerful web application. Choose songs and edit them with live preview of what it will look like on your iPad. It comes loaded with tools for importing, creating and viewing your chord charts. When you have everything just the way you want it, just save your changes to push them back to your OnSong library on your device.

  • Customizable Import Sources

    Tap on the Edit button in the upper right corner of the Import screen to rearrange, delete or rename import sources. For instance, if you don't use WorshipReady.com, SongSelect, etc... you can just delete them.

    You can also add import sources back by tapping on the "Add Import Source" row that appears in editor mode. We have also enabled a way to enable import sources using an importable file. This is going to be used to beta a new chord chart repository we'd love for you to try out.

  • Improved Flow

    You can now add page breaks, comments and much more to the flow metatag. Use this to arrange your song and place comments and page breaks where you want them. This works by outputting any content in the flow list that does not match named sections. The following are examples:

    Flow: V1 C V2 C ---- C B C T C

    Flow: Verse 1, Chorus, (Repeat 2x), Verse 2, Verse 3, ----, Chorus, (Repeat 2x)

  • Configurable Message Duration

    Some users have complained that the messages that appear on the screen disappear too quickly. This now has a setting under Settings --> Display Settings --> Song Viewer --> Flash Message. You can choose a value between 0.1 and 1.0. The default value is 0.3 seconds per word.

Known Issues

  • When searching and replacing in the text tools palette of the console, the search field is only accepting regular expressions which can cause unexpected results.
  • There is a sporadic crash condition when importing multiple files into the console caused by multiple spawned threads.
  • There is a crash condition when viewing a chord chart song in PCO if there is no artist specified.
  • The song viewer in the console may appear blank when switching from a file to a text-based chord chart for the first time. Making a change in the song editor draws the preview.


  • Added an undelete tool under Settings » Tools » Undelete Songs.
  • Added new Settings methods to OnSong connect that will allow settings to be retrieved, queried, modified or deleted.
  • Added the ability to import an MP3 file and have that assigned to the created song as attached media. This means you can import MP3 files and playback the track outside of iTunes.
  • Added a prompt when resetting settings to confirm this action with the user.
  • Added the ability to edit MIDI triggers in the list. Tap "Edit" and then the trigger in the list.


  • Changed the location of the user's OnSong library from a hidden folder in the "Documents" folder to Library/OnSong/Default. This will allow users to have more than on library in the future.
  • Changed the code to remove references to the older JSONKit used originally for iOS 4.3 and earlier compatibility.
  • Changed the way that the flow attribute works. If a section is not found with an element in the flow, then that value is simply outputted at that point in the song. This allows songs to be arranged and page breaks, repeats or key changes to possibly be added as well. For instance, this will arrange the song and add a page break: Flow: V1 C V2 C C ---- V3 V4 C C B
  • Changed the way flow attributes are generated to allow hyphenated words to be turned into abbreviations. For instance, Pre-Chorus can be typed as PC in addition to P
  • Changed the way flow abbreviations are generated so that you can also reference sections with multiple "words" such as Pre-Chorus 1 as either "P", "PC1" or "P1" interchangeably. Please note that flow matches will find the first instance of a section so "P" will match the first instance of pre-chorus.
  • Changed the external display to show the selected gear using the "flash" message. This shows the gear momentarily and then fades out.
  • Changed the MP3 import method to add the MP3 track to the user's media library and set the media URL to the mediaID. This has the effect of linking MP3 tracks to a song without using the media library UI which is incomplete.
  • Changed the way ChordPro "define" tags are handled, allowing frets to be defined without placing spaces between each numeric value. Rather, the "frets" section can be one string value similar to how OnSong handles those values.
  • Changed the look of the editor icon to appear more like a pencil instead of a pen to avoid confusion with the pen tool and to indicate an easier to edit piece of information.
  • Changed the update interval of the current time scrubber in the playback menu to handle shorter backing tracks like drum loops.
  • Changed the language on the Bluetooth keyboard warning in English to include the term "external keyboard" for those not using foot pedals.
  • Changed the way backing tracks playback to always use the built-in player if the track was in the user's iTunes music library as long as crossfading is turned off. If crossfading is on, then the OnSong player is used if possible with a fallback to the built-in player for iCloud and DRM tracks.
  • Changed the importing behavior to show the newly imported songs in the song viewer once importing has completed. This is the new default behavior, but can be turned off by going into the Utilities menu » Settings » Import Settings » View Newly Imported Songs » OFF.
  • Changed the "Reset Settings" feature to offer a prompt before resetting the user's preferences.


  • Fixed an issue where the major/minor aspect of a key was being derived form the transposed key and not the declared key which can get you stuck using a key to transpose that isn't appropriate.
  • Fixed an issue where edits could not be saved on songs that had no key declared.
  • Fixed an issue where the auto show/hide menubar feature would hide the menu when picking songs for a set.
  • Fixed an issue with overlapping lines caused by the intro line fix coupled with inline chords.
  • Fixed an issue where deleting songs would not fire a library changed event.
  • Fixed an issue that causes the song editor to jump to the top when typing spaces. This is caused by changes to the text view in iOS 7.1.2 and has been fixed by changing the text in place.
  • Fixed an issue where songs could be started and stopped, but could not be started after that point. This seems to be related to the song changing but not being retained with the song.
  • Fixed an issue where the repeat mode of the song is not retained nor changed when the song is currently active.
  • Fixed an issue when creating "chord lines" where OnSong was not respecting a blank line below the chord notation.
  • Fixed an issue where Soundbanks and other types of media were not being restored with a backup procedure.
  • Fixed an issue where chaining the location of the sound bank may cause it to not play correctly.
  • Fixed an issue where you could not created a ChordPro comment that also included chords as it would combine them with the line beneath. Now if a line of chords contains ChordPro curly braces, the line is not considered a chord line.
  • Fixed a crash condition when choosing a song key in the metadata editor on certain songs from the Internet.
  • Fixed an issue that required a # symbol to be added after the & symbol when trying to color a line. This requirement has now been removed. If the color cannot be processed, it's text value is returned as-is.
  • Fixed a crash condition that is caused by moving between the share menu and external video menu.
  • Fixed an issue with logging into LTC Asaph where login information was not displayed.
  • Fixed an issue when previewing certain songs in LTC Asaph due to an unexpected type in the web service return value.
  • Fixed an issue where the repeat mode was not being set on a backing track.
  • Fixed an issue that is causing freezes and crashes when starting OnSong due to an issue with resolving domain names in the web sockets library. This is fixed by not turning on the web socket library unless the console is operational.
  • Fixed a crash when editing metadata. This crash was caused by a field retaining the responder (keyboard focus) when leaving the main metadata field. This is fixed by removing the responder before navigating away from the metadata editor which seems like the the natural behavior.
  • Fixed volume issues in the audio playback engine that were caused by setting the volume on both the internal player and the native player which acts like a master volume control. In other words, if the master volume was set to 50%, the internal player would also be set to 50% which would cause the total output to be 25%.
  • Fixed an issue in the editor where the Bluetooth keyboard warning would display when using an undocked or split keyboard. This was due to the keyboard not firing the appropriate notifications when in those forms.
  • Fixed an issue with the song editor bouncing when typing spaces. This was caused by a number of factors including logic to deactivate the "." shortcut feature of iOS, fixes to force a redraw of the textview content for iOS 7 workarounds and the feature used to move the cursor into view. This was corrected by removing the iOS 7 workaround which does not appear to be needed anymore.
  • Fixed an issue where having two songs in a set with the same song would restart the song from the beginning even if the playback mode was set to play/pause.
  • Fixed an issue with repeat mode that caused the track to repeat perpetually if the built-in music player was used. This was due to inconsistencies in how the built-in player returns the current playback time. Now if the track is stopped by the user, the repeat is not fired.
  • Fixed an issue when using the built-in player with repeat looping turned on. This would introduce a pause while looping which does not work with drum loops. This was returned to using the built-in players repeat function for smooth transitions.
  • Fixed an issue where the last line of lyrics project would not appear on the external monitor due to a scaling calculation issue involving floating point accuracy.
  • Fixed an issue where changing the duration of a song in a set that is using separate song/set styles was causing the duration to not be retained after a restart of the app.
  • Fixed an issue where adding a new chord diagram from the chord inspector edit button would not update the chord inspector correctly. For instance, adding EbII and defining it as x66886.
  • Fixed an issue where volume could not be altered using MIDI commands.
  • Fixed an issue with issuing variable MIDI controls when "toggle between on/off" is turned on in MIDI settings.
  • Fixed an issue when comments or lyrics were placed below a line of chords with notation (aka, vertical bars). This caused the lyrics to be combined with the chords incorrectly.
  • Fixed an issue where the URL that appears for connecting to console appears as http://(null). If the user is not on a WiFi network, a message will be displayed.
  • Fixed an issue where the gradient image in lyrics projection would not be stretched complete when using "fit" background fill mode.
  • Fixed an issue that occurs when transitioning from the stage monitor mode to the lyrics projection mode in some circumstances.
  • Fixed an issue where the chord style of the song could be changed from "Alphabetic" but would not be displayed in the song viewer.
  • Fixed an issue in the renderer where using lowercase minor chords combined with musical symbols would cause a Bm chord to turn into a single flat symbol.
  • Fixed an issue in the renderer where the use of line formatting for the section label would not allow that section to be called in a flow arrangement.
  • Fixed an issue where if the Wireless Sharing screen were opened on an iPhone or iPod touch, the modal could not be closed without rebooting the app.
  • Fixed an issue where importing an archive file would cause OnSong to crash.
  • Fixed an issue when updating and duplicating songs with external files where the file would not be duplicated causing it to be deleted. Files are now copied into the OnSong library and copied with a new file name if one exists and duplication is turned on.
  • Fixed an issue where OnSong Beam was not working correctly due to conflicting signals.
  • Fixed a number of issues with OnSong Connect that can connections to fail.
  • Fixed an issue that can cause OnSong to crash at startup due to a lengthy amount of time trying to resolve name information on the network.
  • Fixed an issue with continuous scrolling while playing audio tracks. They now can crossfade as the songs change allowing continuous audio and autoscroll from beginning to end.
  • Fixed an issue where song usages is not outputted via email, print or export in the song reporting screen.
  • Fixed an issue where song reports are not printing from the song reporting screen.
  • Fixed an issue where song usage reporting was lost when restoring a backup.