FR: a wishlist of improvements :)


The one thing I’m itching for is the ability to format certain words in the Song Notes. It would help to quickly identify visually who is singing what.


I hope Brad finds the energy for these improvements, I’m looking to upgrade my way of working, because it’s not performant enough…


Functions from setlistmaker should be added to C3

  • chordpro
  • tags
  • setlist columns
  • autoscrolling
  • show length calculation…
  • font size of list and text
  • etc…

I’m jealous of our gitarist using this app and comes brag to me :smiley:

I think there’s much to learn, check the video

How to get faster song switching?

Hi Sven,

I’ve been doing “Tuesday Night” music sessions with a group of musicians and the handling of setlists, recordings, suggested cover examples from YouTube etc has been somewhat chaotic. Bandhelper looks promising as a central repository of all that. Thanks for posting the link.



I read on other forums they use such a programs to control the host.
Kinda like Torsten his software i guess?
Anyway makes it all to complicated and risk for errors. I love the 1 product approach.


A more advanced Notes page, with (slightly) more advanced formatting, and designed to sync with the Timeline (I currently use State switches, even when I actually don’t need to change States), is high on my wish list.

I’d also like a ‘summary’ button on the Control Bar that simply lets me see the selected State for any Rack (in my specific case Linked Racks). Maybe even a ‘summary’ page? There’s a lot of information on the Routing page, but in performance I typically only need to know which Racks are active, and what State they are currently set to.

On a lesser note I’d like to have a way of uniquely binding to specific Racks from anywhere, including the Background Rack - using indexes really is a bit hit and miss. When I try to bind to a gain, for instance, Cantabile insists that I uniquely name the binding point, making binding reliable and traceable; the same does not exist for Racks.


I would like to advertise for “Fast forward and rewind in the mediaplayer
I think it’s a crucial feature for a media player.



Just been having a conversation with another Cantabile user tonight. We got around to wondering if a good approach to Notes would be for them to have their own States, like Songs and Racks? It seemed to make sense to us!


Don’t know if I understand that, as I’ve been using notes for lyrics and song maps for some time now. I change my lyrics and/or rack changes with song states now, and it works perfectly well.



There are times when we need the notes to change without having to select a new Song State - and vice versa.


Yes…I do that as well with a song state change. Please understand I am not trying to be argumentative, just curious. You will still have to make a change some how, some way, regardless of how you do it. As C3 sits in it’s current update, I can control most anything with song state, or use keyswitches or foot switches. If you are not changing song states. you are still changing other states. To me, in my little world, it only makes sense to use 1 or 2 sources for state changes as it can become very complicated, very quickly.


This is essentially about the Timeline controlling what notes are showing. You don’t always need the Song State (or any other State) to change, but you’d like the notes to follow the Timeline with chords, lyrics, etc.


On the notes discussion, I’d like to offer an idea, if it hasn’t been already given and that is to use the existing bindings but change a feature of those bindings. Here is a current binding that will show the note at a given position between 0 (top of notes) and 1 (bottom of notes). On the transport position we can select the “Use Current Position” to easily set the marker positions …

Shown below is the second part of the binding where you can manually set the position of the notes scroll but it would be more user friendly if you could have a similar feature to the one used in the transport section of the binding and so it would also have a “Use Current Position” button that would load the current scroll value in to the binding. In usage you would drag the notes scroll bar to the position you wanted before hitting the select button of course. This feature would make this a lot better to use in real life.

You could group all the bindings in a folder in the Bindings pane for scroll changes so they are easy to manage. When you need to reference a section multiple times you could just copy the scroll position from the first one you calibrated thus speeding thing up as well.



Well, I didn’t realise you could do that! It was well hidden away, though!

I don’t understand the numbers of the scroll values (between 0 and 1?), but this pretty much does what I’d wanted, short of the ability to have multiple text colours in one note.

I’m realising there’s still an awful lot in bindings that I’ve yet to discover/understand!


I think of it like a percentage or fraction so there are 100 equal distanced gradations that are applied to any note or group of notes. So a value of .50 would be halfway down the scroll bar ,25 a quarter way and so on. Hope this helps …



Are there any people who can help me out in XML to add this function in the Printable setlist file?
I really could use this tempo printed next to the songs, for my drummer(s)

btw: thx Brad for already adding the tempo tap improvement and startup the html notes (and how!!! :slight_smile: ) :heart:


Hi Sven,

unfortunately, this has nothing to do with XML skills - the template is a simple HTML file. But the problem is what data fields Cantabile is providing to these template files. Currently, all I am seeing in the documentation are “Title” and “Name” - unless @brad provides additional data fields like “tempo”, there’s nothing that can be done at the template level.

The only way currently to retrieve this information is to process the raw song files; this is where tempo information is stored:


So you’d need to create a program that will

  • read the set list file
  • extract the location of the individual song files
  • read the song files one by one
  • extract the name and tempo information
  • format everything nice and tidy into an HTML file

Not something to be done with a bit of XML fiddling.

@Neil_Durant has created something similar with his setlist analysis script - a pretty nifty Python script that spits out dependencies in a set list. You’d need to build something similar to do what you want outside Cantabile.

Personally, I’d prefer to wait until @brad provides some more data fields for his printable setlist - after all, he’s already written all the code to traverse the set list, and he has access to all the internal data structures in Cantabile, which will make this so much easier.




The problem here (besides my laziness) is that the set list has a list of song files, but unless you’ve preloaded the set list doesn’t have the tempo details from the song. Also, the song could have multiple tempos.

I do plan to add Svens other requested feature - the ability to set tempo and transpose in the set list - at which point these fields would be available for printing.



Thank you guys, it’s of an enormous value to have your help here!

Yes i was hoping it would be simple but knowing it wouldn’t :sweat_smile:, read out the tempo location, from the 3th line of the song via XML. File name is the same as song name but with .song in behind?

Brad, only the first tempo would do already, the start for the drummer.

I can wait some more.
Winter season is coming what means lots of rehearsals and preparations for the summer.
So it would be very helpful if the tempo, personal tags, maybe setlist time calculations (:upside_down_face: pretty please haha) and the HTML notes would work.
They are valuable tools in my workflow and i guess many more.

I already had the benefit of the new tempo tap function. Works perfect in live situations.

Thx for listening.


Yes, that’s what I was describing in my previous post - you’d need to parse through the set list, then read the individual song files, then extract the Tempo tag.

BTW: the song files aren’t XML, they’re JSON - similar (self-describing, hierarchical) but different format. The big advantage: a lot of programming languages can read JSON directly.

Maybe @Neil_Durant can modify his setlist analysis script to do what you are asking - if you ask him very nicely :wink: ? Unfortunately, my Python skills are a bit rusty…