LivePrompter’s settings are stored in traditional .ini files. This has proven pretty robust and useful; not only has it saved me from having to code a settings GUI, but it also allows you to use multiple different ini-files, selected at program start. Maybe you want to use LivePrompter with different song folders (one for every band) or with different display configurations (laptop screen vs. projector) and accordingly text sizes?
Just create a copy of LivePrompter.ini, make your changes to this new file and pass it to LivePrompter as a start parameter (C:\MusicProgs\LivePrompter\LivePrompter.exe CustomSettings.ini).
The format of LivePrompter.ini is simple:
Setting=value
At the beginning of the line, you type the name for the specific settings (upper/lower case IS important!), then an “=”, and after that, the value for this setting up to the end of the line.
Colors for text are given in hexadecimal HTML notation, e.g. #FFFF00 for yellow. See:
http://www.w3schools.com/html/html_colorvalues.asp
Now the individual settings:
Basic Settings
HomeDir | Folder for your song files, without an ending “\”, e.g. C:\MusicData\LivePrompter |
StartWithoutButtons | When true or yes, the bottom buttons on the lyrics window will be hidden on start (can be un-hidden using the mini menu); when false or no ,they will be shown |
StartMaximized | When true or yes, the main window will be maximized on startup; when false or no, it will not. Default is no |
ButtonBarSize | Values are 1 or 2. You can increase the size of the bottom buttons by setting this to 2. Default size is 1 |
HeaderSize | Values from 1 to 3. You can increase the size of the title bar of the lyrics window (including the metronome) by setting HeaderSize to 2 or 3. Normal size is 1 |
FooterSize | Values from 1 to 3. Set the size of the footer bar (next song). 1 is normal size, 2 and 3 increase the size |
BackgroundColor | Background color for the lyrics window in HTML hex format |
ListTextSize | Values from 1 to 3. Lets you adjust the text size of the main window – default size is 2 |
Clock24Hrs | When true or yes, the clock on the bottom of the lyrics window will be shown in 24 hour format; when false or no, it will show in 12 hour format. Default is 24 hour format |
Text Display
TextSize | Text size in pixels |
TextColor | Text color for lyrics in HTML hex format |
SectionHeaderColor | Text color for section headers in HTML hex format |
TitleColor | Text color for the title and subtitle in HTML hex format. If this is not explicitly set, it will be automatically set to the text color. |
CommentColor | Text color for general comments in HTML hex format |
CustomCommentColor0 … CustomCommentColor9 | Text color for custom comments in HTML hex format. One line for every custom comment number |
HighlightColor | Text color for highlighted text (>Text<) in HTML hex format t |
HideComments | When true or yes, general comments will be hidden, when false or no, they will be shown |
ShowCustomComments | Selects 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 |
ChorusBold | Should the chorus (contained in {start_of_chorus} and {end_of_chorus}) be displayed in bold type? If yes, then yes, otherwise no |
CleanEmptyLines | When true or yes, multiple consecutive empty lines will be reduced to one. This comes in handy when using HideComments and/or Hide Chords, which will sometimes create a number of empty lines. This setting is true by default. |
Chord Display
ChordColor | Text color for chords headers in HTML hex format |
ChordsBold | When true or yes, chords will be displayed in bold type, when false or no, in normal type |
GermanChords | When true or yes, “B” chords will be displayed in German style (“H”), when false or no, in normal English format (“B”) |
ChordsAboveText | When true or yes, chords will be displayed in their own line above the lyrics (default setting), when false or no, then within the song lyrics |
HideChords | When 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. |
UseCustomTranspose | Selects 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. |
Picture Display
PictureSize | Controls the scaling of pictures for different screen resolutions. So if you have a mix of high- and low-resolution devices, create your images at a high resolution and scale them down with PictureSize=30 or similar. The number is interpreted as “percent”, so setting PictureSize to 100 means no scaling. |
Scroll Controll
AutoScroll | When true or yes, songs will be scrolled according to their duration or to their d_time tags. When false or no, songs will not be scrolled automatically, but can be manually scrolled by key presses in fixed amounts. |
ScrollToMarker | When true or yes, manual scrolling via the jump-up or jump-down buttons will scroll to the next d_time tag, when false or no, always by a fixed amount |
HalfPageAmount | This defines by what percentage of the screen height the screen will be scrolled by manual jumping with the jump-up / jump-down button. The amount is given by an integer number, with 50 meaning 50%. |
FullPageAmount | This defines by what percentage of the screen height the screen will be scrolled by manual jumping with the universal key when AutoScroll is false or for songs without a duration or d_time tag. The amount is given by an integer number, with 80 meaning 80%. |
ScreenFocus | This defines the position where the current line in the song should be on the screen (it shouldn’t be all the way at the top, otherwise it would be gone too soon…). Typically you would choose a point in the top third of the screen. The position is given as an integer number, with 25 meaning 25%, i.e. the current line is always at a vertical position one quarter of the screen down from the top. |
FastScrollSpeed | Set the speed for fast scrolling (when you scroll via the up/down buttons) in pixels per cycle. Default speed is 20; feel free to experiment. |
Keyboard Control
This defines the keys for song control and the universal key. At present, LivePrompter accepts the following keys (the curly brackets are obligatory):
- {SPACE} – the space bar
- {RETURN} – the return key
- {LEFT} – the left-arrow cursor key
- {RIGHT} – the right-arrow cursor key
- {UP} – the up-arrow cursor key
- {DOWN} – the down-arrow cursor key
- {PGUP} – the page-up key (page↑)
- {PGDN} – the page-down key (page↓)
- {ESCAPE} – the escape key
KeyUp | The key for the jump-up button |
KeyDown | The key for the jump-down button |
KeyPrevSong | The key for the previous-song button |
KeyNextSong | The key for the next-song button |
KeyReset | The key for the re-start button |
KeyPausePlay | The key for the pause/play button |
KeyUniversal | The universal key |
MIDI configuration
Defining how LivePrompter sends and receives MIDI
MidiInPort | The name of your selected Input MIDI port. If you are unsure about what the exact name is, use the small utility “MidiEnum”, included in the LivePrompter package, which lists the exact names of all MIDI input and output ports in your system |
MidiInChannel | The MIDI channel that Liveprompter should react to. Set it to a number from 1-16 for a specific channel or simply set it to omni to react to all channels |
MidiOutPort | The name of your selected Output MIDI port |
MidiOutChannel | The MIDI channel that Liveprompter will send on. Set it to a number from 1-16. |
MidiOutKeys | Set this to true or yes to activate sending out commands on any key press in LivePrompter. If set to false or no, LivePrompter will not send out any keys |
MidiOutPC | Set this to true or yes to activate sending out program changes on loading a song in LivePrompter. If set to false or no, LivePrompter will not send out any program changes. |
MidiInKeys | Set this to true or yes to activate receiving commands (note on or control change) for key presses in LivePrompter. If set to false or no, LivePrompter will not react to any commands |
MidiInPC | Set this to true or yes to activate receiving program changes to load a song in LivePrompter. If set to false or no, LivePrompter will not react to program changes. |
MidiInKeyUp | The MIDI command that will activate the jump-up button. Commands are defined in the following form: CC x (with x being a number from 1 to 127) N x (with x being either a number from 0 to 127 or a note descriptor like C#1 or A-1 with C4 for “middle C”) So typical valid commands are “CC 7”, “N C3” or “N 64” To trigger a key, you need to send a note on with a velocity of > 0 or a controller value of >0 |
MidiInKeyDown | The MIDI command that will activate the jump-down button |
MidiInKeyPrevSong | The MIDI command that will activate the previous-song button |
MidiInKeyNextSong | The MIDI command that will activate the next-song button |
MidiInKeyReset | The MIDI command that will activate the re-start button |
MidiInKeyPausePlay | The MIDI command that will activate the the pause/play button |
MidiInKeyUniversal | The MIDI command that will activate the universal key |
MidiOutKeyUp | The MIDI command that will be sent by the jump-up button. The format is the same as for incoming commands. |
MidiOutKeyDown | The MIDI command that will be sent by the jump-down button |
MidiOutKeyPrevSong | The MIDI command that will be sent by the previous-song button |
MidiOutKeyNextSong | The MIDI command that will be sent by the next-song button |
MidiOutKeyReset | The MIDI command that will be sent by the re-start button |
MidiOutKeyPausePlay | The MIDI command that will be sent by the the pause/play button |
MidiOutKeyUniversal | The MIDI command that will be sent by the universal key |
MidiAlwaysSendBankSelect | If “yes”, LivePrompter will always send Bank Select messages for all Program changes´. If “no”, Bank Select messages will only be sent when a different bank than the current one needs to be selected. |
MidiChangeToAllOnPC | If yes, then on receiving a program change for a song that isn’t in the currently selected setlist or book, LivePrompter will try to find it in the “All Songs” list and, if found, switch to the “All Songs” setlist. |
Detailed Display Configuration
Customizing the way LivePrompter is displayed on one or multiple monitors
FullScreen | If yes, the song window will show on the full screen, if no,the song window will be a normal, moveable and sizable window. |
AlwaysOnTop | When FullScreen = no , the song window will by default open in “always-on-top” modei.e. it will always stay above all other windows. If you don’t want this behavior, use AlwaysOnTop=no |
ScreenLayout | This allows you to have different saved window layouts. Simply put a different number (not 0) in any configuration (custom .ini file) and the size and position of windows will be saved and recalled separately |
FullScreenDisplay | In multi-display configurations, specify the number of the display that you want the full-screen song window to show on. |
ScreenX | Force horizontal position of the selection window by specifying the x coordinate in pixels here |
ScreenY | Selection window y coordinate (top to bottom; top = 0) |
ScreenW | Selection window width |
ScreenH | Selection window height |
SongX | Song window x coordinate |
SongY | Song window y coordinate |
SongW | Song window width |
SongH | Song window height |
MidiAlert Settings
These are the settings in LivePrompter.ini to configure MIDI Alert.
MidiInAlerts | Set this to true or yes to activate showing alert messages on receiving correct SysEx commands. If set to false or no, LivePrompter will not react to any alert messages |
AlertWindowWidth, AlertWindowHeight | Size of the alert window in pixels |
AlertTextSize | Font size in points |
AlertDisplayNumber | For multi-monitor setups set this to the number of the display you want to show alerts on. You can find the correct number in the Windows display properties (“Identify”). |
FlashDuration | How long (in seconds) should “flash” alerts be displayed before closing automatically. Has no effect on “toggle” or “momentary” alerts |