Feature request: Export / Import / CSV / bulk load; bindings and routes

I quite often want to make the same changes to my entire setlist. I only have 50 or so songs and I know some others have many many many more!

I’d like to be able to batch process the following

  1. Move/Add/Change/Delete/Enable/Disable bindings and routes in songs, song states, racks and rack states

The same for racks and songs would be nice, but most of the time for me is taken up in bindings and routes.

I like working in spreadsheets, because I can use all the inbuilt text manipulation to quickly generate the configuration.

What would be ideal for me is a way of exporting the current config in CSV or other format, allowing me to modify it, then re-import.

That export would also let me verify that things are configured as I want - at the moment I have to go through each song and song state to see what is configured, and this is across multiple windows (bindings, racks, routing)

This would be the next evolution of the set list reporting feature request.

I did take a peek at the Catabile config files, has anyone done any work on manipulating them directly?

I didn’t spot an existing feature request or thread on this topic - any interest?

Out of interest, what actual scenarios are you encountering that require you to modify routes throughout all your songs? That might actually indicate something you’re doing in your song creation that could be improved (eg through the use of more reusable racks / rack states).

Yes, I wrote some Pythons scripts to read in the JSON format Cantabile files. It’s quite a simple format, and many scripting languages allow you to manipulate JSON easily. The problem is that they’re arbitrarily hierarchical, so things can be nested within other things. It’s not easy to unravel that into a 2-dimensional spreadsheet table.



Hi Neil, mainly thinking about this as I go through and do some of the abstraction. But additionally,

  1. Add a song binding to move to next state, active in some song states not others.
  2. Set up and change state OnLoad bindings within a rack with MIDI note out having different target notes dependent on the state of the rack.
  3. Not mentioned yet, but bulk uploading rack state changes corresponding to song state changes.

Could I take a look at the python scripts please? Are these the same ones you mentioned on our thread last year about set list verification?


Yes, here’s my script, which analyses a given setlist and tells you which racks/plugins are used in which songs etc. I’m not offering any guarantee that it works on your machine/setup :slight_smile:

AnalyseSetlist.zip (1.6 KB)

It’s the same script mentioned in that thread - I’ve been meaning to send you the script ever since, but hadn’t quite got round to it, until today’s reminder :slight_smile:


1 Like

Nice one, Neil. I’ll find that useful as well.

1 Like

Hi @a6325435

Not sure if this is helpful, but all Cantabile files are just plain text files - you can open them in a text editor and search/replace if you need to. Make a backup first though - if you mess things up it might not load.


Thanks Neil - script works fine after installing Python 2.7.14. Very useful.

Brad, Thanks. Doesn’t seem like anyone else wants this feature! So I’ll look into working with the files directly :slight_smile: