Release Notes

OnSong 1.99

OnSong 1.99 was released on September 9, 2014. It contains the following corrections, changes and new features:


  • Chord Diagrams - Bars and Fingerings

    We've heard a lot of feedback about the chord diagrams in OnSong and have made some new changes we think you'll like. You can now specify fingerings for chords in the chord diagram editor or the ChordPro define tag. OnSong also calculates how to play the chord if fingerings are not specified. Because of this, OnSong can also determine how a chord should be barred as well. You can change this new method in Settings » Display Settings » Song Formatting » Chord Diagrams.

  • Multipage Grid Printing

    If you're looking to print your sets and are interested in saving some paper, this new feature may be for you. Multipage printing lets you print out 2, 4, 8 or 16 pages on a single piece of paper. To enable, open the options menu in the print preview screen and choose the new multipage tab. Turn on multipage by choosing 2-up, 4-up, 8-up or 16-up. You can adjust the margins, paper size and gap between the pages as well!

  • Song Book Printing

    We've made some updates to the print preview screen. You can now choose to print the selected song, set or book in the page layout options. You can then either print or send the PDF to another activity on your device like Mail.

  • XDR API Requests

    We've enabled XDR or "Cross-Domain Requests" to be issued against OnSong Connect. What this means is that a website running on the user's local network can access OnSong Connect via Javascript XML HTTP requests. This isn't much different from what can be done with software apps, but does open a lot more flexibility for developer integration.


  • Fixed an issue where if you start playing a backing track and then tap to start autoscroll (when audio is setup as a trigger) then the song is restarted. This change now prevents the song from restarting if it's already playing.
  • Fixed an issue that occurs when autoscroll continually through a set which results in scrolling to stop.
  • Fixed an issue where autoscroll would stop immediately if the iOS device did not have to scroll, even if an external screen or other devices needed to continue scrolling. OnSong now continues autoscrolling until it has scrolled 100%. This will also continue to change sections and not turn to the next song when autoscroll continually is enabled.
  • Fixed an issue regarding a delay in proceeding to the next song in a set when using continuous autoscrolling in conjunction with stage monitor mode.
  • Fixed an issue where if the user stopped autoscroll part way through a song and autoscroll was enabled, there would be a delay until navigating to the next song because the entire duration of the song was waited. This is now calculated as a percentage of the full duration by the remaining percentage of the song left.
  • Fixed an issue where a song with no duration set would be immediately skipped. This now uses the default song duration (default is 5:00).


  • Added the ability to rewrite into a different key in the Console. This is done using the Key slider in the Metadata palette by transposing the song content as well as setting the key in the metadata section.
  • Added the ability to toggle between minor/major in the Metadata Palette of the Console editor.
  • Changed the Console screen to automatically update the IP address of the device when networks are switched or disabled.
  • Changed the Console to display the name of the web browser when requesting permission to access the iOS device.
  • Changed the Console splash screen to display when either Console has been disabled or if the OnSong app is no longer running.
  • Fixed an issue in the Console where chords are incorrectly modulated up when capoed.
  • Fixed an issue that caused songs that included a comma in the title to not be displayed in Console when running Chrome and versions of Firefox.
  • Fixed an issue when switching to text from file in Console that would cause the renderer to be blank until a change was made.
  • Fixed an issue in both the app and Console that would offset chords if using chords over lyrics method in tandem with line formatting syntax.
  • Fixed an issue in the Console where the Insert Palette would not automatically update the line formatting for the currently selected line.
  • Fixed an issue where exporting to HTML from the Console was resulting in an incomplete HTML file.
  • Fixed an issue where text in the song viewer such as "Key of" and "Capo" was not being localized.
  • Fixed an issue that would cause a sporadic, but replicable crash when importing a number of songs at once via the Console.
  • Fixed an issue in the search and replace function of the Console whereby the search input was being interpreted as a Regular Expression causing unexpected results.
  • Fixed an issue with how capoed songs acquired enharmonic preference to respect the user defaults.
  • Fixed an issue where capoed chords would not appear correctly when using capo resulting in non-rooted chords and enharmonic symbols being added incorrectly.
  • Fixed an issue where the enharmonic preference of the key of C was not being respected.
  • Fixed an issue where the IP address (web address) in the Console screen does not update when switching networks.
  • Fixed an issue where the IP address will get stuck as to not reveal the resolved IP address when available.
  • Fixed an issue where complex chords such as E/G# would not be picked up in the Insert Palette.
  • Fixed an issue where song metadata would overlap between songs.
  • Fixed an issue where converting a file would return text, but converting a different file would return the same text.
  • Fixed an issue whereby tapping on "Cancel" when presented to allow Console to connect would continually popup the window until the browser tab is closed. This now will return a "Token Rejected" message which the client should use to cease the login process and prevent it for 5 seconds.
  • Fixed an issue where chord diagrams are being cut off in the diagram pane. This was solved by increasing the height of the panel by 32 pixels.
  • Fixed an issue where line formatting values in the Console's Insert Palette would not update when different lines where selected.
  • Fixed an issue where the bold and italic icons in the Insert menu would become out-of sync. This is caused by the cursor in the text editor is moved which using an Enter key.
  • Fixed an issue where changing the low light mode in Console and saving can cause the iPad to crash sometimes and always kill OnSong Connect. This has been corrected by sending the settings reset command on the main thread.
  • Fixed an issue where the search field in Console was not working in Firefox.
  • Fixed an issue where OnSong Console was not respecting the default values or settings for enharmonic preference.
  • Fixed an issue where changes to the song style such as header or metadata visibility would not update the Console when that song was being edited.
  • Fixed a wrapping issue when lines of text are encountered that contain no spaces such as tablature. This has been corrected in OnSong, Console and PDF generation by splitting based on characters.
  • Fixed an issue where the song was not being selected in the song list in Console when initially loaded even though the song was appearing in the editor and preview.
  • Fixed an issue where chord chart changes are not saved if those changed are made in conjunction with settings changes such as toggling low light mode.
  • Fixed an issue in the Console where setting the capo in the chords palette has no effect when a capo is set in metadata.
  • Fixed an issue where toggling low light mode and another style would cause slow performance and only change either the setting or the style.
  • Fixed an issue where changing the low light mode on the host device would not be reflected in the viewer menu in Console, creating an inconsistent user experience.
  • Fixed an issue where toggling low light mode in the console would cause a crash.
  • Fixed some crash conditions when toggling low light mode and saving song changes due to accessing non thread safe serialization classes.
  • Fixed a crash condition when disabling the Console when the web socket server was never started.
  • Fixed an issue with Console where monospaced fonts contained in sot and eot tags would not be scaled along with the lyrics size slider.
  • Fixed an issue where newly imported or converted files would cause the song list to become unresponsive.
  • Fixed various issues with the Follow feature in Console to improve performance and select the proper song in the song list.


  • Added the ability to export to iTunes File Sharing or Dropbox from the print preview screen, allowing song lists to be exported or emailed.
  • Changed the way the Cleanup Library tool works. It now prompts the user if they want to cleanup the library. If so, it also checks to see if there are any external files that are no longer viewed. This allows the user to decide if they would like to keep or remove externally linked files.
  • Changed how song lists are named when exporting or emailing books and sets to be named after the book or set.
  • Changed options menu in the print preview screen to be tabbed. This allows you to pick what to output, how to output it (page size and margins) and the ability to print multiple pages on one page in a grid.
  • Fixed an issue that would cause Planning Center Online integration to crash when a chord chart contained no artist metadata.
  • Fixed and issue that would cause ChordVault integration to crash.
  • Fixed an issue where line formatting code was being outputted directly in the HTML file. This has been changed to apply the line formatting in HTML.
  • Fixed some issues with the import process that would cause files to be added to the user's iTunes File Sharing unexpectedly.
  • Fixed an issue where restoring a library into a version of OnSong with "Keep File In iTunes" turned on, would still delete the file because the restored database settings had it turned off.
  • Fixed the HTML file exporter to look closer to the song viewer version.
  • Fixed an issue where removing externally linked files would not remove the reference to the file, causing the "Use Imported File" switch to appear. If switched on, the external file would show as missing.
  • Fixed an issue that causes imported songs with restrictions to still be synchronized to their library.
  • Fixed an issue where exporting and emailing OnSong Archive files from verified providers would fail due to permissions when using restrictions. This is because the OnSong Archive carries it's restrictions and information to sign into the provider.
  • Fixed an issue with ChordVault, RWTC and Planning Center where signing out of the account will cause songs to be greyed and not provide a login method.
  • Fixed an issue where a recursive documents directory could be created in the OnSong library causing issues with iCloud and iTunes backups. This was resolved by removing the directory during a Cleanup Library operation.


  • Added the ability to add numbers to indicate the order of songs in a set within the My Sets tab of the Songs menu. This can be enabled in Settings » Menu Settings » Songs » Sets » Display Song Order.
  • Added a ping API call that can determine if a version of OnSong is running and whether it is serving content.
  • Changed the visible/hidden icons in the style preferences menu to match the "power" icons used in the Console.
  • Changed the export feature of song reporting to allow exporting to either iTunes or Dropbox.
  • Changed how "Forget Last Song" works so that it will always unload any song or set and load the Welcome to OnSong song instead.
  • Changed the way in-app purchases work in the add-on screen to allow purchases to be restored with a single "Restore Past Purchases" button.
  • Fixed an issue where editing chord diagrams, such as marking a chord diagram as the default, would not update the chord inspector. This was caused by a chord like A/C# loading "A" as the former was not available in the chord library.
  • Fixed an issue where reordering songs in a set would cause the wrong backing track to play in certain scenarios.
  • Fixed an issue where preferred chord diagrams were not being saved.
  • Fixed an issue where switching between portrait and landscape orientation would cause drawings to shift position. This was corrected by disabling a fix that reduced sub-pixel jitter issues caused by iOS 7, but only on songs that contain drawings.
  • Fixed an issue where Forget Last Song may not work.
  • Fixed an issue where the "more" screen in the chord inspector on iPhone was not displayed in the proper appearance.
  • Fixed an issue where a dash in the CCLI # column of song reporting would output an improperly encoded value when exporting.
  • Fixed an issue where users would type support@onsongapp.com in the email field in the send diagnostics screen. This would cause us to never be able to response to their inquiry. The send button will now remain disabled until a valid email address is used.

Song Viewer

  • Changed the way a chorus is identified in a foreign language to include not just that language's versions of "Chorus" and "Refrain", but also the English versions.
  • Changed the way alternate keys (aka chord styles) operates in the iOS app. Before, the chord style was expressed as a key, which would result in the actual key of the song being unknown. Now you can pick a key prior to the N, R or I options to set the key and then set a chord style.
  • Fixed a crash condition that occurs if you have "Use Musical Symbols" turned on and a blank, non-chord is encountered.
  • Fixed an issue where setting the color of a section label using line formatting in conjunction with flow would cause a crash.
  • Fixed an issue with cyclical redraws when using High Quality Zooming by removing the High Quality Zooming option and it's effect.
  • Fixed issues with line wrapping on the iOS version to match the method used in Console.
  • Fixed an issue with blank lines in the chord chart when allowed to wrap the text. This was corrected by using the text wrapping algorithm used by the Console.

Stage Monitor mode

  • Changed the way the stage monitor mode scrolls to allow the "flicks" of the screen to start scrolling the stage monitors as well.
  • Changed the way autoscroll works in stage monitor mode to more accurately reflect the current position using the ruler on the left.
  • Fixed an issue where changing the orientation of the iPad while using external stage monitor mode would cause the external screen to redraw with the wrong songs selected.
  • Fixed an issue where changes such as line formatting made on the Console or iOS app would not be reflected in stage monitor mode until navigating to a different song and back.
  • Fixed an issue with drawing chord charts in stage monitor mode due to overdrawing.
  • Fixed an issue where the second song in stage monitor mode would highlight sections as they are highlighted on the first song.
  • Fixed an issue when using stage monitor mode with external files with remember zoom/position turned on where the file would not scroll because zoom/position was causing the song to reload.