OpenSong Changelog

What's new in OpenSong 3.4.8 Beta

Jul 22, 2021
  • Issues addressed:
  • Due to an issue with code signing and notarizing OpenSong for macOS, the NDI support
  • Library is not included with the OpenSong application. You can download it from
  • [this location](https://edpalmer.me/NDI_Runtime_for_OpenSong.pkg). The download is not
  • Hosted on SourceForge because the NDI library is only available as a closed-source binary.
  • This installer has been signed and notarized with the same Apple Developer ID
  • As OpenSong if you wish to compare them to verify the authenticity.
  • The NDI library for all platforms is V4.6.2. It is included with the Windows and Linux versions and does
  • Not have to be downloaded separately.
  • The user interface for adding and deleting verse-specific backgrounds has been reworked
  • In a way that should smooth out the workflow and make it clearer what should be done to
  • Manipulate the backgrounds.
  • The order in which the image file types is presented in the dialog box to open a file
  • Has been changed to put the most common types at the start of the list.

New in OpenSong 3.4.6 Beta (Apr 1, 2021)

  • Issues addressed:
  • Searching for a song on macOS no longer hangs under random circumstances.
  • Searching for a song where the song name includes accented characters and the search string includes accented characters now works on macOS.
  • New Functionality:
  • No new features are included in this release.

New in OpenSong 2.1.2 (May 8, 2014)

  • Fix issue where PresentHelper was not updating properly, when presenting a single song & then
  • adding song on the fly.
  • Fix off-by-one error that was causing the last line of a song's lyrics to not be shown
  • Fix for issue with image chooser dialog where images in sub folders are not updated and cleared correctly
  • Fix for problem with creating new songs on Linux
  • Fix issue where newly created song could not be selected in song list, if (All) or (Main) was in CelTag.
  • Bug fix for No slide type coloring on new items, until refresh
  • Fix for strange behaviour of popup window for adding new songs to set on Linux

New in OpenSong 2.1.1 (Feb 3, 2014)

  • Make handling of verse, chorus, bridge, .. names more tolerant for case changes to prevent verse image backgrounds from not showing
  • Fix for cosmetic bug that causes the input field to be hidden in the inputbox. This prevents creating a new song

New in OpenSong 2.1 (Jan 29, 2014)

  • Fix for selecting (movie) files on MacOS for use with Videolan (bug #362) (Vwout)
  • Improvements for Linux (Vwout):
  • Fix in rendering; the font size interpretation is now equal as on Windows and Mac
  • Many small changes in the UI to make the text in dropdown boxes fit
  • When sharing the sets between Windows and Linux, using Microsoft fonts, it is recommended to install the package ttf-mscorefonts-installer.
  • Added a Readme with basic information and instructions how to build OpenSong
  •  Change in WebSocket implementation, POST authentication is removed from handshake (Vwout)
  • The websocket initialisation now uses a GET request to upgrade the HTTP connection in accordance with the RFC6455.
  • As the websocket connection is now not authenticated, actions that modify the state of OpenSong are no longer allowed. This means that the websocket allows all GET actions, plus the ws resource actions.
  • Fix for REST implementation regarding the presentation action that did not work (Vwout):
  • all /presentation/section actions
  • all slide actions that modify the presentation state (/presentation/slide/previous, next, ...)
  • /presentation/screen/freeze action
  • Allow mouse click over slide preview on PresentHelperWindow to move forward and backward one slide. (Feature request #347) (swampcat)
  • Cosmetic fix in song editor (inconsistent behavior of 'keep aspect ratio' checkbox) (bug #406) (Vwout)
  • Added explanatory labels to spacing-editboxes in the print settings dialog (feature request #99) (Vwout)
  • Fixed incorrect button state when no verse is selected for setting verse specific backgrounds (bug #399) (Vwout)
  • Cosmetic fixes when switching languages (bug #402) (Vwout)
  • The list of themes is reloaded, a restart of the program or a reload of the song is no longer needed.
  • The themes list has a wider listbox.
  • Fixed folders selection in Song Mode (bug #394) (Vwout)
  • When the songs folder is 'All', the behavior is back what is was before: the song is loaded and the folder selection does not change.
  • A new feature is added, a double click on a song when the selected folder is 'All' will show the song, and change the selected folder to the folder that the song is in. The song list will be updated to the contents of the folder.
  • Fixed highlighting of the current song in the Songs list (bug #397) (Vwout)
  • Fixed issue in WebSocket API implementation: server must not mask frames (Vwout)
  • Fixed issue with Windows installer not loading default Bible (le717)
  • Update Windows Inno Setup added in 2.1 RC1 to newest version (le717)
  • Fix in loading of song background images. If images are included using a link, a broken link could lead to the inability to fix the image binding and finally crash OpenSong (Vwout)
  • Minor change to make OpenSong run using Xojo 2013 (Vwout)

New in OpenSong 2.1 RC 1 (May 23, 2013)

  • Miscellaneous housekeeping for Macintosh Cocoa support (swampcat)
  • Enable horizontal scrollbar in song editor for easier editing on small screens. (Vwout)
  • Make image processing defaults configurable (new options in main settings). (Vwout)
  • Added ability to link songs together for presentations. (JRC)
  • Enable searching of songs in SongPickerWindow. (JRC)
  • Fix user defined fields not updating when returning from MainSettings. (JRC)
  • Change behavior for copying a song if source and destination are the same to: Prompt the user to rename the file. (JRC)
  • Display Set name in PresentHelper Window's title. (Feature Request #338) (JRC)
  • Fix in song loading, files in 'Main' or when 'All' is selected could not be loaded either from OpenSong or using the API. (Vwout)
  • Extended Automation API implementation: added load and present actions for song and set. (Vwout)
  • Small bugfixes in Automation API. (Vwout)
  • Fix for "Song Lookup" does not populate 'All' at initial load - (Bug # 3546361) (Vwout)

New in OpenSong 1.7.0 (Jun 11, 2011)

  • Several fixes and improvements for tab processing:
  • tabs at the beginning of a slide now also work
  • styles with only 1 tabstop location now also work correct
  • improved behaviour of character-aligned tabstops
  • Fix verse display presentation for songs with multiple chorus variants like C1 V1 C2 V2 C2 V3 C2
  • Add option in presentation settings to export snapshots of the slides that are presented as an image to a file
  • Decrease height of lbl_the_question in InputBox.Message to make push buttons visible again (JRC)
  • Complete the fix for bug 3117855 by correcting issue with quick lookup with extended Latin-1 characters in book name. Requires change to the regular expression that parses the citation, so by creating a new key in the preferences file, biblefactory/useoldregex and setting it to true, the old regular expression will be used
  • Add option to turn off reversing the Bold attribute on the font used to print chorus lyrics
  • Misc. Mac stability fixes
  • Fix bible indexing issue where the first word in the first verse of the first chapter would be added to the index but the reference wouldn't be
  • Fix bible indexing issue where UTF-8 characters would be dropped from the index incorrectly
  • Fix bible indexing issue for bibles with newline characters
  • Improve set item reordering - quick drag-and-drop could mess up the synchronization between set list and contents window.
  • This still can happen - looks like an RB issue, although you need to try harder now.
  • Added an option to force 4:3 preview mode on wide or portrait screens. This allows correct presentation preparation for 4:3 screens on a monitor with a different aspect ratio. This option can be enabled on the Presentation Settings dialog. See the tab 'options' under 'Screens'. It is now also possible to make the Presentation Helper window even smaller.
  • Added next slide preview in presentation helper window. The availability and size of the preview is changed automatically when resizing the Presentation Helper
  • Fix for CCLI song number reporting for presented songs
  • Fix in set item selection (reselection after deselection is not processed correctly)
  • Fix for 'Arrow keys bug - Moving left causes issues'

New in OpenSong 1.6.2 (Sep 1, 2010)

  • Add global variable UseSheetDialogs to determine if the dialogs that support the "sheet" style on OS/X are sheets or independent dialogs. The global is forced to False on Windows and Linux and controlled by the hidden key "dialogs/@usesheets" on Mac and defaults to True. This is an attempt to fix the hard crash on Windows when printing. [Yes, it is not logical, but that's where the crash report points] (bug #3039651) (swampcat)
  • Change logic for determining location of files when in Debug mode since Mac is different from other platforms. (swampcat)
  • Resolve bug when searching an empty songs folder (bug #2789877) (Vwout)
  • Fix for "Find Again" (Ctrl-G) not working (bug #2968179) (Vwout)
  • Prevent crash and improve copy/inserting of set items (bug #2977387 and #2988718) (Vwout)
  • Improved handling a corrupted plist preferences file. The error is now more descriptive and proposes to repair the file (bug #3021753) (Vwout)

New in OpenSong 1.6.1 (Feb 20, 2010)

  • Fix issue that was preventing adding a song to a presentation during live mode (JRC)

New in OpenSong 1.6.0 (Feb 15, 2010)

  • Added Scirpture Lookup to File Menu, so now it's possible to lookup a scripture reference anytime (JRC)
  • Added option to copy current scripture to the clipboard (JRC)
  • Rather than display an error when the Bible book name provided by user is ambiguious just go the first matching book (JRC)
  • Support partial book names when doing scripture lookups (eg. 'Phile' for Philemon) (bug #2769373) (JRC)
  • Support bshort abbreviations when doing scripture lookups (bug #2769373) (JRC)
  • Set Images to autosize to screen as default (feature request #2688285) (Vwout)
  • Removed quote actifact from 'scripture_lookup/bad_reference/ambiguous' error message (bug #2769373) (JRC)
  • Changed behavior of style slide: this style now also overrides song specific styles (Vwout)
  • Fix for subtitle handling when using other styles than the generic song style (Vwout)
  • Enable (fix?) subtitle style modifications on slide specific style overides (Vwout)
  • Updated the 'translation howto' message and slightly enlarged the InputBox to make room for the enhanced message (Vwout)
  • Updated the language independent language file contents for the new present set item button in all languages (the hint-message is not included) (Vwout)
  • Added new translation for Russion (thanx Vlad) and updated Português (Brasil) (thanx pauloneto)
  • Fix listing of verses in the song title for verses that occur multiple times in the presentation order (gerritp)
  • Rename Report class to ReportClass (compatibility with RB 2009R4) (JRC)
  • Various fixes to comply with RB 2009R4 changing Editfield class to TextField (JRC)
  • Added new translation for Italian (thanx matteo)
  • Use CheckBox.Value instead of CheckBox.State (compatibility with RB 2009) (JRC)
  • Added link to the online user manual
  • No longer call HeapSort if we are filling a listBox as the array isn't used and doesn't need to be sorted. (TH)
  • No longer HeapSort twice if running on Mac. (TH)
  • Fix issue were presentation was not starting on the first item (item list is zero-based, doh ;) (JRC)
  • Remove second present dual-screen menu item in song mode (bug #2734093) (JRC)
  • Replace depreciated WatchCursor with System.Cursors.Wait (thanks Joseph Dol for pointing this out)
  • Add support for displaying the same verse from 2 bible versions (thanks Ovidiu).
  • Added the ability to start a presentation from a specific set item (JRC)
  • Building with the RB 2008 r5.1 compiler

New in OpenSong 1.5 (Feb 21, 2009)

  • Updated translation for Português (Brasil) (thanx pauloneto)
  • Show chorus/bridge on the right spot between the verses in title (gerritp)
  • Replace DocumentsFolder and PreferencesFolder with their SpecialFolder counterparts for compatibily with RB 2008 (JRC)
  • OpenSong now only logs songs which the user actually displays (JRC)
  • Fix issue were PresentWindow wasn't getting focus when presenting single song (JRC0)
  • Updated translations for Czech, Spanish and added Hungarian
  • Fix bug where if you press del in lst_image_images, it will delete the whole list, now it only deletes the selected picture (gerritp)
  • Added Gerrit Prins to list of devs in About Window
  • Copy/Paste of Set Items is now supported (gerritp)
  • Prevent Endless loop in SetML.DrawSlide (gerritp)
  • Indent song after forced line-break (gerritp)
  • Reload set when saving (temporary workaround for bug #2308669)
  • Fix tabulator issues, bug # 2484150
  • Fix broken set item type displaying in set list (JRC)
  • Updated Slovenian translation
  • Fix for bug id 2473781: Black screen with No Transition on initial item
  • Update Swedish (Svenska) translation for v1.4
  • Added option to specify maximum number of characters per slide when inserting scripture verses (gerritp)
  • Reworked interface of ScripturePickerWindow and SearchWindow (vwout)
  • (re)Enabled song style on a per slide basis (vwout)
  • Added image slide to show one or more images instead of a (body) text (vwout)
  • Fix Slovenian translation, made OpenSong more clear on translation xml error
  • Fix for bug id 2465607: Presentation margins (title space is always subtracted from top) -= 1.4.0 =-
  • Fix the OpenPrinterDialog call in Report to attach to the window returned by GetFrontControlScreenWindow instead of Window(0). Although Window(0) should be the top window for the app, for some reason on OS X 10.5 (Leopard) this will return a handle to a window that is not visible. This prevents the hidden window from ever unloading, blocking the application from exiting without doing a Force Quit. (swampcat)
  • Fix in MainWindow to prevent a crash when selecting an empty row in the songs-list after a song edit (vwout)
  • Added Czech translation (thanks matysek03 and others)
  • Ignore punctuation in a search (feature request 2122181) (vwout)
  • Added and chunks to all language files (prevents a Nil object exception when loading) (these will need to be translated)
  • Added Polish translation
  • Added Slovenian translation (leeloo3)
  • Add ability to view/merge exported song activity logs (JRC)
  • Fixed GetOpenFolderItem in mnu_settings_install_module was not being called correctly (JRC)
  • Implemented Song Activity Log export (JRC)
  • Made Select Folder Dialog for Set Export translatible (JRC)
  • Added option to prompt before adding presented songs to the activity log (JRC)
  • Provide a (hopefully) more detailed error message for failed activity log loading (JRC)
  • Fix issue where Currently selected Set Item was not updating after removing an item from set list (JRC)
  • Added option to copy a song from one folder to another (JRC)
  • Fix issue where Currently selected Set Item was not updating after removing an item from set list (JRC)
  • Fixed a bug in StyleWindow, background was not updated on image drop (vwout)
  • Corrected startup behavior for screens with a toolbar on a different position than at the bottom of the screen (vwout)
  • Added the option to not include images from the OpenSong backgrounds folder in the set xml (vwout)
  • Added user configurable quality settings of images that are stored in the set xml (vwout)
  • Added option to enable/disable the song activity log to MainSettingsWindow (JRC)
  • Title, Subtitle & Body of slides can now be enabled or disabled (JRC)
  • Commented out some "unused" code in SetML.DrawSlide (JRC)
  • Added AcceptMouseDown property to SFontCanvas (it's purpose should be pretty self-explanitory ;) (JRC)
  • Enable/Disable drawing of text in SFontCanvas depending on the enabled state (JRC)
  • Change the color of the outline on SAlignCanvas depending on the enabled state (JRC)
  • It is now prossible to drag & drop images in the Style Window. (vwout)
  • Prevent a program crash when logging is disabled (the ActivityLog.xml is corrupt). (thanks vwout ;)
  • Added a style option for song sheets to display the verse numbers (and the currently displayed verse highlighted) with the title. (vwout)
  • Enhanced the song picker window: - searching now not only looks for a match at the start of a song title, but continues to check for inner title matches when looking at the start of the title does not result in hits - add the ability to specify a custom presentation order in this dialog to ease the process of inserting songs in a (live) presentation (vwout)
  • Added the option to use (or not use) transitions on a slide by slide basis. This works for both script and song slides. (vwout)
  • Fix in SongML.CloneStyle not copying all style settings. (vwout)
  • Fix in SAlignCanvas and StyleWindow to no lose the alignment settings for one dimension when setting the other in combination with the callback function. (vwout)
  • Handling of center-, right- and character-aligned text was made more intuitive (vwout)
  • Add reference implementation for margins and tabs (vwout)
  • Made IndexProgress dialog translatable (vwout)
  • Implement patch from TrueJournals (patch #1927402)
  • Fix issue in SongPickerWindow where songs were not listed in numerical order (JRC)
  • Correct issue with the previous bugfix where the first and last item in a set inaccessable (JRC)
  • Reload set when switching back to Set Mode (fixes bug #1851991) (JRC)
  • Disabled activity logging in Song Preview Mode (JRC)
  • Don't reload the current set item if the user clicks the same item in the list (JRC)
  • Reorder set item list manually(workaround for bug #1827986) (JRC)
  • Fix issue in SOngPickerWindow where songs were not listed in numerical order (JRC)
  • Fix issue where changing chapters in ScripturePickerWindow wouldn't work correctly if moving from a chapter with more verses than the new chapter AND the From or Thru Verse selected was greater than the last verse of the new chapter. (JRC) -= 1.3 Beta 2 =-
  • Fix Bible citations so a single verse shows up as "Genesis 1:1" and an entire chapter is "Genesis 1".
  • Add the Bible name to the slide group's name tag so the Set routines will treat two adjacent passages of the same range but different Bibles as two distinct entities instead of combining them.
  • Fix some filename comparison issues in StringUtils.CompareHymnBookOrder and in MainWindow.lst_songs_songs.CompareRows. This will hopefully clear up some of the issues seen with items sorting the wrong way. Definitely fixes an issue with "2008-02-09" being evaluated as less than "2008-02-08 Alternate".
  • Fix song preview in SongPickerWindow to avoid NOE if the file isn't valid XML.
  • PlistDict would silently fail to store an integer as a real (and vice-versa) even though get getter and setter for both convert to double.
  • Fix debugger not re-enabling or storing new value if previously disabled.
  • Fixed bug where Bible.genindex would attempt to close the splash window even if it didn't exist. Fixed bug in exception handler that caused the resulting NOE to cause a complete program crash.
  • Added Classes/GUI/StringSplitter and Classes/GUI/CanvasSmartSplitterDebugger to project. Added credit for the source to the English translation ("StringSplitter by Harrie Hooie)
  • Modified SongPickerWindow to use a splitter between the song list and the preview to give the user more control over the display.
  • Added StringUtils.Chop to delete a specific string from the end of another. This is part of a later version of StringUtils than the one currently in the project. (TODO: Reorganize and strip code added for OpenSong from StringUtils to allow us to update StringUtils when new versions are available.)
  • Fixed SongPicker so that the backspace key will work if focus is on the song list and a search is in progress.
  • Added second column to SongPicker listbox to show the folder if more than one folder's songs are being displayed. Adds song_lookup/songs to language file. -= 1.3 Beta 1 =-
  • Misc. UI fixes for PrintWindow: correct control size/spacing on Mac, scroll bars properly enable/disable after resize, scroll wheel works within a page.
  • Bugfix HTML export of files in subfolders
  • Replaced the conditional compilation in MainWindow for the pseudo-dualscreen presentation mode on Linux (not sure why it went missing). This mode assumes that if the aspect ratio for screen 0 is extremely biased toward the horizontal the configuration is actually two monitors of equal resolution.
  • Deleted binding in StyleWindow that updated the image background color when a new color was selected. The can_background_color.Action event now performs the update and notification previously handled by the binding. This completes the deletion of all control bindings from the project.
  • Deleted binding in SongPickerWindow.
  • "Hidden" preference "songs/preview/showchords" in the preferences.plist (org.opensong.opensong on Mac) controls the display of chords in the song lyrics preview pane of the SongPicker. Run program and open the SongPicker at least once to set this to the default, true, which reflects current behavior. Then edit the plist and manually change this to false to just show the lyrics. This is in response to Feature Request 1767952. A future enhancement will make this a visible preference.
  • Corrected where scripture verse/paragraph format would flip-flop every time the scripture picker opened due to an error in ScripturePickerController.SaveState (Bug #1818208) * Refactored ScripturePickerWindow to eliminate the control binding between lst_scr_nt and lst_scr_ot. * Refactored SearchWindow to eliminate use of control bindings. SearchWindow dialog OK button now enables properly. (Bug #1836568) * SearchWindow doesn't crash with NOE if opened again after cancelling the previous search. Both ScripturePickerController.DoSearchBible and SearchWindow.btn_search_cancel.Action had to be modified to fix this. (Bug #1828757) * Reversed the "by verse/by paragraph" formats for scripture. "By verse" should start each verse on a new line. "By paragraph" should format the entire slide as one paragraph (i.e., one line in the slide text field). ScripturePickerController had it exactly wrong. (Bug #1818208) * Workaround for RB 2007 issue where UTF-8 strings are improperly encoded in ContextualMenus (bug #1829317) * Improve filtering of hidden files and folders on Windows (FolderDB) * Converted RB deprecated keyword IsCMMClick to IsContextualClick since the former is removed in RB2007r5 and the latter was added in RB2005. * FIXED New debug log level get saved now (Sleepy time Ed ;) * Prevent OOB Exception in App.Open when DebugLevel = 0 (Disabled) * Disable the close button while generating scripture index, (bug #1642437) * Pressing Num-pad Enter in SongPicker now works again (bug #1803093) * Log error and exit if we couldn't load preferences file * Fixed issue in LoadPreferences: V1.0 RC2-16 preferences file never gets read (got eaten by the next call to GetPrefsFolder() ) * Prevent NilObjectException in GetPrefsFolder (bug #1810528) * Fix corner case in App.Open where the sub-Folders exist but are empty (bug #1803741) * Load default files if settings files in DocsFolder are corrupted (bug #1803741) * general_settings/logging caption changed to "Debug Log Settings" (so as not to be confused with song activity log) * Added Function CompareDates to OpenSongUtils * Added Song Activity Logging * Moved Song Rename code to ActionSongRename Method * Added Page Breaks(-!!) info to help * Don't revert/update Unsaved Song or Set when Closing -= 1.2.1 =- * Copying a song entry in a set correctly copies the song's path instead of adding the attributes for a custom slide. (MainWindow.ActionInSongCopy, SmartML.CloneAttributes) * Removed redundant properties in FolderDBOld left after FolderDB was redesigned. The visible effect is that error messages related to the Songs folder are properly reported when using the pre-V1.1 folder cache setting. (FolderDBOld) * Set Export is functional again. (MainWindow.ActionSetExport) * Added the Mac Bundle Identifier to the XML source. REALbasic failed to save this when the Version Control Format source was converted to XML source. Note: A bug in REALbasic through at least RB2007r4 requires this to be manually added in the built application's Info.plist even though it is in the XML source. -= 1.2.0 =- * Fixed issue where a folder could be successfully created, but an error is returned (Linux only). * Printer output should properly scale on all printers. The printer resolution in dpi was changing when the printer was opened to print, but the setup didn't reflect the change in size (page width/height in dots). This is a REALbasic/printer driver issue. OpenSong detects the change and will scale the page appropriately. This may not provide the full resolution available on the printer. * Set Export will now create a Songs folder for the songs and a Sets folder for the sets. This should simplify moving an exported set from one system to another, but will break any automated processes built for V1.1. * Corrected several control order issues that are the result of a bug in REALbasic which causes custom controls (all of the action buttons on the editors, for example) to change order when the control is the child of a group control or other containing control. Because of this, the XML version of the source will be maintained in the SVN source pool and the project control version should only be used as a reference for changes. The XML version will reflect the "as-built" source. * The setting to use the pre-V1.1 folder cache will now be saved and loaded properly. In V1.1.2, this setting would not be saved, so the program would always use the new folder access method. * plistDict was incorrectly setting the type of numeric values to "double" (no longer valid) instead of "real". * Corrected issue in prefsPlist class where attributes might not be created if a parent leaf did not exist. * Trashed some dead code in MainSettingsWindow.Open. * Changed some error messages in Translator.ParseHierarchicalName to be more descriptive. * (The following items identified by the "+" are all linked with the objective of removing the need for environment variables and to give the user more control over program error logging.) + Rewrote how DebugOutput object is setup and cleaned up some of the object model. + Modified App.Open to match changes to DebugOutput; added constants for debugger preferences. + Complete rebuild of the MainSettingsWindow form elements: added tab panel to support more items, fixed tab order. + Added debugger preferences to MainSettingsWindow. + Added to the translation files (must be translated in non-English): general_settings/general/@head[12] general_settings/logging/{append, console, level, dialog} + Moved the following in the translation files: general_settings/general/startmode/song -> general_settings/startmode/songs general_settings/general/startmode/set -> general_settings/startmode/sets general_settings/newpaint -> general_settings/fonts/newpaint style_editor/fonts_and_alignment/descriptive_subtitle_info -> style_editor/fonts_and_alignment/descriptive_subtitle * Changing sets with a pending set item change no longer results in a NilObjectException error. * MainWindow.ActionSetExport: exported song files reflect the creation and modification dates of the original file, not the time the set was exported. * Changed edit fields in FontChooser and other dialog windows to SEditField to support cut/paste. * Deleted unused pushbuttons in FindWindow. These controls were not visible, so no change is apparent to the end user. * Updated InputBox to properly move the OK/Cancel buttons for each operating system. * Corrected issue where InputBox would trigger an unhandled NOE if the translator hasn't been initialized. * Translator.TranslateWindow reworked for better legibility and maintenance. * Added support for using the Unicode Character "Lower Macron" (similar to an underscore) as an indication of elided syllables (http://dictionary.reference.com/browse/elide). It will be shown on printouts but presentation mode will show it as a space. The Lower Macron character is Unicode code (hex) 02CD. * New implementation of ScripturePickerWindow and SearchWindow. * Updated edit fields on dialogs to be instances of SEditField or SEditFieldNumeric subclasses. -= V1.1.2 =- * Added significant debugger output to ActionSetPrint to try to determine why some users are seeing errors. (These were removed in SVN revision 261.) * Changed plistDict to use constants for datatypes instead of literals. * Fixed issue in PrefsPlist that prevented proper creation of a value node for a leaf that is more than one level deep. -= V1.1.1 =- * Moved entire text of the About box's acknowledgements to the translation file. * Added copyright acknowlegement for PuffyClouds1.jpg (c) FreeStockPhotos.com * Printing a set's songs now works for songs that aren't in the top songs folder. -= V1.1.0 =- * Corrected another issue in the new FolderDB where folder scans were always recursive instead of honoring the "recurse" parameter. * On the song selection dialog (SongPickerWindow), update the quick lookup field to reflect the search text typed into the listbox. * Corrected issue in FolderDB.GetFilesGeneric (fencepost error) * Made the default output for the debugger the user's home directory if running a built application (correct file protection issue for non-priv users). * Fixed some odds and ends that prevented proper initialization on Linux. * Simplified logic for locating files in both App.Open and MainSettingsWindow. * Added error message for FileUtils.CopyPath and made CopyPath and CopyFile smart enough to call the other if needed. Also made CopyFile smart enough to take a directory as the output target. * Fixed issue with sets and missing songs not alerting the user. This was introduced because of changes to the underlying FolderDB in r235-236. * Disable the CCLI Import facility. A message (errors/cclinotavailable) is shown instead. Maybe this will reduce the number of bug reports for this issue. * Fixed a problem with plist-based preferences that caused a GetValue operation to fail when a parent node to the target didn't already exist. * Added errors/fileutils section to the English translation and corrected FileUtils to look for the right XML path. * Incorporated Martyn's (atuin2) work for exporting a Set and the associated Songs to a directory for transfer to another system. No import capability (yet). * Cleaned up some problems with FileUtils and added FileUtils.CopyFile to support Set Export. * Updated text on the About window and added (unlabeled) fields to display memory and object usage. * Deleted the Baselevel (BL) version designation. New versions use major.minor.bugfix numbering strategy. * New implementation of FolderDB. This version does not use a cache, but rather reads the Songs and Sets folder when the program starts up. On Windows and Macintosh, this is implemented using operating system-specific routines; for Linux in this version it relies on the RB FolderItem object (slower). To disable this and use the old FolderDB cache, edit the parameters.plist and change documents_folder/UseOldFolderDB/value from False to True. This setting can also be changed on the General Settings property page. The default is to use the new version. When using the new version, Tools/Refresh will re-read the Songs or Sets folder but will not put up a status dialog or write a _cache file. The latter means your cache may be out-of-sync if you change from the new FolderDB to the old one. * Added general_settings/documents_folder/oldfolderdb to the English language file. * If two folders with a parent-child relationship contained a song with the same name, selecting the parent folder's song for deletion would actually delete the song in the child folder. This is now fixed when using the new FolderDB implementation. * Fixed issue with lyrics autoformat (BL20) on Windows due to line ending differences. * Double-clicking a song in a set list will correctly find the item even if the song is not in the folder tree of the active folder in the Song Editor. * Special folders (Main) and (All) now correctly translate. * Fix issue where two files with the same name but different Extensions would get the same thumbnail image. Adds an extra Extension for the thumbnail's filename * SButton controls now treat spacebar and Return/Enter keys as equivalent to a keypress. Changed all instances of SButton buttons on MainWindow to accept focus so they are included in the controls activated by a Tab. * Fixed issues with SButton painting: (1) RB2007 requires design-time parameters to be Public (affects StickyBevel, LabelAlign); (2) grayscale version of icon wasn't being created so there was no icon on a disabled button when using "new visual style"; (3) changed default visual style to use the grayscale icon on disabled controls. * Put better error message handling in SmartML to help report errors at program initialization, especially when the Globals file or language file is missing. -= V1.1.0 BL20 =- * The initial space on a lyrics line is no longer required when typing in lyrics IF the first character on the line is alphabetic. Numbers or special characters are treated as coding characters. The spaces are automatically added to the lyrics lines when the song is saved. * Add quick lookup to song selection dialog box. Updated English file with revised song_lookup/header and new song_lookup/lookup. (Integrates changes from JRC through r218.) * Refactored command parser in PresentWindow for better readability and in preparation for more changes. -r214- * Subtitle descriptions won't appear if the requested subtitle field isn't set. [Help Forum message 4332769] * Altered PuffyClouds.jpg (default song background) to remove need for Trim Bottom to be used. Changed default Trim in PresentSettings to 0. * Add song preview as part of the Song Picker. (Adds song_lookup/preview to language file) * Changed the set list in PresentHelperWindow to keep the current slide in the center of the listbox as much as possible. * Improve PresentHelperWindow handling of keystrokes when focus is on the listbox. * Fix typo that prevented compilation under Windows (changed ' to ") * Improved URL encoding for exported HTML files -= 1.0.3 BL19 =- * Fix issue in SEditFieldNumeric where the limits would be enforced even if enforcement was turned off. * Correct the output of the bible index to avoid truncating the last character of each entry. [Bug 1718177] -= 1.0.2 =- * Include minor changes to help correct presenter issues in versions compiled with RB200x. * Fix issue with margins display in Print Settings. In Mac UB, correct stacking order for labels in the Print Settings dialog. * In ScripturePicker, change the default button to Insert after first Insert (live display from ScripturePicker without adding to set). The operator only has to press Enter to move forward after that point. * Prevent NilObjectException in lst_set_items.change * Add conditional check to pop_scr_version.change to see if we are initializing (fixes preview text not showing) * Correct issue with not prompting prior to deleting a set. * Change folder layout to match the one established by the RB2006 branch. * Update all the new platform-specific App properties. * SButtonPopup wouldn't properly dismiss on Windows & Linux. Under RB5.5, the platform differences in mouse click handling were handled automatically. In the later versions of REALbasic, the platform differences are exposed. Handle opening the SButtonPopup in MouseDown for OSX and MouseUp for the other platforms. Action event is still called in MouseUp for all platforms. * Incorporate RŸdiger's ErrorPopup window to the App.UnhandledExceptionEvent. Add new exception types to the massive If/ElseIf in OpenSongUtils.ToString extension to the RuntimeException class. -= 1.0.1 BL17 =- * Correct issue where subfolder entries in a FolderDB cache would be corrupted, rendering them inaccessible. See the JRC source tree for editorial comments. :-) -= 1.0.0 BL17 =- * Removed unused vars in lst_songs_songs.changed * Fix corner case in SongEditor where user would click in an empty row of the song list and has unsaved changes,those changes would be lost * Prevent Second Save prompt when renaming set(Bug 1700769) * Fix issue where the list of verses for a book wouldn't be displayed if the book has non-ASCII characters. [Bug 1706973] * Rebuilding the song folder cache will complete one folder before beginning its subfolders to reduce the number of times the status window blinks. * Fix issue where OpenSong would quit if the documents folder saved in the preferences did not exist, leaving users with no easy way to repair the problem since the folder is a Base 64 encoded string holding the value of FolderItem.GetSaveInfo. * Add AbsolutePath to the info saved with a FolderItem in a preferences file. OpenSong ignores this value when reloading the FolderItem, but it is useful for debugging. * When new scripture version is selected, don't reload the scripture if the new version is the same as the currently loaded version. * Release Bible object before loading new version. Improves, but does not fully correct, a memory leak when changing bibles. [Bug 1703561] * Correct an issue introduced in r166 on IndexProgress where it wouldn't close properly after the scripture index is written. Also set IndexProgress window properties to prevent resizing. * Made printing the presentation order on the leadsheet optional. The default is to not print it and produce the same output as RC1-BL14. Add to your PrintSettings file to enable. Post-V1 will address this a different way; for now it provides a workaround for those who don't need or want the presentation order printed. (r166) * On Mac OSX, corrected module installation menu item to correctly allow selection of the module file. * Changed scripture indexing progress window to a global floating window to address issue with window stacking order. To cancel index creation now, close the window with the close box. * When installing a scripture module, ask to build the index during installation. [Feature Request 1695997] * Scripture index creation won't crash the program if the user doesn't have the appropriate privileges to write the index. [Bug 1695995] * Correct NilObjectExceptions when printing a set list or songs in a set. -= 1.0 Release Candidate 2, Baselevel 16 =- * Reworked change from revision 154 for PresentWindow exit dialog. Program now will use the operating system message box ONLY if in single screen mode. This avoids the message box appearing on the presentation screen if the last window with the focus was the presentation window. * Export Song to HTML will not include capo chords if the "print capo chords" flag is not set. [Bug 1695098] * Corrected internal logic bug in the scripture picker. * Closing a presentation by focusing on the presentation display while a dialog box is open no longer causes problems and a crash later. [Bug 1693567] * If scripture file is not found at program start, prompt for the file to use. Added scripture_lookup/select_file to English translation. (r154) * Exit dialog for PresentWindow changed from InputBox to an operating system message box to correct issue where the dock and menu bar would not hide after prompting for exit and the user selecting Cancel to return to the presentation. (added in r154 but not documented in commit message) * Updated English translation to make a better distinction between the two CCLI numbers: the church license number and the song CCLI ID number. * Correct issue introduced in BL15 where the default style would be used instead of the song style if song_style_preferred is False and a style change is not active. * Fix mouse getting stuck on the hourglass after presentation. * Fix PresentWindow on Mac so the resize box does not appear. As a temporary side effect, the window cannot be sized or moved when using dual-screen preview mode. * Mouse cursor properly changes when over PresentWindow even if the window does not have focus. * Corrected error in saving custom slides where the starting characters of the final slide would be dropped if the slides contained multi-byte characters. (OpenSongUtils.SplitRE) (Bug 1668194) (r149) *Update style.css to include hymn number & presentation order *Include hymn numaber & presenation order in HTML export * A meaningful error message is displayed if the language file is missing. The user is given the option of selecting a new language. * Added main_menu/edit/selall to English translation file. (Bug 1651194) * Fix single screen mode on Mac to properly remove the menu bar when OpenSong regains focus from another program. (Related to Bug 1512764). * Eliminate indexing or presentation of non-space whitespace characters in scriptures. (Bug 1658650) (r147) * Added update to MainSettingsWindow from r146, resizing nte_documents_warning. * Updated version to baselevel 16 (was getting harder to keep track of when certain changes in BL15 were made). * Changed PresentWindow to remain invisible after creation until late in the Present method to minimize visible changes to the window as it is configured. * Additional changes to PresentWindow to address issues with inconsistent window updates at start of a presentation. (Bugs 1559351 and 1658099) -= 1.0 Baselevel 15 =- Revision 145 * Fixed a couple of bugs introduced with the preferences file that caused a crash if the file did not exist. * Change help shortcut key on OSX to Command-? to more closely conform to the Apple UI standards. Command-H is most commonly used for Hide. * Clean up error handling if the main preferences file didn't load properly. (JRC r141) * Removed OpenSongUtils.Xor (not used and incompatible with RB2007r1) * Moved FormatFolderName from MainSettingsWindow to FileUtils. That's probably a more appropriate place for a utility function that may come in handy elsewhere. * In a previous change, MainWindowSettings was modified to only change the location of the documents folder in the preferences, not the running program. This means that OpenSong may continue to safely run against the old folder. The forced exit was removed and the prompts changed. * Added NotifyReceivers method to the IPreferences interface. No sense being able to register callbacks without a way to make them, eh? * On Macintosh, Presenter mode will not minimize the main window to the dock, nor restore it when leaving Presenter. * Trap NilObjectException in SmartML.XDocFromFile. An error before the translator is loaded, or in loading the translator, could cause OpenSong to chase its tail trying to display the error. * Added Tagalog books to bnames.xml (book names for Zefania). * Main preferences dialog updated to show the folder in use for songs and sets. Some controls in this dialog are resized to accommodate the Slavic and Germanic languages. Settings are stored in the new preferences file (see next item). * The Globals file, while contained within the application's directory tree, is written to by any user on the computer. This created an issue for security-conscious users who desired to have non-Admin accounts run OpenSong. It also created an issue where multiple users on the same computer wanted to use non-standard directories to hold OpenSong song and set files. The Globals file now will be used for just that: global defaults set by the system administrator. The user-level defaults derived from Globals now go into a proper user-specific preferences file, stored in ~/Library/Preferences on Mac, Documents and Settings{user}Application DataOpenSong on Windows, and ~/.OpenSong on Linux. This is still an XML file, but it uses the PLIST DTD rather than OpenSong's old format. * SmartML.GetValueB wasn't setting the default in the XML if the path had to be created. This meant that GetValueB would create a path with no value (interpreted as False) even if the default was set to True, so the next call to GetValueB on that path would return False always on subsequent calls until SetValueB was called. * Provide method to globally configure that a set style change overrides the style defined for a song (configured by editing the setting of "song_style_preferred" in the PresentSettings file). Default is true, the current behavior. This is a temporary workaround, not a permanent fix. * Fixed scripture indexing to avoid dropping words from the index completely. [Bug 1651524] * Corrected cosmetic issue with text entry field for scripture lookup direct entry. * Program preferences window rearranged; documents folder path displays on main page; browse for new documents documents folder starts at current documents folder. * Scripture lookup will no longer crash if the reference returns no verses. * Scripture lookup will no longer crash if a reference is typed into the edit field and the Lookup button or Return is pressed. (Thanks, JS, for all the testing help!) * Fixed error with copyright subtitle text displayed on slides. * Changed prompts the user sees to save a set (not an item within a set, though). User now has three options like the previous change to Songs. If the user selects "Don't Save," there are two possible actions: revert to the last saved version, or continue with the unsaved copy. The behavior is controlled by two options in the MainSettings file: set_revert_on_dont_save and song_revert_on_dont_save. At this time, these must be manually edited to change the default value. * Prevent bizarre second prompt for unsaved changes to a Song when exiting * Fixed Style Change set item to allow Subtitle Options * Fixed remembering previously selected From & To Verses when changing Bibles in ScripturePicker * Moved subtitle creation from SongML.ToSetML to new method SongML.BuildSubtitles to enhance readability and maintainability. -= 1.0 RC 1 Baselevel 14 =- * Running Presenter from Song mode will now display using the song's specific style rather than the default style. *Added Bible Book label to ScripturePicker *Fixed presenting song subtitles that somehow got broken -- badly. Descriptive Subtitles had no chance of working. *Fixed ScripturePicker can now select Genesis & Matthew (Silly Ed :) *Remember previously selected folder in SongPicker *Partial Support for remembering previously selected Book, Chapter & Verse when changing Bibles in ScripturePicker *Verse & Paragraph rad buttons in ScripturePicker now update preview *Add text the Scripture preview when starting ScripturePicker *Changed the way we prompt for unsaved changes to a song, to Yes,No,Cancel [Bug 1468060]. Still on the "to do" list is to fix this all throughout OpenSong, so additional bug reports aren't necessary...we want this as much as you do. Deleted SaveDialog class previously added to code but not used (a utility routine is sufficient). *Prompt for unsaved changes before importing song *Prompt for unsaved changes before exporting single song *Removed second save prompt when moving song *Prevent OutOfBounds Exception when Removing unsaved set item * Set conditional compiles to support building Mach-O targets on Mac (OS X-only binary). Source now compiles for Mac without change on RB2006 r4. Mac binaries will now be distributed in bundle format (OpenSong.app vs. single file). * New "About" dialog. Updated contributors list. * Added more error traps to the Image Chooser Window (used for selecting background images) in an effort to resolve bug 1604503. -= 1.0 Beta 2 Baselevel 13 =- * Reworked application and window Activate and KeyDown events to better detect when the wrong window has keyboard focus in presentation mode. This clears up issues on the Mac with OpenSong appearing to hang in single-screen mode. [Bug 1575609] * Corrected resizing issues with Scripture Search and added scripture_search/lst_result tag to English translation file to translate the listbox headers. [Bug 1495537] * Corrected UI oddities in Scripture Search (default and enabled buttons for given dialog states). * Corrected numerous UI oddities in Scripture Picker: Lookup button enables only with text in the lookup box; dialog default button changes to Done after a lookup; clicking on the current Bible book name won't reset the chapter and verse sliders. * Maximize/restore button in Windows will correctly update the Full/Normal screen selection in the Presentation Helper window, and vice-versa. On Macintosh and Linux, Maximize will not use the full client area on the control window to work around an issue with the top of the window hiding behind the menu bar on the Mac. [Bug 1559271] * Song selection window only opens once if activated immediately after entering presenter mode and no song is inserted. * Song selection window ("Q" shortcut in presenter) list of songs changes the highlighted song name with Page Up/Page Down/Home/End keys in keeping with commonly accepted UI practices. [Bug 1559333] * ActionSongPrint and ActionSongPrintAll now pass the song file's path to LeadSheet.AddSong. This clears up an issue where the highest file in the folder hierarchy would be used regardless of the one selected if there are duplicate filenames in different folders. * Export to HTML (SongML.ToHTML) properly encodes characters such as the ampersand (&), greater/less-than (), etc. Added a method to the OpenSongUtils module to extend the String class so this can be used elsewhere. Thanks to the Multi-byte String Utilities project (http://sourceforge.jp/project/php-i18n/) for the table to match UTF-8 code points to the proper HTML encoding. [Bug 1607916] * Find now will correctly locate a string within a theme. [Bug 1584929] * The selection of current song folders in both the song editor and song selection for sets are now "sticky," in other words, they retain their settings when the windows are reopened. [Feature Request 1543453] * Printing a lead sheet with a hymn number no longer garbles the title. [Bug 1477629] * Lead sheets include the presentation order as part of the header. Added language tag songml/presentation. * HTML files created by the Export to HTML function are tagged as using the UTF-8 character set. [Bug 1477964] * Fix issue in ImageChooserWindow where non-picture, non-folder files would cause a NilObjectException. [Bug 1604503] * Browsing out of ImageChooserWindow for a picture now permits Mac users to actually select something. [Bug 1495745] * Prevent Resizing MainWindow when closing presentation. * Fixed bug where two blank set items would be added to the beginning of a set when the set's first item is a style change * Fixed numerous issues with freeform scripture lookup. The list of verses in a chapter may have gaps in the numbering if the text of the scripture merges verses. Subverses are now properly handled in Zefania-format scripture. [Bug 1468053] * Fixed race condition where the main window, presentation window and presentation helper window would activate each other when exiting presenter mode. (Windows only) * Changed method for retrieving verses included in a selected scripture to better handle conditions where the verses are not sequentially numbered. [Bug 1468053] * Changed superclass of the About menu to AppleMenuItem to relocate it to the application menu per Apple's interface guidelines. Does not affect Windows or Linux. * A bible with an empty chapter or book won't cause the indexing process to error out. * Indexing process subtly altered to be more "friendly" to documents with non-ASCII characters. This relies on the RealBasic regular expression library definition of "word characters," which understands UTF-8 characters but may not be 100% accurate. Users should report errors in an index that are caused by characters in the user's alphabet that are not included in the index. * Fixed typo in English translation (does not affect any tags). * Default scripture search options to "contains" and "all words." * Printing a long line no longer drops a letter at the wrap point if the maximum width line included part of a word rather than white space at the end. * The Present Helper window will be restored when the Presenter is activated if Present Helper was minimized. [Bug 1479332] * When modifying a style, the visualization of the selected image uses the style's background color to fill areas not covered by the image (for example, when Center Image is selected and the image aspect ratio isn't the same as the display's aspect ratio. * Fixed the window for selecting scripture to allow for resizing on Macintosh and disallow minimize on Windows. Since this is a modal dialogue box, the latter could make OpenSong appear to not be responding and an inexperienced user may not realize the dialogue needs to be restored from the task bar. * When printing a line with chords and no lyrics, print capo chords in the correct font. [Bug 1483807] * Changed FolderDB and Open event of ScripturePickerWindow to only look at files where the Visible attribute is True. FolderDB was already ignoring files that start with an underscore or period, but this corrects potential issues with hidden files in a more general way. * Presenter will now run for a set with picture slides only (custom slides with a style but no body). Correcting this error also corrected an unreported error where OpenSong would treat the string "---" as a slide separator regardless of it's position on the line. It now must be on a line of its own with no leading or trailing spaces. [Bug 1560097] * Fixed NilObjectException error when slide style is added to a set. Somehow this got totally broken. * Corrected issue with fields not properly updating when a song is created. [Bug 1590566] * Moved subtitle selection from Presentation Settings to the style editor. Corrected issue where a song with a custom style would use the subtitles from the default style instead of the custom style. * Corrected logic error selecting language translation on General Settings/OpenSong Preferences dialog box. * Corrected some window manipulation issues entering and leaving Presenter. * Translated several SmartML error Messages * Bring SongPicker, ScripturePicker & InputBox to front when OpenSong is Re-activated in Preview Dual Screen Mode * Translated Additional Dev About string * Return Nil translator Object if file passed is Nil or Non-existent(switched to cozmics method) * Translated help * Translated Browse for Folder Title * Prevent OutOfBounds Exception when removing set item * Translated Scripture Search Window * Adjusted PresentHelper to fit spanish translation * Resized txt_style_transition_note to fit spanish translation * Fixed Help text for Containing Folder, Transpose, Print Capo, custom order, original order, slide style, & setitem list * Fixed Several Presentation Window problems * Added Option to overwrite debug log files * In set mode, name of new custom slide is now a translatable item instead of "Untitled." * Corrected issue with invalid song path in set on Macintosh. Would've also affected Linux song files with spaces in the name. [Bug 1567295] * Fix "create song" to add folder info to the song listbox. * Fix "move song" to properly update the folder info stored in the song listbox. Also, a more informative error message is given if the song already exists in the destination folder. [Bug 1565098] * Support selecting all monitors when system has more than two monitors. [Bug 1554999] * Update PrintSettings XML at program start to use points as units of measurement. * Set focus to edit field when InputBox opens. * Started work on SImageCanvas to allow more flexibility in setting the picture. * Fix NilObjectException when creating a new song [Bug 1563081] * Bring PresentWindow to front in Single Screen Mode * Added Ability to search songs by Hymn Number * Added/modified ProgressWindow for the following events: Song Caching Heap Sorting CategoryTOC Song Processing CategoryTOC Theme Processing Export All Songs Lead Sheet Report Generation * Added Status Message Text to ProgressWindow * Reset Mouse Cursor when canceling print * Delete Extra save prompt creating a new song when you have unsaved changes * Fixed Song Style bug #1559301 * Added translation support for startup messages and errors. * Save Global Settings on exit * Prevent OutOfBounds Exception in InputBox when translator isn't loaded * Prevent NilObject Exception in SButton Class if MainSettings is Nil * Prevent MainSettingsWindow Using Invalid Language files * Prevent NilObject Exception in XDocFromFile if file could not be opened * Return Nil translator Object if file passed is Nil or Non-existent * Corrected issue wrapping slide when the line doesn't have a space (particularly troublesome in Chinese). [Feature Request 1530629] * Added translation support for set item identifiers (custom, song, style, etc.). [Bug 1500189] * Completed translation support for all reports. * Changed set list report to indicate the type of item in the item title. * New feature: custom slides will show a separator line at slide breaks when printing a set list. * If a Zefania format bible is loaded and the "bname" attribute is added from bnames.xml, prompt the user before writing the changed file. If the user chooses not to save, supress generating the index file. [Bug 1467699] * InputBox on Windows forces itself to the top of the window stack so it doesn't get hidden behind the splash window or other floating windows. [Bug 1467699] * Added code to the "last chance" exception handler to recognize what kind of error was raised. This isn't particularly useful now, but will be when the handler can produce a stack dump after OS moves to RB2006 or later. * Changing the style of a song marks the song as changed but does not ask the user immediately if it should be saved. [Bug 1512827] * Added translation support in Bible for previously hard-coded English messages. Also changed use of MsgBox to InputBox for UI consistency. [Bugs 1500189, 1467699] * Corrected potential platform-specific file path in Bible.AddBNames method. -= 1.0 Beta 2 Baselevel 12 =- * Scripture quick lookup fixes: Better handling of translations, book name parser modified to check all characters of the name input by the user. Added scripture_lookup/bad_reference/ambiguous to language file. [Bug 1467887] * Fixed I18N issues on right-click menu in edit fields. Added to language file: shared/cut, shared/copy, shared/paste. * In presentation preferences, the "blanks before/after" radio buttons disable if "add blanks" isn't selected. * Adding songs on-the-fly doesn't add unwanted blanks. * When adding songs on-the-fly and using the "type to search" feature, pressing Escape before the search times out (1.5 seconds) will reset the search. Pressing Escape when a search is not in progress will close the window. * Program will display an error and not hang if the documents folder is mis-configured in Global Preferences [Bug 1204048] * Multiple fixes in Song/Find to prevent crashes due to invalid song files. [Bug 1089442] * Corrected "fencepost" error in preparing the set for presentation. Error only became apparent if a custom slide with a slide style was the last slide in a set and the presentation preferences were set to insert blanks between set elements. * Program won't silently crash when presenting a single item that has no title and no unique style. Similar to Bug report 1077772. * Slide transition starts at step 1 instead of step 2. [Bug 1484043] * Print preview window closes when "Print" button is selected. Will reappear if the printer dialog box is cancelled. This applies to all platforms even though the report was filed as Mac-specific. [Bug 1511623] * Page break doesn't show as slide in presentation mode. [Bug 1515605] * Moved parameters for controlling debug output to environment variables. OPENSONGDEBUG controls whether debug output is enabled ("True" = Enabled); OPENSONGDEBUGFILE is the filename, relative to the application's folder ("Debug.txt" is default); OPENSONGDEBUGLEVEL is the maximum level to log (default = 1). * Tried to fix (again) the issues with getting Windows to print multiple times during program execution. * Fixed page metric calculations that resulted in a program hang if the printer settings file used points instead of inches (new format). * Added attempted fix for randomly disappearing vertical scroll bar in song editor. This is an "attempted fix" because there is no apparent reason for it disappearing other than a bug in RealBasic. * HTML parsing for CCLI Import changed to delete any text outside the tags. * Corrected multiple errors in song rename. Would incorrectly error if new name matched a song in another folder. Would allow path characters in target filename. Wouldn't sort the song list to reflect the proper position for the renamed song. * I18N error messages for rename errors added or used. Added errors/path_not_allowed and errors/rename_error to language file. -= 1.0 Beta 2 Baselevel 11 -= * Print copy count calculated accurately on Mac OS X. [Bug 1467395] * Current Folder edit field clears on folder change (lst_songs_songs.Change will update it to match the selected song). * Find will now start at the currently-selected song (or the first song if none is selected) and wrap the search from the beginning. [Bug 1458961] * Find will not crash OpenSong if an invalid XML file is encountered. An informational dialog box is posted showing the name of the offending file. * Corrected issues related to the proper handling of songs and sets when switching modes and not saving unsaved edits. [Bug 14588972] * Preferences dialogs (main program, print, presentation) save settings when dialog is accepted instead of waiting for a normal program exit. [Bug 1462055] * Resize box removed from PresentWindow on Macintosh. [Bug 1467726] * Directories in the OpenSong Languages folder are ignored in the General Settings/OpenSong Preferences window. [Bug 1467834] * [Win/Linux] General Settings menu item moved to top of list. * To make window management on Windows platforms more consistent when moving between programs while in Presenter mode, the main window will hide for the duration of the presentation. [Bug 1467746] * Quick find (typing in the first few characters) in the Songs pane and Add Songs dialogs accepts non-ASCII input such as accented letters. [Bug 1460927] * Add Songs in Set Mode now distinguishes between songs with the same name in two different folders. * Vertical scaling of main slide text is now applied in all conditions. A previous optimization to skip re-wrapping and horizontal scaling also skipped vertical scaling. [Bug 1468106] * Set>Save As no longer saves the modifications to the original set as well. [Bug 1488275] * When the Song Lookup window opens (hotkey "Q" in presenter mode), the list of songs will get focus immediately, so the operator will not have to click on the song list before starting to type. * In Song Lookup window, the Escape key will reset the incremental search. * In the song editor, the Escape key will reset the incremental search of the list of songs when focus is on the list. * Song>Save now saves to the correct file when a file with the same name is in a higher folder in the folder hierarchy. * Print Preview shows margin at the correct scale when the magnification factor is not 100%. [Bug 1473521] * Print Settings dialog handles regional settings for decimal point and thousands separator for both input and output. [Bug 1473521] * Window management when presenting is more consistent. Presentation Helper window is now a document window, which means it has an icon in the taskbar on Windows. It will resist being closed while a presentation is in progress. Additionally, the main window will minimize on Windows (and hide on Mac) while the presentation is in progress. [Bug 1479332] * Linux systems with dual screens set up as one X-Windows display (i.e., nVidia TwinView) will act more reasonably WRT window management. * Starting a presentation will not hide the taskbar on Windows or the menubar on Macintosh unless in single screen mode or dual screen mode with the lowest numbered screen selected as the presentation screen. * The taskbar (Windows) or menubar (Macintosh) will be hidden during a presentation only if the presentation window is the primary monitor. [Bug 1521079] * The presentation helper window (control window) will show the slide text in the notes field if there are no slide notes. In some cases this can be easier for the user to read than the slide preview. * Require confirmation for revert and print all songs. [Request 1528693] -= 1.0 Beta 2 Baselevel 10 -= * Corrected issue with presentation window not appearing on the proper screen when the user selects to display it on the first screen defined by the OS in a multi-screen environment. [Bug 1463669] * Printer margin setup now retains setting of inches/centimeters option. [Bug 1458492] * OpenSong won't crash on Windows when trying to print for the second time. -= 1.0 Beta 2 Baselevel 9 -= * When focus is on the songs list in the song editor, ALT/Command + keystroke now correctly invokes the menu or other action tied to that accelerator [Bug 1456869] * Rearranged Song Advanced Edit page to put the song key field immediately below the Capo fields. * Maximized caption width for all captions/radio buttons/select boxes on the main window to reduce clipping in non-English versions. * Corrected inconsistent presentation behavior when there are additional characters after the closing bracket on a section header [Bug 1460921]. * Fixed presentation hotkeys for movement within a song so that starting on the blank before and pressing V or 1 to get to the first verse now moves to the correct slide. Made all movement hotkeys consistent so that if a section occurs more than once (for example, V1, C, V2, C), pressing that key ("C" in this example) will always move to the next occurrence of that section/slide. [Bug 1464590] * Fixed a UI issue to properly clear unused fields in set mode when switching from editing a song to editing a custom slide. [Bug 1462707] * Fixed a UI issue where clicking the Save button for the current item in Set mode wouldn't disable the button. * Moved Song Folder selection dropdown and related create/delete buttons above the song list. Not only does this prevent confusion with this and the Containing Folder field, it also is more consistent with the Sets UI. -= 1.0 Beta 2 Baselevel 8 -= * Edit menu commands don't ever enable. Created new EditField subclass SEditField that changes the Enabled state on Cut/Paste/Clear/Copy in its EnableMenus event. Added menu handlers. Added Edit>Select All menu item. Changed superclass on all EditFields in MainWindow to SEditField. [Bug 1453562] * Corrected issue printing chord lines without lyrics where preview is accurate but the printed output isn't. [Bug 1456327] Also corrected same issue for comments. * Blank slides within a song show the song's header and footer [Bug 1453812] * Added status bar to ProgressWindow to allow the program to provide feedback to the user when a long activity is executing. * Added an optional ability to cancel an operation when the ProgressWindow has focus. * Corrected issue where printing all songs would display the progress window, but never update it. * Added print/create_list to language file. * Added errors/no_such_song to language file. * Fixed program hang when printing a song where the width of the title and author exceeded the printable page width [Bugs 1455146, 1454788] * Printing a song with multi-verse formatting (verse numbers at the beginning of the line) now prints the verse numbers in the proper font size. * Songs list box in main window now properly tracks which folder contains a given entry, correcting an issue where two songs with the same name in different folders would display, but only one could be edited. -= 0.9.9 =- * Fixed version check bug. (bug #999077) * Fixed logo oversize bug. (bug #999163) * Fixed subtle scrolling bug in presentation helper window. * Added Set List printing. Click the "Set List..." button in the set editor to print a listing of the current set. Custom slides and scripture slides will be printed with their contents, where song slides will only print the song titles. * Added checkbox in custom slide editor to allow exclusion from Set List printing. * Adjusted field tab order in song and set editors. * Fixed Full Screen button typo. * Added support for proxy servers in checking for latest version and importing from CCLI. * Added proxy and proxy port settings to OpenSong Settings. * Added Settings > Load Module menu item to load downloaded modules into OpenSong without having to know where to put them manually. * Image chooser window now displays the path to the user's OpenSongBackgrounds folder. * Fixed the scrollbar in Image Chooser to work better. * Fixed the scrollbars in Print Preview to work better. * Added OpenSong Setting for Documents Folder; useful for setting the documents path to something other than the standard location, such as a network share. * Image Chooser (for selecting backgrounds, logos, etc.) now supports folders. * Image Chooser now caches thumbnails, greatly speeding up browsing. * Sped up background-image-less slide rendering. (Faster detection of Nil images) * Print Preview window is now double-buffered. (less flickery) * Fixed error printing songs in a set that doesn't have any songs in it. * Fixed custom slide style refresh bug. (Didn't refresh when differing custom styles were back-to-back.) * Changed the theme tag to support multiple (>2) themes per song. * Theme selection uses a listbox of checkboxes rather than a popup list due to OpenSong's new ability for songs to contain an unlimited number of themes. * Moved around song editor fields to better use screen real estate. * User defined fields now use multiline editors making larger values easier to edit. * Songs can now be stored in folders. * The Songs folder is now cached to improve performance with large song databases. * Fixed a bug in custom styles that forgets the alignments of subtitles. * Default Bible now loads at boot to speed up quick referencing during presentations. * Fixed button text anti-aliasing bug. * Adjusted font buttons a bit to fit other languages a little better. * Adjusted all sorts of window components to make more room for longer translations. * Added new button to move the selected song into a different folder. * Added new Main Settings option to change the language. * Added song fields key, aka, and key line. * CCLI import now also imports theme(s), key, aka, and key line data. * Softpraise Convertor now converts tempo, aka, and key. * Scripture Chooser now remembers last setting for verses per page. * Style canvases, image canvasas, and font canvases and now double-buffered. * Alert font is now configurable using Presentation Settings. * User defined field names can now be set in general settings. * Fixed scripture bug when adding a range of verses: occasionally returned only the first verse. * Changed auto-insert blanks to a checkbox. To keep OpenSong from inserting a blank slide between custom slides, give your custom slides the same name. This should make more sense and work fine for the few people who need it that way. * The live "Quick Scripture" feature now presents verses live from the scripture chooser rather than statically adding the scripture to the set. (feature request #1007482) * Songs can now be exported to HTML. * Image chooser is now bigger and cooler. * Added progress bar for status during categorized toc printing and exporting all songs. * This release is a major update from 0.9.8. Handle with care. Let me know. -= 0.9.8 =- * Added option to horizontally and vertically align the location of alerts * Added new "Logo" presentation mode and corresponding presentation settings. Use this mode to fade to a church/concert/whatever logo. * Scripture set items now play by the same rules regarding inline style changes. * Removed "(F5)"s from File>Present * Fixed display of slide notes in Present Helper * Improved window display on Windows 98. * Adjusted font sizes of window components. * You can now jump to songs/items in the song list or set list by type the first part of the desired title. (feature request #962465) * Fixed inability to shut off borders and shadows in slides. (bug #962786) * Added option for song slides to present copyright info rather than author. (feature request #962800) * You can now adjust slide title and subtitle alignments independently. * Rewrote Scripture module; now supports paraphrase versions; Added NLT & MSG; Scripture format is now XML; fixed several bugs with it; should be more robust now. * Splash screen now identifies each step of startup * Fixed set rename function (bug #990904) * Shows both "Show Details" and "Show Chords/Lyrics" buttons in both screens * Added a new alignment control for slide styles and alert alignment. It looks nifty. * Adjusted left/right arrow keys to act more sensible in presentations. * Fixed style preview refresh bug (feature request #990967) * Fixed split-screen preview image resize bug. (thanks Ima) * Blank in-between slides now take on the style of the following slide. This makes those in-between slides MUCH more useful. (feature request #972348) * Added a full-screen option in the Present Helper. * Revamped the song lookup window. It works cleaner now. * Added Right-Click (Control-Click) Cut/Copy/Paste menu for all text fields. * Added SONG IMPORT from CCLI SongSelect. Just click the Import... button in the Song editor. * Clear mode is now Hidden mode ('C' key is now used for jumping to the chorus) Thanks to the 10,000 people who suggested the following two features... * Pressing the 'c' key (or the '`' key (the one just to the left of the '1' key)) during presentations will jump right to the current chorus (if there is one) * Pressing the '1' thru '9' keys during presentations will jump right to that verse (if there is one) * Added a new mode 'Freeze' which displays the last slide shown; you can jump to any other slide, and the frozen slide still displays. (feature request #967729) * Key 'k' now switches to Black mode rather than 'b'; I needed 'b' to jump to the Bridge * Many bug fixes! -= 0.9.7 =- * Added "Copy" button to set items. (feature request #959279) * Added a new "Style Change" set item type for changing (or reverting) a set's style mid-way through a presentation. This is a very cool feature once you figure out how to use it. (Thanks Brad) * Added option to not auto-insert blank slides between back-to-back custom set items. (feature request #959582) * Updated licensing to the GPL, including Help/About menu, installer license, and source code release. * Fixed mouse cursors in edit fields (caused by imbedded PagePanels limitation on Windows) * Rearranged song editor fields (looks nicer now) * Added context sensitive help * Fixed bug #957238: Could not find configuration files * Fixed bug #956071: verse addition bug * "Through" is now spelled "thru" on the scripture picker. It is an official spelling, and it makes more sense. Go English!! * Fixed slide stretching bug on Mac OS X. (Thanks Scott) * Fixed rare font bug with buttons. * Changed adding scriptures to sets to work just like adding songs to sets. (feature request #959583) * Internal: Changed button events method (now uses action) and fixed focus/extra click bug. * Changed text fields to use white rather than yellow. * Made several user interface "tweaks". * Print Preview window is now double buffered. * OpenSong now takes care of installing/replacing files into the Documents/My Documents folder, rather than the installer. This works MUCH better. -= 0.9.6 =- * Added option to check for newer versions of OpenSong at startup. * Added option for blank slides between each item in a set. * Adjusted main window geometry * Added option to select which screen/monitor is for controller/helper windows and which is for the actual presentation. * Cleaner drawing when transitions are turned off. * Speedups here and there. * Fixed crash on empty custom slides/songs. * Dropped F5 from File/Present menu. Didn't work right on Mac. * Improved GUI elements on Mac: buttons are transparent and components now fit better. * Double-cl

New in OpenSong 1.4 (Feb 11, 2009)

  • Fix the OpenPrinterDialog call in Report to attach to the window returned by GetFrontControlScreenWindow instead of Window(0). Although Window(0) should be the top window for the app, for some reason on OS X 10.5 (Leopard) this will return a handle to a window that is not visible. This prevents the hidden window from ever unloading, blocking the application from exiting without doing a Force Quit. (swampcat)
  • Fix in MainWindow to prevent a crash when selecting an empty row in the songs-list after a song edit (vwout)
  • Added Czech translation (thanks matysek03 and others)
  • Ignore punctuation in a search (feature request 2122181) (vwout)
  • Added and chunks to all language files (prevents a Nil object exception when loading) (these will need to be translated)
  • Added Polish translation (thanks myzzard)
  • Added Slovenian translation (leeloo3)
  • Add ability to view/merge exported song activity logs (JRC)
  • Fixed GetOpenFolderItem in mnu_settings_install_module was not being called correctly (JRC)
  • Implemented Song Activity Log export (JRC)
  • Made Select Folder Dialog for Set Export translatible (JRC)
  • Added option to prompt before adding presented songs to the activity log (JRC)
  • Provide a (hopefully) more detailed error message for failed activity log loading (JRC)
  • Fix issue where Currently selected Set Item was not updating after removing an item from set list (JRC)
  • Added option to copy a song from one folder to another (JRC)
  • Fix issue where Currently selected Set Item was not updating after removing an item from set list (JRC)
  • Fixed a bug in StyleWindow, background was not updated on image drop (vwout)
  • Corrected startup behavior for screens with a toolbar on a different position than at the bottom of the screen (vwout)
  • Added the option to not include images from the OpenSong backgrounds folder in the set xml (vwout)
  • Added user configurable quality settings of images that are stored in the set xml (vwout)
  • Added option to enable/disable the song activity log to MainSettingsWindow (JRC)
  • Title, Subtitle & Body of slides can now be enabled or disabled (JRC)
  • Commented out some "unused" code in SetML.DrawSlide (JRC)
  • Added AcceptMouseDown property to SFontCanvas (it's purpose should be pretty self-explanitory ;) (JRC)
  • Enable/Disable drawing of text in SFontCanvas depending on the enabled state (JRC)
  • Change the color of the outline on SAlignCanvas depending on the enabled state (JRC)
  • It is now prossible to drag & drop images in the Style Window. (vwout)
  • Prevent a program crash when logging is disabled (the ActivityLog.xml is corrupt). (thanks vwout ;)
  • Added a style option for song sheets to display the verse numbers (and the currently displayed verse highlighted) with the title. (vwout)
  • Enhanced the song picker window:
  • searching now not only looks for a match at the start of a song title, but continues to check for inner title matches when looking at the start of the title does not result in hits
  • add the ability to specify a custom presentation order in this dialog to ase the process of inserting songs in a (live) presentation (vwout)
  • Added the option to use (or not use) transitions on a slide by slide basis. This works for both
  • script and song slides. (vwout)
  • Fix in SongML.CloneStyle not copying all style settings. (vwout)
  • Fix in SAlignCanvas and StyleWindow to no lose the alignment settings for one dimension when setting the other in combination with the callback function. (vwout)
  • Handling of center-, right- and character-aligned text was made more intuitive (vwout)
  • Add reference implementation for margins and tabs (vwout)
  • Made IndexProgress dialog translatable (vwout)
  • Implement patch from TrueJournals (patch #1927402)
  • Fix issue in SongPickerWindow where songs were not listed in numerical order (JRC)
  • Correct issue with the previous bugfix where the first and last item in a set inaccessable (JRC)
  • Reload set when switching back to Set Mode (fixes bug #1851991) (JRC)
  • Disabled activity logging in Song Preview Mode (JRC)
  • Don't reload the current set item if the user clicks the same item in the list (JRC)
  • Reorder set item list manually(workaround for bug #1827986) (JRC)
  • Fix issue in SOngPickerWindow where songs were not listed in numerical order (JRC)
  • Fix issue where changing chapters in ScripturePickerWindow wouldn't work correctly if moving from a chapter with more verses