First: yes, LivePrompter expects .txt files, so you’ll need to change the extension.
Second: the LivePrompter file format is BASED ON the chordpro format, but to fully utilize all LP features, you’re going to need to invest a bit of fine-tuning. So it pays to read through the LivePrompter manual Section 5 - there are a lot of options that aren’t strictly within the original chordpro format.
Especially the {duration:} tag is important if you want your songs to scroll in time with your performance; the {tempo: } tag drives LP’s metronome. {transpose: } and {capo: } are helpful for quick key changes.
And if you want to be really fancy with the timing of your song scrolling, the {d_time: } tags help you define precisely what section of a song should be in the focus position at what time.
So, if you want to get the most out of LivePrompter, you’ll need to invest a bit of time to customize your files - it will definitely pay back during your performance!
I’m addressing your questions one at a time to avoid a huge unreadable post, so let’s get to the first one: In order to have your songs in a different order than alphabetical, use the Setlist feature in LivePrompter.
Important things first: there is NO NEED to fiddle with numbers in front of your songs!
The “All Songs” view is just the general repository of all your songs - here, alphabetical order is usually helpful to find your way around your repertoire. Yes, other programs allow sorting by artist, tempo, etc, but I didn’t want to complicate things too much.
Just for your info: there is also a “Books” view feature that allows you to create collections within your repertoire by adding the {book: } tag to your song files. So you can have “Songbooks” like “Solo”, “Band 1”, “Band 2” - when you select one of these books in the top menu, only songs belonging to this collection will be displayed - again in alphabetical order. I use this to display only songs in our active repertoire.
Now, I created the setlist feature specifically to be able to create individually ordered custom selections from our repertoire and then step through them in sequence. Check section 6 of the LivePrompter manual - essentially, you need to create a folder “Setlists” within your song folder; then create text files that contain the file names (without “.txt”) of your songs in the order you want. Now you can select this setlist in the list selector menu at the top of the window.
Check it out - should address your sorting issues!
OK, now to your other issue: unfortunately, the SOLO edition of Cantabile does not have “triggers”, i.e. bindings connected to certain events like loading a song or a song state. This means that you won’t be able to make Cantabile automatically send program changes to LivePrompter on loading a song.
One option you have with Cantabile Solo is to set up the same set list in Cantabile and LivePrompter and have both of them listen to your Korg Kontrol2 for MIDI commands to step to the next song.
Alternatively, maybe you can use the “Set List → Selected Song Program” binding, but I don’t know if this is available in the Solo edition. If yes, you can create a binding in your background rack (not sure: is there a background rack in Solo?) with:
source: Set List → Selected Song Program
target: LP Remote MIDI out (This is the output port you create in Cantabile to connect to LivePrompter via virtual MIDI)
action: program change (banked)
Now, when you select a song in a set list in Cantabile, it should send a program change through the virtual MIDI port to LivePrompter. Once you have set up your “MidiReceive.txt” file correctly (see manual “LivePrompter and Cantabile”), LivePrompter should load up the correct song. But this will only work for songs within a Cantabile set list. When you load songs individually in Cantabile, there will be no set list associated, so no program change sent.
I am just a bit worried about the MIDI ports in your .ini file: you are using the same virtual MIDI port for input and output, so essentially LivePrompter is sending MIDI to itself! If you want to send MIDI back and forth between LivePrompter and Cantabile, you will need TWO virtual MIDI ports; one from LP to Cantabile, the other from Cantabile to LP. The free version of LoopBe doesn’t allow more than one port, but have a look at loopMIDI.
Last: you can’t set your MidiOutChannel to omni - omni works for input channels only (means that LP will react to messages on any channel). But when you SEND data, you need to tell LP what channel to send on.
BTW: you have a double entry in your .ini for MIDIInChannel - but since it’s the same, it doesn’t hurt…
Can you tell me a bit more how the MIDI connections in your setup are arranged between your Korg Kontrol, Cantabile and LivePrompter? Then I can better help you sort this out.
Hi (again) Torsten. Is there (or can there be) a way to disable “always on top” please? I normally use LP on half the screen with C3 on the other half. Sometimes I want to maximise the C3 window, but the LP window masks it, and I have to move LP out of the way, and then back again when I’ve finished with C3.
the “always on top” is there for a reason: a number of users put LP on top of Cantabile so it covers some of the main C3 window (as a substitute show notes view). But I can make this a setting in one of the next releases - I’ll put it into the backlog.
But in the meantime, the easiest way to get LP out of the way is to simply minimize it to the task bar. This way, the window position stays where it is…
Hi Torsten,
Brad suggested I check out your LivePrompter. I did, and I quite like it. Currently I’m using Onsong - an Ipad lyric app. The songs in the setlist send PG commands to Cantabile and it works quite fine. Select a song in Onsong and the appropriate Cantabile song preset is immediately selected. However, I’ve been thinking recently that two screens are a bit two much. I’ve been experimenting with different VST text plugins in the following manner. I make a “lyric rack” and add the vst text plugin (currently Meldaproductions Mnotepad, is the best one I’ve found for me). I’m then able to, with a binding, toggle on or off the lyrics as desired.
So my question is, is it possible to port LivePrompter to the vst format? The advantages include.
Only one screen.
2, Just one main programme with no need to midi sync software or send PG commands.
The lyrics would be embedded in each song and “toggleable”.
thanks for your interest in LivePrompter - I hope you get good use out of it!
Is it possible? Most probably yes - that is, in theory…
Is it going to happen in the foreseeable future? Most probably no…
There would be just too much effort involved in re-building the architecture of LivePrompter to make it fit into a VST plugin paradigm, and I just don’t see such a lot of added value to make it worth-while to create this second version and to maintain two parallel versions of my tool.
I built LivePrompter for my own use in my band and other projects - actually as a replacement for OnSong and LinkeSoft Songbook, to run on a dedicated tablet PC. Both OnSong and Songbook are very nice programs, but I wasn’t happy with their live handling as a teleprompter with a minimum of fuss.
That’s why I created LivePrompter: a teleprompter that does nothing but provide lyrics, chords and tempo (metronome) information and that has a sophisticated scrolling automation that allows me to operate it essentially with one pedal only. I then added MIDI capabilities to link LivePrompter and Cantabile, so that either of them can be the leading program: your model of using PC commands in OnSong can be ported directly to LivePrompter (you need to read the specific manual on linking LivePrompter and Cantabile), but the alternative direction (create a set list in Cantabile and “slave” LivePrompter) works just as well.
Finally, I added the ability to run LivePrompter in “windowed mode” to enable users to actually run both programs on one machine and one screen. If you want to have both programs on your screen, it’s easy to do, layering LivePrompter on top of Cantabile to occupy part or all of the Show Notes screen - which isn’t really different from having it in plugin format: Cantabile shows plugin GUIs in a floating window as well, so the user experience isn’t very much different.
Cutting a long story short: being brutally honest, I don’t see too much added value in creating an additional VST version of LivePrompter - it’s not on my roadmap and will probably not make it there anytime soon.
If I load up LP and send a song selection MIDI message to it from C3, LP will then load up the song view. Which Setlist will it use? Can I pick one? Thanks!
Song selection via program change in LP works like this:
LP will look for a corresponding entry in “MidiReceive.txt”
if one is found, LP will try to find the corresponding song name in the currently loaded set list.
if it is found, LP will switch to the selected song and open the Song View screen (if needed)
When you start LivePrompter, it loads all songs in its song directory, so you can be pretty sure your song will be found by a MIDI program change. This is the “default setlist”. You select an alternative set list in the top menu in LivePrompter (the one that shows “— All Songs —” initially). All set lists in the “setlists” sub-directory of the songs directory are shown here.
Alternatively, you can also select “books” here - these are collections of songs containing a specific “{book:}” tag. This way, you could e.g. select songs for different bands (with some songs contained in multiple band repertoires). When selecting a book, the songs from this book will also be sorted alphabetically, as in “— All Songs —”.
My recommendation if you want to select songs from Cantabile: do not use a set list in LivePrompter but leave it with “All Songs” selected. This way, you can be sure that any song you select in Cantabile will be found. Then, only use Cantabile’s set lists to step through your repertoire - LivePrompter will follow
There is also a special setting in LivePrompter.ini: “MidiChangeToAllOnPC=yes”
Now, if LivePrompter doesn’t find a song in the currently loaded setlist or book, it will search the full list of songs and, if the song is found there, switch the loaded setlist to “all songs”.