Select any song, any time via MIDI?

I have seen info on this on previous posts, but I’d like to get into more specifics if I may.

Is it possible to load songs using an external device sending MIDI messages, outside of a setlist?

Perhaps one could prefix each song with a number for example, or ??

What CC command options are available in C3 (if the above is possible) to do this?

Or are we restricted to just the 128 program change messages?


EDIT: Reason for this is I have several hundred songs that I rotate using the iPad, and it would be great if each song (in C3) could be loaded when I select any song from the iPad (using Unrealbook btw :slight_smile: )

Am away from home at present, so do not have access to the details, but this is precisely what I do. In my Cantabile background rack (hint I asked Brad if this could be a per set list feature :slight_smile: ), I have bindings setup listening to Bank and Program changes from my MIDI keyboard, and these are used to select a specific song in the set.

Works a treat.

In terms of how many can you support. Well of you use Bank Select MSB and LSB, that is a 14 bit value, which allows, 16,384 banks of 128 songs. If you run out of permutations using bank select MSB, LSB and Program change, then I think you have a problem!

If you wish to know more, I can advise on how I do this when I can check my Cantabile rig at home.

1 Like

thanks Derek. I was looking for a method outside a setlist. IE to be able to call a song from the Song folder itself, rather than a pre-ordained setlist order.

1 Like

To do this you would have to add more code to Cantabile. Some of of what you want to do is there already but at least a few things I see are missing.

  • A self generated table of which could be used to index all songs in the song directory

  • A binding to allow the external control surface to access that table

  • A means to then transfer the referencing of that table result into the existing External Executable option and use it to call a Cantabile Song file. So the answer is, no, you can’t at this time do what you describe.


1 Like

Cool, thx. I suspectd as much. I could put every song into a huge setlist, and go from there. But I also suspect C3 can only address 128 programs. I don’t think it has the capacity to recognise “banks”…

Hi, With my scheme I can select any song in the set list in a random order (as determed by the external selections I make via (usually) my FC300 MIDI Foot Controller, which is what you wish to do?

Not certain about any Cantabile size limitations, somebody else will need to advise on that.

Yeah that’s what I want to do. I will be using a MIDI program send from Unrealbook at a chart load in. So I have no issues with settinig that up, it was more asking if C3 had progressed beyond that and could allow (if all songs were numbered for example) selections dynamically and outside of setlists. As I wrote, I could put all 650+ songs in to a huge setlist, but if I can only call the first 128, it wouldn’t make much sense hahaha!

If you select a song in the setlist and choose “Edit Song”, you’ll see a Program Number box in the dialog that comes up, which can take a value of the form bank.prog, for example 5.2. This allows you to select from thousands of songs if you so desire, not just the first 128. You can also do multi-selections in the setlist and re-assign program numbers, and this is also intelligent enough to deal with bank numbers as well as program values.


1 Like

ahhh, now this is interesting…fwer I had not noticed that before. So in effect the 5 would be the bank and the 2 would the program number. Ergo a setting of say 1.1 would actually call song number 129 in the list (assuming the 1-128 and not 0-127 system) yes?

Not necessarily - 1.1 will call up whichever song has 1.1 set as its bank/program number, which will be the 129th if you have them numbered sequentially. But Cantabile allows the setlist order to be different to the bank and program numbers, so that you can play a set in any order but with each song having fixed numbers for random access. If you want the ordering to match, the setlist numbering can be reordered, then it’ll do exactly what you describe.



Sweet. That is something I didn’t know about song numbering! :slight_smile: