Settings in LivePrompter.ini

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

HomeDirFolder for your song files, without an ending “\”, e.g. C:\MusicData\LivePrompter
StartWithoutButtonsWhen 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
StartMaximizedWhen true or yes, the main window will be maximized on startup; when false or no, it will not. Default is no
ButtonBarSizeValues are 1 or 2. You can increase the size of the bottom buttons by setting this to 2. Default size is 1
HeaderSizeValues 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
FooterSizeValues from 1 to 3. Set the size of the footer bar (next song). 1 is normal size, 2 and 3 increase the size
BackgroundColorBackground color for the lyrics window in HTML hex format
ListTextSizeValues from 1 to 3. Lets you adjust the text size of the main window  – default size is 2
Clock24HrsWhen 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

TextSizeText size in pixels
TextColorText color for lyrics in HTML hex format
SectionHeaderColorText color for section headers in HTML hex format
TitleColorText 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.
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
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
CleanEmptyLinesWhen 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

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”)
ChordsAboveTextWhen 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
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.

Picture Display

PictureSizeControls 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

AutoScrollWhen 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.
ScrollToMarkerWhen 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
HalfPageAmountThis 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%.
FullPageAmountThis 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%.
ScreenFocusThis 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.
FastScrollSpeedSet 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
KeyUpThe key for the jump-up button
KeyDownThe key for the jump-down button
KeyPrevSongThe key for the previous-song button
KeyNextSongThe key for the next-song button
KeyResetThe key for the re-start button
KeyPausePlayThe key for the pause/play button
KeyUniversalThe universal key

MIDI configuration

Defining how LivePrompter sends and receives MIDI

MidiInPortThe 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 
MidiInChannelThe 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
MidiOutPortThe name of your selected Output MIDI port
MidiOutChannelThe MIDI channel that Liveprompter will send on. Set it to a number from 1-16.
MidiOutKeysSet 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
MidiOutPCSet 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.
MidiInKeysSet 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 
MidiInPCSet 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.
MidiInKeyUpThe 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
MidiInKeyDownThe MIDI command that will activate the jump-down button
MidiInKeyPrevSongThe MIDI command that will activate the previous-song button
MidiInKeyNextSongThe MIDI command that will activate the next-song button
MidiInKeyResetThe MIDI command that will activate the re-start button
MidiInKeyPausePlayThe MIDI command that will activate the the pause/play button
MidiInKeyUniversalThe MIDI command that will activate the universal key
MidiOutKeyUpThe MIDI command that will be sent by the jump-up button. The format is the same as for incoming commands.
MidiOutKeyDownThe MIDI command that will be sent by the jump-down button
MidiOutKeyPrevSongThe MIDI command that will be sent by the previous-song button
MidiOutKeyNextSongThe MIDI command that will be sent by the next-song button
MidiOutKeyResetThe MIDI command that will be sent by the re-start button
MidiOutKeyPausePlayThe MIDI command that will be sent by the the pause/play button
MidiOutKeyUniversalThe MIDI command that will be sent by the universal key
MidiAlwaysSendBankSelectIf “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.
MidiChangeToAllOnPCIf 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

FullScreenIf yes, the song window will show on the full screen, if no,the song window will be a normal, moveable and sizable window.
AlwaysOnTopWhen 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
ScreenLayoutThis 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
FullScreenDisplayIn multi-display configurations, specify the number of the display that you want the full-screen song window to show on.
ScreenXForce horizontal position of the selection window by specifying the x coordinate in pixels here
ScreenYSelection window y coordinate (top to bottom; top = 0)
ScreenWSelection window width
ScreenHSelection window height
SongXSong window x coordinate
SongYSong window y coordinate
SongWSong window width
SongHSong window height

MidiAlert Settings

These are the settings in LivePrompter.ini to configure MIDI Alert.

MidiInAlertsSet 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, AlertWindowHeightSize of the alert window in pixels
AlertTextSizeFont size in points
AlertDisplayNumberFor 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”).
FlashDurationHow long (in seconds) should “flash” alerts be displayed before closing automatically. Has no effect on “toggle” or “momentary” alerts