LyricsPrinter

What is LyricsPrinter?

LyricsPrinter is a companion tool for LivePrompter, the musicians’ teleprompter. LyricsPrinter is a simple tool to help you create printed copies of your LivePrompter song files – with a bit of fancy formatting. It uses the song files from your LivePrompter home directory and creates HTML documents that open in your default browser.

You can generate output for single songs, or you can combine multiple songs in one document. LyricsPrinter creates page break tags in the output document that most browsers should respect, so you should be able to print out a full setlist with relative ease.

The fancy stuff comes in with the use of “print profiles” that allow you to specify different formatting settings (fonts, colors, background, bold type etc) that you can easily select for an individual output job.

I’ve simply knocked this together for my own use, so don’t expect anything fancy or remotely pretty, but it does its job for me, so if it helps you, then by all means feel free to use it.

As LivePrompter, LyricsPrinter has been developed for the Windows platform – unfortunately no Mac, Unix, Android or iOS version at present.

Installation and Configuration

LyricsPrinter comes in a simple ZIP archive – download it here and extract it to a location of your choice; maybe create a shortcut to the executable, and you’re almost ready to run.

The SetlistBuilder archive contains:

  • LyricsPrinter.exe – the actual program file
  • LyricsPrinter.ini – the configuration file (see below)
  • Setlist Builder Manual (en).pdf – this manual
  • Profiles: a folder with some example profiles – feel free to study them and create your own

The first configuration step you’ll need to make is point LyricsPrinter at your LivePrompter song directory. Things won’t work without this, so this is the first thing we need to configure after installation! You do this by editing LyricsPrinter.ini. Simply open LyricsPrinter.ini with any text editor (e.g. Notepad), find the line “HomeDirectory=…” and enter the path to your own song file folder without the “\” at the end. This will look like this:

HomeDirectory=C:\Users\Torsten\Documents\LivePrompter

Also, you’ll need to tell LyricsPrinter where to save the HTML files it generates with “OutputDirectory=…”. This will look like this:

OutputDirectory=C:\Users\Torsten\Documents\LivePrompter

Now you can start LyricsPrinter by double-clicking the program file LyricsPrinter.exe – of course you can also create a shortcut to this file on your desktop or in your start menu. Creating a shortcut also allows you to start LyricsPrinter with different configurations for different home directories – we’ll get to that later.

The Main Window

After starting, you will first see LyricsPrinter’s main window:

In the big list, you see all the songs in your LivePrompter directory. Using the drop-down menu at the top, you can display subsets of the full file lists; select books (if you have defined books in your LivePrompter songs using the {book:xxx} tag) or existing setlists to only display songs contained in them.

To print a song, you select it in the list, then click the “Print” button, then LyricsPrinter will create a HTML file from the song and open your default browser to display it. You can then print it using the Print function in your browser.

If you want to print all songs in a set list or a book, simply use the “Print All” button. LyricsPrinter will insert “page break” tags in the HTML file that make it print correctly in most browsers, so that songs start on a new page.

Dividers are entries to structure your setlist into sets. You create them by inserting a setlist entry led and followed by “---“, e.g. “--- Set 1 ---“. You can easily create dividers when you create your setlists using SetlistBuilder – they will have some added benefits in SetlistBuilder, e.g. they’ll calculate the net playing time for your sets. When using “Print All”, dividers will be printed on a separate page.

Instructions are playlist entries to help structure a gig (“tell a dirty joke here”, “Joe to change to a different guitar”, “Fred: announce next song”). Similar to dividers, instructions are formatted as “- Instruction -“ in the setlist file. These will also be printed as single lines on a separate page when using “Print All”.

Print Profiles

Print profiles are where you can customize your output. In the “Profiles” directory inside your LyricsPrinter program directory, there are already some first profiles to get you started – if you want to have your own, simply create a new text file and set the parameters as you like them.

Here is a list of the parameters that LyricsPrinter currently understands:

TextSizeText size in points
ChordSizeChords can have a different size from text in LyricsPrinter – set it in points as well
TitleSizeSize for song titles in points
TextFontSet the font for text – set the font name here (as displayed in the Windows fonts settings)
ChordFontSame for chords
TextColorText color for lyrics in HTML hex format
SectionHeaderColorText color for section headers in HTML hex format
CommentColorText color for general comments in HTML hex format
CustomCommentColor0 CustomCommentColor9Text color for custom comments in HTML hex format. One line for every custom comment number
HighlightColorText color for highlighted text (>Text<) in HTML hex format t
HideCommentsWhen true or yes, general comments will be hidden, when false or  no, they will be shown
HideSectionWhen true or yes, section headers will be hidden, when false or  no, they will be shown
ShowCustomCommentsSelects which individual comments will be displayed – enter a number sequence that contains all custom comments to be shown   e.g. ShowCustomComments=127 à CustomComments 1, 2, and 7 will be shown
ChorusBoldShould the chorus (contained in {start_of_chorus} and {end_of_chorus}) be displayed in bold type? If yes, then yes, otherwise no
ChorusStyleBeyond bolding, choruses can be further highlighted. Use “solid” to give choruses a solid background color, or use “indent” to shift choruses a bit to the right. Otherwise use “none” to stay with normal layout
ChorusBackgroundThe color to use for solid chorus background in HTML hex format
ChordColorText color for chords headers in HTML hex format
ChordsBoldWhen true or yes, chords will be displayed in bold type, when false or  no, in normal type
GermanChordsWhen true or yes, “B” chords will be displayed in German style (“H”), when false or  no, in normal English format (“B”)
HideChordsWhen true or yes, all chords will be hidden, when false or  no, chords will always be displayed. When set to auto, LivePrompter will initially display chords, but obey hide_chords and show_chords tags.
UseCustomTransposeSelects which individual transpose settings (CustomCapo or CustomTranspose) will be used. Similar to ShowCustomComments, enter a number sequence that contains all custom transpose instructions to be used. Normally, you’d probably only use one number.
ChordPositionHow to display chords: “above” is LivePrompter’s normal behavior of having chords above the text, “inline” will keep the chords within the text, and “right” will extract all chords and display them to the right of the lyrics.
PrintDividerPagesWhen true or yes, dividers or instructions will be printed on separate pages, when when false or  no, they will be omitted.

Transposing

Using the “Transpose” and “Capo” slider, you can transpose the song or simulate using a capo before printing it. Useful for creating print-outs for individual musicians who use a capo or for quickly printing out a transposed version of a song.

Using Pictures

LyricsPrinter currently only supports the {picture:…} tag in LivePrompter, not (yet) the {custompictureX:…} tag. Pictures will be copied to the Pictures subdirectory of your target directory, so that the Browser can find them easily. Also, since LivePrompter usually uses a black background, and pages are usually printed black on white, LyricsPrinter will invert pictures, so that not too much ink is wasted on printing black background.

There will be a setting to turn this “invert” feature on and off in a coming version.

Multiple configurations

If you use LivePrompter and LyricsPrinter for multiple projects like I do, you may want to use different LivePrompter directories for your project in order to keep things organized. Like LivePrompter, LyricsPrinter allows you to start it with alternative .ini files – just create a new shortcut to LyricsPrinter and add the alternative .ini file to your command, e.g.

“C:\Torsten’s Music Tools\LyricsPrinter\LyricsPrinter.exe” OtherBand.ini

Your OtherBand.ini should then contain the HomeDirectory entry that points to the LivePrompter files for your other band.

Customizing LyricsPrinter output

When creating your print-outs, you may want to further fine-tune the output that LyricsPrinter creates. You can open the generated HTML documents in Word and do some fine-tuning there.

Please note that to properly align chords and text in the document, LyricsPrinter creates tables for every combined lyrics/chords line, so editing isn’t always intuitive, when you want to e.g. break a line with chords. You’ll probably have to duplicate the table making up the line and delete the columns you don’t need in each table. It helps to activate “show grid lines” in word to make this editing easier.

Also note that Word doesn’t use the exact same font names for all fonts. As an example, the font “Cardigan” is displayed in Word as “Cardigan Rg” (regular) and “Cardigan Sb” (for the semi-bold variant), while the Windows font panel shows it simply as “Cardigan” (and using “Cardigan” works well with displaying in a browser and printing). To make the document display properly when opened in Word, you’ll need to specify the Word-compatible font name in the respective profile: TextFont=Cardigan Rg.

LivePrompter features not currently supported

I’m trying to have LyricsPrinter follow LivePrompter development, but I don’t always have time to implement all new LivePrompter features right away. So here are some features that LyricsPrinter doesn’t currently support at this time

  • CustomHideChords – hiding chords for individual artists
  • CustomIgnore – ignoring sections for individual artists