How to deal with different keyboard setups

Tags: #<Tag:0x00007f978448eb30>

I often switch the keyboards, and the number of keyboards, I use to suit venues and set list.

I have a ‘Device Hub’ Rack that splits off notes, expression pedals, modulation, controllers, and such, and routes these to whichever sound-producing Racks need them. When I create a new Song I route my inputs to these ‘Device Hubs’.

The Device Hub has a number of States that are customised for each of my controller keyboards, such that if I switch from, say, my Roland A800 to my Kurzweil PC3K each of my slider controls always arrives at the Racks with the same MIDI Controller number - similarly for my pedals, switches and such. The State for my PC3K, as an example, re-maps its sliders from Data, 13, 23-28 to controllers 70-78 - and this matches exactly the same controllers sent by the sliders on my A800.

However, I have to select the appropriate State separately for every song in the Set; this is cumbersome and open to error. So far I’ve scratched my head, but not come up with a convincing alternative. I feel sure that the Background rack must hold an answer, but I don’t know what that answer is.

How do others approach this aspect of Cantabile?

I do not have the complicated setup you have, but I do have many different keyboards I use. I learned to set up states in my background rack to adjust certain bindings to different controllers. So, whenever I am using a certain controller, I change the background state to match the controller settings it needs. That way the full setlist runs normal with a different controller. It’s late for me (3AM), so I may not be making a lot of sense. Hopefully, I understood your question.



1 Like

I feel sure the Background Rack holds the key to this…

What I have been able to do is to tell the Background Rack to perform a Song ‘On Load’ to set the correct State in my ‘Device Hub’ Racks. I then have States of ‘Studio’, ‘Rehearsal’ and ‘Live’ (for example) in the Background Rack that I set once and forget.

The problem with this approach is that it doesn’t seem possible to target a specific Rack - it is only Rack by Index, which means I have to make sure I have exactly the same number of ‘Device Hubs’ in every Song and keep them in exactly the same position and order, which isn’t really tenable.

If I could target a Rack by its name that would help - @Brad?


Is there a way of targeting a specific Rack without it always being in the identical index-able position?

Hi The_Elf,

If I understand the question the answer is yes, if it is a named linked rack. The indexed stuff as you point out works based on the list order in the routings section. Named linked racks can be in any order and still have their bindings all work.


But I don’t see ‘Named Rack’ as a target option in a binding.

What I’m trying to do is to bind to a Linked Rack from the Background Rack.

Oh … my bad, I forgot about it being the background rack. Let me think on it some more …

:grinning: Don’t worry, mate. I always appreciate help generously given!

I also use different controllers and multiple controllers on different set gigs, what seems to work for me is that i make a short cut for each set up and paste it on my desktop and its been working pretty well. Just have to make sure everything is plugged up when opening the program…

Don’t understand what you’re saying. Shortcuts to what?

Sorry for this delay…once you open Cantabile go to Open Song;

Then you come to the page where all of your Configs of Cantabile are;

From here you can create a short cut from this list, then you can access them from your desktop instead of opening the program …

I think I see. I don’t believe it’s a solution for my needs though.

My configs on each PC are fine - I just need to be able to set a Background Rack State of ‘Rehearsal’ or ‘Live’ and have a few things set up for me in the Song Racks.

What I’m doing now does work, but I have to be VERY careful not to alter Rack positions, or their order, since I have to bind to Rack by Index. If there was some other way of uniquely identifying a Rack for a binding it would work without this restriction.

I think I’ve requested that also sometime ago in a personal conversation with Brad. As far as I remember he said that this might not be too difficult to implement. I’d love to bind to “Rack by name”. :slight_smile:

Hi Christian,

Just want to make sure I understand what your vision of this is. Would the working version of the binding be for all indexed objects or just racks ? Also in any bindings we might make with this feature do we get a drop down menu of available named racks that are loaded in a table in memory and derived from the currently preloaded set-list and choose from that? It sounds like that is what The_Elf needs. Also it would in theory replace the indexed approach because Brad would have effectively devised a mapping system for all racks. If this is expanded to include other objects like re-named media players and plugins it gets trickier but I think the default names for the other objects could be loaded in the same “Named” table and a then you would only need to track any other re-names in the same object table.



I wouldn’t make it too complicated. I don’t think it needs some kind of table.

You could f.e. set up a binding in the backgroundrack and bind it too a rack called “Organ”. This binding only is valid (and working) when the rack “Organ” is loaded inside the song. Otherwise it won’t work… why do you think it needs a kind of table that will be loaded with the setlist?

I think it’s up to Brad if this should be available for racks only or for all objects. And no: It would not replace the indexed-binding. I have some bindings in the backgroundrack which bind to indexed racks on song-level to adjust volumes. It would make things very complicated, if the indexed-bindings won’t be available anymore.

I agree with the above. It’s a ‘buyer beware’ feature. If the named Rack exists, it works, if not, the binding is marked broken. Seems fair to me.

OK, that’s why I ask questions, Thank You for your answers, I guess I do tend to think in complicated ways …

Maybe @brad could jump in and give us a comment about that :slight_smile: