Songsheet Generator Release Notes

Version 1.9 for macOS® + the Java™ platform

Note: the contents of this document apply only to the macOS and Java platform versions of Songsheet Generator. For information about the Microsoft Windows® version, please see the Songsheet Generator web site.

System Requirements

On macOS, simply drop the app from the disk image into your Applications folder and run it. You don’t need to download Java.

On other platforms, you will need a Java runtime 1.6 or newer. Go to the Java web site, download, and install the most recent version.

Songsheet Generator 1.9

Version 1.9.6; October 2019

Fixes and minor changes:

  • Song import will now recognize “NC” and “N.C.” as chords.
  • Fixed problems with song files using key signatures that do not map to known chords.
Version 1.9.5; June 2019

Fixes and minor changes:

  • Fixed an issue in the custom chord editor that made it impossible to define guitar chords with unplayed 5th or 6th strings.
  • Removed the transpose option from the options dialog, because it can cause confusion and loss of transpose settings in the songbook/print list.
  • Transposing “All” songs will now only transpose the songs in the songbook/print list, and not in the (left side) song list.
Version 1.9.4; April 2019

Fixes and minor changes:

  • Full Screen Presentation can again, optionally, start from the selected song.
Version 1.9.3; November 2018

Fixes and minor changes:

  • Fixed an issue saving songbooks with songs that were transposed (the transpose value was not saved correctly).
  • Transposing to the key of C will show B flat as the minor seventh, instead of A sharp.
Version 1.9.2; August 2018

Fixes and minor changes:

  • Fixed type-ahead navigation in the song lists.
Version 1.9.1; July 2018

Fixes and minor changes:

  • Fixed a problem reading song files with an empty key signature ({k:}). This caused the song list to display blank, although navigating the list with the keyboard would show the songs one by one.
Version 1.9.0; June 2018

New features in this release:

  • Added support for the capo directive. Capo can be printed in the title, footer and comments using the %C formatting code. Adding a capo directive will affect the key signature of the song displayed by Songsheet Generator. For example, with {capo: 2} and {key: D}, the actual concert key of the song is E. With capo turned on in the preferences, Songsheet Generator will display the song’s key as “E (Capo 2)” in the song list, and the chords will be based on D (for playing on guitar with a capo on fret 2). With capo turned off in the preferences, Songsheet Generator will display this song’s key as “E” and the chords will be based on E (for playing on piano, for instance).
  • Added support for multiple artist directives.
  • Double-clicking a Songsheet Generator Songbook (sgb) file in the Finder will open the songbook (and launch Songsheet Generator, if it is not already running).
  • Added support for the ChordPro.org meta directive. This works exactly like the Songsheet Generator data directive. The ChordPro.org meta formatting codes are not yet supported.

Fixes and minor changes:

  • Transposing by half-steps is a little bit smarter about the actual key signature (as regards sharps and flats).
  • Songs with multiple key signature transitions are now shown with an arrow instead of a comma: C→D.
  • Improved the readability of the “Display on Monitor” (now: “Screen”) menu.
  • Fixed an application freeze that could happen when going backwards in the Full Screen Presentation.
  • Fixed a problem that would cause some songs with lines that contained only chords and spaces to stop displaying.
  • Improved the reliability of saving custom chord definitions.
  • Improved the friendliness of saving a modified songbook when opening a different songbook or quitting.
  • Added an informational message when not all of the songs in a newly-opened songbook can be found in the song list.
  • Fixed the indicator of an edited songbook; the circular red close button in the title bar will now contain a dot.
  • The file name of the open songbook is now displayed before “Songsheet Generator” in the window title bar (instead of within brackets, at the end).
  • Songs with identical names are sorted alphabetically by artist.
  • Updated the embedded Java runtime in the macOS app to the latest version.

Songsheet Generator 1.8

Version 1.8.1; October 2017

Fixes and minor changes:

  • Fixed menu bar issues when running in German or French on macOS High Sierra (10.13).
  • Fixed some HTML formatting issues with chorus and tab sections.
Version 1.8.0; March 2017

New features in this release:

  • Improved the songs and print lists: Artist and key signature are displayed in new columns in the songs list, and key signature or transposed interval are displayed in a separate column in the print list. Clicking on a column header in the songs list will sort the songs by title, key, or artist.
  • The Java runtime is now embedded within the app bundle on Mac OS X. It is no longer necessary to install Java runtime software separately from Songsheet Generator.
  • For improved security on Mac OS X, Songsheet Generator is signed with the Ten by Ten Mac Developer ID Certificate.
  • Cleaned up the included songs and edited the author, copyright, and key signature.

Songsheet Generator 1.7

Version 1.7.1; January 2017

Fixes and minor changes:

  • Added support for ‘smart’ single or double quotes in title and footer formatting (‘ ’ “ ”).
  • Fixed the suggested footer format code that includes the date (the code to show the day of the month was incorrect).
  • Added artist and copyright to the new song template.
Version 1.7.0; December 2016

New features in this release:

  • Added support for {artist:} and {copyright:} directives, as their usage has become common in other Chordpro software.
  • Added controls to adjust all aspects of title and subtitle printing, including some preset formatting suggestions.
  • Artist and Copyright can be printed in the title, footer and comments using %A and %G formatting codes.
  • Added a help dialog for formatting code reference. This dialog can be opened via the menu bar or from the Print and Full Screen Options pages.
  • Added a ‘Fonts’ sub-menu under the ‘Options’ menu for more convenient font changes.
  • Added instant font size change with control-plus and control-minus keyboard shortcuts (Mac: ⌘+ and ⌘-)

Fixes and minor changes:

  • Removed the non-functional footer settings for HTML output.
  • Improved the appearance of fonts in the font settings dialog.
  • The ‘Normal’ (lyric) font is now selected by default in the font settings dialog.

Songsheet Generator 1.6

Version 1.6.5; May 2015

New features in this release:

  • Footer control codes may now be used in comments ({c:}) and instrumental comments ({gc:}). Any footer formatting control codes may be used in comments, except for the justification codes (%l %c %r) which are ignored. This allows data values to be defined in the song, and printed within the song. The current key signature may also be printed in a comment using the %k format code. (As with footers, use %% to print a percent sign.)

Fixes and minor changes:

  • Fixed a problem where two Preferences dialogs would appear when running Oracle’s Java, and the shortcut key ⌘, was used to access the Preferences.
Version 1.6.4; February 2015

Fixes and minor changes:

  • Repackaged the Mac app bundle to prefer Oracle’s Java, 1.7 or newer, for users who do not want to install Apple’s unsupported Java 1.6 runtime.
  • Fixed the page range shown in the print dialog.
  • Improved the quality of printed output and chord grid diagrams.
  • Fixed code signing issues on Mac OS X to avoid Gatekeeper warnings.
  • Made it possible to run the Java jarfile without an app bundle on Mac OS X.
  • Fixed the New Song function when running from the Java jarfile.
Version 1.6.3; October 2014

New features in this release:

  • Solfeggio/solfège (do re mi) key names are now displayed in the "Songs to Print" list and in the Transpose Menu.
  • Added font antialiasing in the plain Java version, for improved full screen appearance.
Version 1.6.2; August 2013

New features in this release:

  • Added the ability to exclude some chord grids from printing. These can be specified in the Chords/Grids Options page, separated by a space; for example: C D E G
  • Added controls for the minimum and maximum chord grid sizes, and the space between them. Chord grids are automatically formatted within these limits.
Version 1.6.1; July 2013

Fixes and minor changes:

  • Fixed application freeze due to a recent Mac OS X Java update.
Version 1.6.0; December 2012

New features in this release:

  • Added built-in chord definitions for Ukulele (standard C6 tuning: G4 C4 E4 A4).
  • Added a checkbox to scan for songs in subfolders (the default is to not scan in subfolders).
  • Added a "Delete Song" menu item.
  • The full screen presentation can, optionally, start from the selected song.
  • Rearranged the File menu items so that the commands related to song files are at the top (the historical emphasis on songbook-related commands was confusing new users).
  • The shortcut keys for "New Song" and "New Songbook" have been swapped.
  • Songsheet Generator will now offer to automatically create the songs folder and put the sample file into it, if the songs folder does not exist. The default name for the songs folder has been changed to "Songsheet Generator Songs" (from simply "Songs"), to match the Windows version.
  • Added key signature to the sample song, "Twinkle Twinkle Little Star."

Fixes and minor changes:

  • Fixed the base fret field in the custom chord editor and chord parser to allow fret values greater than 9.
  • Fixed the base fret field in the custom chord editor so that it will not allow typing the value 0. (The smallest fret is number 1.)
  • Signed the Mac app bundle for use with Mountain Lion and Gatekeeper.
  • Fixed automatic song numbering in the RTF output.

Songsheet Generator 1.5

Version 1.5.2; August 2010

Fixes and minor changes:

  • Fixed a problem with in-song chord definitions that appeared in version 1.5.1.
Version 1.5.1; April 2010

Fixes and minor changes:

  • The embedded HTML style "Chorus overall" setting is now saved properly.
  • Shorthand directives such as "c:" and "t:" are matched more strictly (just as in the Windows version). This provides better compatibility with ChordPro songs edited in ChordPro Manager.
  • Mac OS X 10.2 and 10.3 are no longer supported.
  • Added support for Page Up and Page Down keys in full screen view.
  • Fixed the automatic update download so that it would actually open the download link.
Version 1.5.0; July 2009

New features in this release:

  • Printer margins and tabs can now be set in either metric (mm) or imperial (inch) units.
  • Multi-monitor support has been added to the program. On the Full Screen Options Page, it is now possible to select the desired monitor from a list of connected displays.
  • Added Rich Text (RTF) output. RTF will retain the font settings and colors from the printed output, as well as margins and column settings. Hyphenation is not supported, and line breaks may not match the printed output.
    Please note that RTF is a document exchange format, and does not guarantee specific typesetting. The appearance of the RTF depends on the software displaying it, and many programs ignore much of the RTF formatting (these programs include WordPad on Windows; and TextEdit, Pages, and QuickLook on the Mac). For best results, view the RTF in Microsoft Word or OpenOffice.
  • Songsheet Generator now supports multiple key signatures in a file. When more than one {key: } directive is detected in the song, all the keys will be shown next to the song title in the print list. The "Transpose to Key" menu will indicate transposition of the main (first) key; all the keys will be transposed relative to the transposition that is applied to the main key.
  • Multiple key signatures can be addressed in the footer using a to adding a dash followed by the key number in the song to the usual key directive (%k). For example: %k-1 is the first key in the song (and produces the same result as %k); %k-2 produces the second key in the song; and so on.
  • Added a control to quickly pick the output destination on the main dialog. This has the same function as the list of output destinations found in the Options Menu, but is easier to find.
  • By default, the table of contents will now print on its own physical page. A checkbox on the General Options page will return Songsheet Generator to its old behavior, where there was merely some space between the TOC and the first song.
  • Added a "Reveal Songs in Finder" menu command on the Mac. This command will open a new Finder window displaying the contents of the songs folder.
  • For registered users, Songsheet Generator will automatically check the Ten by Ten website for updates to the software (automatic checking can be disabled, if you prefer).

Fixes and minor changes:

  • Fixed a problem that would cause song scanning to stop when an unexpected file was encountered.
  • Fixed the small chord spacing problem caused by hyphenation of lyrics.

User interface improvements:

  • The list and mini-preview panes on the main dialog are now resizable.
  • The "usage" column in the data key/value editor now shows the format that should be used to produce the data value in the footer. (Previously, this column showed how to define the key and value in a song; but that was not very useful, since the value was already defined in the editor!)
  • Changed the "Songs to Print" List label to indicate that the list is equivalent to the contents of the current Songbook.
  • Eliminated the "show mini-preview" option and checkbox.
  • Eliminated the "double-click-to-remove" behavior of the "Songs to Print" List.

Songsheet Generator 1.4

Version 1.4.1; October 2008

Fixes and minor changes:

  • Save as ChordPro output will now transpose the key correctly.
  • Fixed incorrect alignment when using a Unicode right single quotation mark character (’; ’ \u2019; UTF-8: (e2, 80, 99)).
  • Fixed bad performance when wrapping lines of chords without lyrics.
  • Clarified the exclusivity of guitar and ukulele mode by changing the checkbox to a pair of radio buttons.
Version 1.4.0; May 2008

New features in this release:

  • Added a Ukulele mode; this will cause chord grids to appear with only four strings. Since there are several tuning options for Ukulele, there are no built-in chords; please use the chord editor to define your chords. It is possible to freely switch back and forth between the normal six-sting and four-string modes, but all songs will print in the current mode; i.e. there is no way to identify a song as a Ukulele- or six-string-only song.
  • Added a global data key/value editor. Key/value pairs defined in this editor will be applied to all songs. By using a global value, it is possible to define rarely-changing global text such as an organization name or other identifying information. The editor shows the text that must be entered in the song file to make use of the data key/value pair that has been defined.
  • Added a "New Song File" command in the File menu. This will create a new file in the songs folder, fill it with a simple ChordPro template, and open the text editor.
  • Added a preference to start each song on a new physical page, regardless of the page layout style. A checkbox to control this has been added to the Print Options page. (ChordPro note: this has the same function as putting a {npp} at the top of every song.)
  • Added a "Save to ChordPro" output option. This function allows songs to be exported with their chords transposed in ChordPro, or without their chords. In effect, the songs will be exported with ChordPro directives that match the print settings. Please note that the ChordPro syntax may differ slightly from the syntax in the original song. Data values and chord definitions will be retained, but their ordering may be different from the original file. This function uses abbreviated ChordPro directives (e.g. "t:" for "title:"). Please do not use this function to overwrite your original songs—it may result in data loss! (Songsheet Generator does try to prevent you from doing this.)
    Note: If multiple songs are selected into the "Songs to Print" list, they will all be saved to a single file, with {ns} directives between them.
    Also Note: If you attempt to bring one of these multiple-songs-per-file files back into Songsheet Generator, only the first song title will appear in the songs list.
  • Lines of chords without lyrics will be wrapped if they exceed the margin, just as normal lines are wrapped.
  • Song titles may optionally be wrapped, instead of reduced, to fit in a single line. A checkbox to control this has been added to the Print Options page.

Fixes and minor changes:

  • The current songbook is now marked as modified when changes are made by using the context menu in the print list.
  • Text files will export as UTF-8 according to the setting in the General Options page.

Songsheet Generator 1.3

Version 1.3.7; November 2007

Fixes and minor changes:

  • Set the default song file encoding to UTF-8 (the default encoding on Mac OS X 10.5). If this causes problems for your songs, please use the checkbox on the General Options page to return to the previous Songsheet Generator behavior. (UTF-16 files will still be detected automatically.)
Version 1.3.6; November 2007

Fixes and minor changes:

  • Further updates for Mac OS X 10.5 (Leopard), including a new high-resolution icon.
Version 1.3.5; October 2007

Fixes and minor changes:

  • Fixed a problem where the last chord in a line would repeat when the line wrapped.
  • Updated Full Screen Presentation mode for compatibility with Mac OS X 10.5 (Leopard).
  • Fixed an error that occurred when the songs path was changed or refreshed before Songsheet Generator had finished scanning the songs folder.
Version 1.3.4; August 2007

Fixes and minor changes:

  • Fixed automatic song numbering.
  • Songsheet Generator will prompt to save an unsaved songbook before exiting.
    Note: the prompt will only be shown if the songbook has already been saved to a file.
  • Revised the songbook format to be compatible with SG for Windows 2.6.
Version 1.3.3; August 2007

Fixes and minor changes:

  • Fixed problems when scanning very short song titles beginning with "T" or "A".
  • Added an option to disable the reordering of song titles that begin with "A", "An" or "The".
Version 1.3.2; July 2007

Fixes and minor changes:

  • Songbooks are now saved in a format that preserves international characters.
  • Improved printing performance, which would degrade exponentially with the number of items in the print list.
  • Added a progress dialog that indicates printing progress and allows a print job to be cancelled. Some problems were found with this under Java 1.4.2, however, so the progress dialog is only shown when the Java version is J2SE 5.0 or higher.
  • Fixed incorrect wrapping of long lines in the Table of Contents.
  • Fixed the problem where the Full Screen Presentation would start with a blank screen.
  • Updated the online help.
Version 1.3.1; June 2007

Fixes and minor changes:

  • Fixed Unicode song file support. Songsheet Generator can use UTF-16 and UTF-8 song files as long as they have a byte-order mark (BOM).
  • File choosers’ browser pane will now correctly show the current file or directory.
Version 1.3.0; June 2007

New features in this release:

  • Added a custom chord definition editor (this has been needed for a long time!). (For those who are in the know about the original chord program, this dialog is an editor for the chordrc file.)
  • Added an "Instant Full Screen" function. This will present the songs selected in the Songs List, irrespective of whether or not they have been added to the Print List.
  • Updated the Mac OS X look and feel. Although this increases the size of the distribution, it greatly improves the user experience.

Fixes and minor changes:

  • Added an indication in the About Box as to whether or not the application has been registered. If the application has been registered, confirmation will be requested before entering a new registration code.

Songsheet Generator 1.2

Version 1.2.1; May 2007

Fixes and minor changes:

  • Updated the Mac OS X version to use Java 1.5, if it is available.
  • Further improved the footer text wrapping so that text blocks will tend to fill out more fully from top to bottom.
  • Prevented more than one footer from printing on any given page. On pages where more than one song appears, the footer will be created with data from the first song on that page.
  • Fixed the guitar comment font color when adjusting all fonts’ colors for full screen.
Version 1.2.0; May 2007

New features in this release (there are many!):

  • The Mac OS X version is now distributed as a nicer-looking disk image, with a (hopefully) helpful background image containing installation instructions. If you wish to use the sample songs contained on the image, drag the "Songs" folder into your Documents folder.
  • On Mac OS X, Songsheet Generator will first be set to look in a "Songs" folder inside the Documents folder in your home directory, if this folder exists.
  • Songsheet Generator will now remember the most recently used locations for saving HTML & text files and songbooks, and for importing.
  • Added a thick line chorus marking style.
  • Added a Rescan Songs menu item (it’s in the File menu).
  • Rescanning songs will now attempt to keep the contents of the print list intact (if the filenames are the same).
  • Added key signature directive.
  • Added Transpose To Key menu. If the key has been defined for a song, the right-click popup menu in the Print List will display a list of target key signatures (major or minor keys will be shown, as appropriate).
  • If the key signature has been defined for a song, it will show up in brackets before the song title in the Print List.
  • Moved chord and grid options to a dedicated property page in the options dialog.
  • Grids may be limited to only appear only for "friendly" key signatures. (This will take effect only for songs where the key signature has been defined.)
  • Added support for generic data key/value directives in the song file. Keys and their values are noted like this: {d_abc: xyz} where abc is the key and xyz is the value. This feature can be used for defining tags such as CCLI number, author, etc.
  • Added per-song footer format override support.
  • Added new footer codes for printing key, page numbering with a song, subtitles, and defined data keys/values.
  • Added conditional footer formatting, via the %? and %?! value query codes.
  • Added support for footer wrapping.
  • Added support for manual line breaks in the footer (put ‘\n’ in the footer text).
  • The title and subtitle lines may now be flexibly formatted via the registry. These lines use the same formatting strings as the footer. The default title format string is %c%t, and the default subtitle format string is %c%s; these mimic the classic Songsheet Generator format. To get left-justified titles, change them to %l%t and %l%s. Data keys can also be used, to insert song data. There are lots of ways to customize the output...!
  • Added a separate font setting for guitar/intstrumental comments.
  • Made the import more permissive of extra characters in the chord line.
  • Further extended the ChordPro chord definition syntax to support defining chords that apply only to a given key signature. When defined this way, chords will revert to the standard definition when the song is transposed (or, to another chord defined for the transposed-to key signature). This is optional; when the "key" keyword is not added to the chord definition, the chord definition will apply to all keys. The complete chord definition syntax recognized by Songsheet Generator is:
    {define: <chord> base-fret <base> frets <Low-E> <B> <G> <D> <A> <E> fingers <Low-E> <B> <G> <D> <A> <E> key <KEY>}

    For example:
    {define: E5 base-fret 7 frets 0 1 3 3 x x fingers - 1 2 3 - - key E}

    All of Songsheet Generator’s built-in chord definitions still apply to all keys.

Summary of new song directives:

DirectiveDescription
{data_abc: xyz}Data key and value; abc is the key, xyz is its value.
{f_abc: xyz}Shorthand for {data_abc: xyz}.
{footer: xyz}Footer override for the current song.
{f: xyz}Shorthand for {footer: xyz}.
{key: xyz}Key the chart is written in; xyz is a valid key; transposition will apply.
{k: xyz}Shorthand for {key: xyz}.

Summary of new footer formatting codes:

CodeDescription
%’abcData key value (abc is a key; xyz, its value, will be printed). Note: the quotes are required!
%?jkl"xyz"Value query jkl is a format code; if the value of jkl is not empty, then xyz will be evaluated and printed; xyz may contain nested format codes). Note: the quotes are required!
%?!jkl"xyz"Value query (negative) jkl is a format code; if the value of jkl is empty, then xyz will be evaluated and printed; xyz may contain nested format codes). Note: the quotes are required!
%kSong key (transposition will apply).
%NTotal number of pages of song.
%PCurrent page number of song.
%sSong subtitle.
%xSong transpose (in half-steps; if the value is zero: nothing, not even a blank, will be printed).
\n (backslash followed by 'n')Manual line break in the footer.

Fixes and minor changes:

  • Fixed a bug that reduced the size of the normal/lyric font when using the auto-adjust feature in the Set Fonts dialog.
  • The title printed on overflow pages will now use the color of the title font (although the rest of the font styling comes from the comment font).
  • Clicking left mouse button once and then quickly clicking the right mouse button to call up the pop-up menu will no longer register as a double-click.
  • Made the thickness of the printed lines (chorus markings and grids) more consistent with the Windows version.
  • If a chord is defined within a song, but the song is transposed: preference will be given to Songsheet Generator’s internal definition of the transposed chord, when printing grids.
  • Due to a new method for reigstering title and key/value data, it is necessary to rescan songs for some song file changes to show up in the output. Songsheet Generator previously re-read the entire song file when printing or previewing; this is no longer completely true.
  • In previous versions, a value of 0 for transposition would print as '0' when %x was defined in the footer. As of version 1.2.0, nothing (not even a blank) will be printed if the transposition value is zero.
  • Fixed a problem with blank lines in guitar tab sections in HTML output.
  • Updated the sample song in the documentation.

Songsheet Generator 1.1

Version 1.1.3; November 2006

New features in this release:

  • Added a combination line-and-tab chorus marking style.

Fixes and minor changes:

  • Fixed a problem that sometimes caused the first chord symbol to be shifted up one line. This problem was due to the "Automatically single-space lines with no chords or lyrics" option; the option has been removed from the program.
Version 1.1.2; April 2006

Fixes and minor changes:

  • Corrected a problem where more than one undefined chord in a line would cause chord names to be printed incorrectly.
  • Corrected some potentially major song file handle leaks. These leaks might prevent an external song editor from saving a song after Songsheet Generator had displayed that song.
  • Corrected Italian Notation "So" to "Sol" and "Ti" to "Si".
  • Chords appearing without lyrics on the last line of a song file will now print correctly, even when chord grids are being printed.
Version 1.1.0; March 2006

New features in this release:

  • Improved font control is available through an extended dialog on the Print and Full Screen Options pages. Please see the online help for further details.
  • Tab characters in song files are now expanded to a user-definable space. Separate spacing values are available on both the Print and Full Screen Options pages; the Print spacing value is based on inches, and the Full Screen spacing value is based on a percentage of the screen.
  • Chords can now optionally be shown in Italian Notation (do re mi fa so la ti). A checkbox on the General Options page controls this behavior, which performs the change to Italian Notation when the songs are printed or displayed. Please note that ChordPro files should still be entered using C D E F G A B notation; Songsheet Generator will not recognize Italian Notation in the ChordPro files.
  • Several new chorus marking styles are available, including shaded filled box and tabbed indentation; to accomodate these choices, the Printer Options page now contains a dropdown menu of chorus marking styles.
  • The Release Notes document can be viewed directly from the Help Menu, as it is now packaged in the Java jarfile.
  • On the Macintosh, the online help is now installed locally. (Pure Java users will still need to be connected to the Internet in order to connect to the help on the tenbyten.com web site.)
  • Registration is now required in order to permanently disable a nag screen that appears from time to time.
  • This software should run natively on both PPC and Intel Macintosh systems.

Fixes and minor changes:

  • A manually-selected page orientation (portrait or landscape) in the Printer Setup dialog or Print dialog will now be saved and reflected properly in the subsequent Printer Setup dialog and Print dialog. When a different Page Layout is chosen, however, or after visiting the Options dialog, the orientation will revert to the default for that layout. The default orientation is landscape for "2 Discrete Cells Per Page," and portrait for all other layouts.
  • Chords are better aligned in the text output. Since no hyphenation is used in the text output, however, some chords will not align exactly. Further detailed spacing alignment must be performed manually.

Songsheet Generator 1.0

Version 1.0; December 2004

New features in this release:

  • Added Full Screen support.
    This is kind of a big deal, since it was the one feature missing from the Java version. (So now I am finally calling this version 1.0!) OK, Print Preview is still missing... but since Mac OS X gives that for free, there is no plan to add Print Preview.
    Note: Because of instability in previous Java releases for Mac OS X, full screen mode is only supported when Java 1.4.2 Update 1 installed.

Fixes and minor changes:

  • Fixed alignment of text fields on the HTML options page.
  • Fixed the background color of the options pages on Mac OS X.
Version 0.9.2.0

Fixes and minor changes:

  • Comment lines preceded by a set of chords with no lyrics and no blank lines will now print correctly.
Version 0.9.1.0; July 2004

New features in this release:

  • The default behavior of Songsheet Generator has always been to apply all of the Options settings when leaving the Options dialog. This can have the undesired effect of resetting transposition and "print chords" settings in the "Songs to print" list — when, for instance, simply a font size is changed. This behavior is by design, but it was pointed out that it is sometimes less than helpful. So, there is now by default a warning message before the transposition and "print chords" settings are applied; and, optionally, songs in the "Songs to print" list will be unaffected.
    This warning message can be turned off, to return to the usual SG behavior.
    Note: no warning is given when changing these settings via the menu.
  • Added Page Numbering!
    Now it is possible to print a full-featured paper songbook using Songsheet Generator. The Table of Contents will reflect the proper page numbers.
    Note: this is not the same as Automatic Song Numbering, a separate feature. Both Page Numbering and Automatic Song Numbering can be used at the same time. Using them both produces a hymnbook-like system, where songs have separate numbers from the physical pages that they appear on.
  • Added footer support for Printer and HTML output destinations. The footer text will appear at the bottom of the physical printed page, at the bottom of the screen, or at the end of the HTML <body>. Any text can be used, but the following control codes can also be used to format the footer:
    CodeDescriptionExample Output
    %l (lowercase 'L')Left-justify text following (printer & full screen only)
    %cCenter-justify text following (printer & full screen only)
    %rRight-justify text following (printer & full screen only)
    %pCurrent page number
    %nTotal number of pages
    %tSong titleMy Song
    %TSong title, with subtitle, if it exists (in parenthesis)My Song (Reprise)
    %fSong filenamemy_song.txt
    %FSong filename (complete path)C:\songs\my_song.txt
    %xSong transpose+3
    %dyTwo-digit representation of current year04
    %dYFour-digit representation of current year2004
    %dmNumeric representation of current month, with leading zeros01 to 12
    %dnNumeric representation of current month, without leading zeros1 to 12
    %dMShort textual representation of current month, three lettersJan to Dec (localized)
    %dFFull textual representation of current monthJanuary to December (localized)
    %ddCurrent day of the month, 2 digits, with leading zeros01 to 31
    %djCurrent day of the month, 2 digits, without leading zeros1 to 31
    %dDShort textual representation of the current day of the weekSun through Sat (localized)
    %dl (lowercase 'L')Full textual representation of the current day of the weekSunday through Saturday (localized)
    %drRFC 2822 formatted dateThu, 21 Dec 2000 16:01:07 +0200
    %%Percent sign ('%')

Fixes and minor changes:

  • The printable area of a printed page is now set correctly the first time.
  • Parameters for the Page Setup Dialog are now retrieved correctly for the default printer.
  • A chorus that runs onto the next page wll now correctly receive the (optional) chorus marking on the initial page.
  • A chorus that is not properly closed with {eoc} or {end_of_chorus} before the end of the song will now receive an (optional) chorus marking.
  • Even if the last line in a song file does not end with and end-of-line character, the line will now print correctly.
  • Chords appearing without lyrics on the last line of a song file will now print correctly.
  • Empty {subtitle:} directives are ignored.
  • Increased the width of the mini-preview window to its typical (Windows version) size.
  • Changed the name of the properties file on Mac OS X to com.tenbyten.SG02.props (from sg02.props; the file is located in ~/Library/Preferences). Additionally, the chordrc file is now com.tenbyten.SG02.chordrc.
Version 0.8.1.0; February 2004

Polishing basic functionality, plus porting ongoing fixes from the Windows version. This is still considered Beta software, although almost all of the features from the Windows version have now been properly implemented.

Changes to the software in this release:

  • Added the "Other..." choice for the transpose menus.
  • Text styles are now properly controlled from the properties file.
  • Added support for the ChordPro {new_page} ({np}), {new_physical_page} ({npp}), and {column_break} ({colb}) directives.
    {np} will cause a "cell break" in the Two and Four Discrete Cells per Page printing modes, and a column break in the Two Flowing Columns printing mode. It will cause a physical page break otherwise.
    {npp} will always force a physical page break.
    {colb} will force a column break in the Flowing Columns printing modes, which amounts to a physical page break in the One Flowing Column printing mode. It has no effect in the Discrete Cells printing modes.
    Note: these directives have no effect in the Text and HTML File output destinations.
  • Unicode (UTF-8) chordpro files now will be imported correctly, as long as they have the byte-order mark.
    Valid encodings: UTF-8, UTF-16 (little- or big-endian), and default system text encoding.
    The Text File Output Destination will write with the same encoding as the source file.
    HTML will always be output as UTF-8.
  • Removed the extra <div class=sg_newsong> tag at the end of the HTML output.
Version 0.7.0.0; December 2003

This is still considered Beta software, although almost all of the features from the Windows version have now been properly implemented.

New features in this release:

  • Added the Page Setup command.
  • HTML output is now writing UTF-8. Using UTF-8 overcomes the display problems that were formerly encountered with various web browsers and language settings.
  • HTML output adds additional style tags for the song body and the Table of Contents: sg_song, sg_toc, sg_toc_header, sg_toc_contents now allow further control over the appearance of the HTML output.
  • Added a feature to automatically number the printed songs. The song numbering is also reflected in the Table of Contents. A checkbox for this feature can be found on the General Options dialog. The setting applies to all of the Output Destinations . The number is never shown in the Mini-Preview.
    Note: Automatic Song Numbering is not the same as page numbering (a feature that is not yet supported).
  • Created this Release Notes document.

Fixes and minor changes:

  • HTML output now validates as HTML 4.01 strict. Related to this change, the internal song linking now uses <div class=sg_song id=...> instead of <a name=...>.
  • Fixed a printing problem in which the first line of a chorus would not receive the full "line" chorus mark, when it had no chords, and SG was set to print chords.

Known problems:

  • Unicode (UTF-8) and multibyte text files may not be imported correctly. UTF-16 files should work OK. A UTF-16 song file, when saving to text, will be output as UTF-16. Not a lot of testing has been done with these sorts of files. This will remain a problem until further notice. Notice: UTF-8 works as noted in 0.8.1.0.
  • Full-Screen Presentation (from the Windows version) has still not been implemented at all.
  • Launching the editor program now works mostly correctly on Mac OS X, but maybe not completely. Anyway, if an editor is not properly defined, SG will resort to using the TextEdit application (this is the default setting).
Version 0.6.0.0; October 2003

Polishing basic functionality, plus porting ongoing fixes from the Windows version.

Changes to the software in this release:

  • Chords grids are now sorted alphabetically.
  • Song title sorting has finally been fixed in the Print List.
  • Minor fixes in the chord definition syntax.
  • Implemented context menu on the Songs List.
  • Added the "Set Path to Songs..." command in the Options Menu. The browse dialog is now also populated with the current path.
  • Removed references to the older Apple MRJ classes.
Version 0.5.0.0; September 2003

Finishing up basic functionality, plus porting ongoing fixes from the Windows version.

Changes to the software in this release:

  • Reworked the About Box to make it consistent with the Mac OS X look-and-feel. Thanks to Benjamin Johnson, who helped to clean up the code.
  • Added the ability to print chord grids. This feature may be turned on and off via a checkbox in the General Options dialog. The size of the grids is automatically varied to fit within the page constraints: Songsheet Generator will attempt to fit the largest possible grids onto the fewest possible lines.
    The most commonly used chord grids have been built into the Songsheet Generator executable (see below). Additional chord grids may be defined in song files, via the standard ChordPro chord grid definition syntax:
    {define: <chord> base-fret <base> frets <Low-E> <B> <G> <D> <A> <E>}

    For example:
    {define: E5 base-fret 7 frets 0 1 3 3 x x}

    Chords grids defined in songs will override any built-in definitions.
    In addition, an extension to the standard format is recognized by Songsheet Generator, which adds fingering support to the grid. Fingerings are printed below the chord grids. The syntax for the fingering definition follows:
    {define: <chord> base-fret <base> frets <Low-E> <B> <G> <D> <A> <E> fingers <Low-E> <B> <G> <D> <A> <E>}

    For example:
    {define: E5 base-fret 7 frets 0 1 3 3 x x fingers - 1 2 3 - -}

    The following chords have been built into Songsheet Generator. Songs using chords noted in this list will benefit automatically from the new chord grids feature:
    Ab, Ab+, Ab4, Ab7, Ab11, Absus, Absus4, Abdim, Abmaj, Abmaj7, Abmin, Abm, Abm7, A, A+, A40, A6, A7, A7+, A7(9+), A9, A11, A13, A7sus4, A9sus, Asus, Asus2, Asus4, Adim, Amaj, Amaj7, Adim, Amin, A/D, A/F#, A/G#, Am, Am#7, Am(7#), Am6, Am7, Am7sus4, Am9, Am/G, Amadd9, Am(add9), A#, A#+, A#4, A#7, A#sus, A#sus4, A#maj, A#maj7, A#dim, A#min, A#m, A#m7, Bb, Bb+, Bb4, Bb6, Bb7, Bb9, Bb11, Bbsus, Bbsus4, Bbmaj, Bbmaj7, Bbdim, Bbmin, Bbm, Bbm7, Bbm9, B, B+, B4, B7, B7+, B7+5, B7#9, B7(#9), B9, B11, B11/13, B13, Bsus, Bsus4, Bmaj, Bmaj7, Bdim, Bmin, B/F#, BaddE, B(addE), BaddE/F#, Bm, Bm6, Bm7, Bmmaj7, Bm(maj7), Bmsus9, Bm(sus9), Bm7b5, C, C+, C4, C6, C7, C9, C9(11), C11, Csus, Csus2, Csus4, Csus9, Cmaj, Cmaj7, Cmin, Cdim, C/B, Cadd2/B, CaddD, C(addD), Cadd9, C(add9), Cm, Cm7, Cm11, C#, C#+, C#4, C#7, C#7(b5), C#sus, C#sus4, C#maj, C#maj7, C#dim, C#min, C#add9, C#(add9), C#m, C#m7, Db, Db+, Db7, Dbsus, Dbsus4, Dbmaj, Dbmaj7, Dbdim, Dbmin, Dbm, Dbm7, D, D+, D4, D6, D7, D7#9, D7(#9), D9, D11, Dsus, Dsus2, Dsus4, D7sus2, D7sus4, Dmaj, Dmaj7, Ddim, Dmin, D/A, D/B, D/C, D/C#, D/E, D/G, D5/E, Dadd9, D(add9), D9add6, D9(add6), Dm, Dm6(5b), Dm7, Dm#5, Dm(#5), Dm#7, Dm(#7), Dm/A, Dm/B, Dm/C, Dm/C#, Dm9, D#, D#+, D#4, D#7, D#sus, D#sus4, D#maj, D#maj7, D#dim, D#min, D#m, D#m7, Eb, Eb+, Eb4, Eb7, Ebsus, Ebsus4, Ebmaj, Ebmaj7, Ebdim, Ebadd9, Eb(add9), Ebmin, Ebm, Ebm7, E, E+, E5, E6, E7, E7#9, E7(#9), E7(5b), E7b9, E7(b9), E7(11), E9, E11, Esus, Esus4, Emaj, Emaj7, Edim, Emin, Em, Em6, Em7, Em/B, Em/D, Em7/D, Emsus4, Em(sus4), Emadd9, Em(add9), F, F+, F+7+11, F4, F6, F7, F9, F11, Fsus, Fsus4, Fmaj, Fmaj7, Fdim, Fmin, F/A, F/C, F/D, F/G, F7/A, Fmaj7/A, Fmaj7/C, Fmaj7(+5), Fadd9, F(add9), FaddG, FaddG, Fm, Fm6, Fm7, Fmmaj7, F#, F#+, F#7, F#9, F#11, F#sus, F#sus4, F#maj, F#maj7, F#dim, F#min, F#/E, F#4, F#m, F#m6, F#m7, F#m7-5, F#m/C#m, Gb, Gb+, Gb7, Gb9, Gbsus, Gbsus4, Gbmaj, Gbmaj7, Gbdim, Gbmin, Gbm, Gbm7, G, G+, G4, G6, G7, G7+, G7b9, G7(b9), G7#9, G7(#9), G9, G9(11), G11, Gsus, Gsus4, G6sus4, G6(sus4), G7sus4, G7(sus4), Gmaj, Gmaj7, Gmaj7sus4, Gmaj9, Gmin, Gdim, Gadd9, G(add9), G/A, G/B, G/D, G/F#, Gm, Gm6, Gm7, Gm/Bb, G#, G#+, G#4, G#7, G#sus, G#sus4, G#maj, G#maj7, G#dim, G#min, G#m, G#m6, G#m7, G#m9maj7, G#m9(maj7)

    Chord grids are not yet supported in the Text or HTML output.
Version 0.3.0.0; September 2003

This was the first mostly-fully-functional version of Songsheet Generator written in the Java programming language.

Version 0.0.0.1; March 2003

Java code first checked into CVS for a version of Songsheet Generator that would run on Mac OS X.