➤ Help answer these new questions!
Topic Author
Posts: 3
Joined: Sun Dec 05, 2021 11:04 pm

Patch changes mapping / Banks / Set management

Mon Dec 06, 2021 1:01 am

Hi everyone,

I'm totally new to Mainstage (and got started with MIDI only a couple of weeks ago), so I apologise in advance for the noob questions. I read the manual, watched quite a lot of videos, read a bunch of posts here, mucked about with it and I'm starting to get a clearer picture of how to use it. However, there's one thing I still haven't managed to figure out, and I couldn't really find any info on how to handle it.

I would think what I'm trying to do is a pretty standard thing, so maybe I'm not searching the right way and just missed it, or maybe the way I envision my workflow is wrong. I'd happily take any suggestions!

I need to set up a live keyboard rig for a repertoire containing about 20-30 songs. Within each one of the songs, I'll use several different patches. For instance, in one song a Rhodes patch on verses, a synth patch on choruses. In another song, a B3 and a piano. Stuff like that, varying between songs.

I'm currently trying to figure out how to switch between patches within each song easily, from my controller. Using Next Patch/Previous Patch is not an option, as I will sometimes need to jump very quickly between non consecutive patches. I saw I could assign each Patch to a PC message. That sounds good, but for what I'm trying to achieve it it looks like I would need some kind of bank change management as I'd like to restrict the number of buttons dedicated to this kind of operations to the minimum, and keep them always at the same location on the keyboard.

A convenient scenario for me would be something like that :

* For song #1, I'd like to assign patches #1, #2, and #3 to buttons C18, C19, and C20 on my controller.
* For song #2, I'd like to assign patches #4, #5 and #6 to the same buttons C18, C19 and C20. And let's say #7 to C21 for good measure. And recycle an existing patch using an alias, too.
* and so on

So, I thought I might be able to use Sets in my Concert as some kind of banks, and then to assign my controller buttons to PC messages assigned to each Patch within these banks. But from what I understand, I'm not sure if I can really do that, or how. Or if it is the right solution.

Something like that, for instance:

* Set 01 (Bank 01 ?)
* Patch 01 - Button C18
* Patch 02 - Button C19
* Patch 03 - Button C20

* Set 02 (Bank 02 ?)
* Patch 04 - Button C18
* Patch 05 - Button C19
* Patch 06 (patch 01 alias) - Button C20
* Patch 07 - Button C21

So, I guess nothing new or unusual here. But I don't understand how to achieve that (if it's doable straight from Mainstage). Would anyone be able to point me in the right direction?

Cheers from France,

Posts: 267
Joined: Fri Jul 17, 2020 3:18 am

Re: Patch changes mapping / Banks / Set management

Mon Dec 06, 2021 7:55 am

Not sure if I got this right: It's an option for you to organize the whole concert with individual sets for each song? If so it should definitely be possible; however you would still need some sort of command to switch between sets.
What exactly are the buttons sending? Program Changes or notes?
In general there will be a bit of work in this because you need to assign the buttons individually on the Set level (instead globally on the Concert level).
Topic Author
Posts: 3
Joined: Sun Dec 05, 2021 11:04 pm

Re: Patch changes mapping / Banks / Set management

Mon Dec 06, 2021 9:19 am

Hi, thank you for your answer!
Yes, it definitely is an option for me to organize the concert with one set per song.
My buttons can send whatever I tell them to send, right now they send Program Changes.
So far, I have set up my two first Sets as sketched in my previous post: Patches in Set 1 are assigned to Bank1 PC1 to 3, Patches Set 2 are Bank2 PC1 to 4.
At the moment, I'm switching from one Set to the next one with CC 110 and 111 on channel 16 (that's the default assignments for the Track-/Track+ buttons on my controller, which Mainstage happily understands straightaway as Set-/+). What I can't figure out is how to handle my Bank changes. I was wondering if I should do something inside the Current Bank Number in the Screen Control Inspector, but I just don't know what.
Posts: 267
Joined: Fri Jul 17, 2020 3:18 am

Re: Patch changes mapping / Banks / Set management

Mon Dec 06, 2021 1:23 pm

Here's what I would do; I'm sure there are other ways to accomplish this.
Make your controller buttons send notes (on a different channel than your keys).

Then create a number of controls for those buttons in the Layout screen and assign the MIDI commands coming from the buttons to them. Each and every button from your controller should be able to control one screen button. Here's a screenshot from my Layout; my "buttons" are coming from a Korg Nanopad (in the end I'm only using the first four buttons but the principle should be clear):
Bildschirmfoto 2021-12-06 um 21.53.17.jpg

Now let's move over to the Edit screen. Here's a screenshot from an example concert:
Bildschirmfoto 2021-12-06 um 21.55.39.jpg

We can see in the Patch list three Sets with four Patches each. I can now use the buttons on my Nanopad to switch between those patches within a single Set; and once I'm in the next Set those four buttons switch between the Patches in this Set and so on.
There are different ways to achieve this; I'm actually using Program Changes. But you can also use the Patch Numbers. Let's have a look at the Patch list:
Bildschirmfoto 2021-12-06 um 22.01.47.jpg

As you can see I have consecutive Program changes for all Patches; this isn't exactly required but certainly helps. There's a menu entry and a key command to reset the Program Changes.
Important: No Bank Select must be used! No Program Change must appear twice!

And now we can put this all together: On the level of each Set we assign the buttons to Program Changes and hence to the Patches. Here's an example for Set 2:
Bildschirmfoto 2021-12-06 um 22.09.21.jpg

As you can see the "Set 2" folder is selected. I can't stress this enough: This is most crucial part of doing those assignments. You must not select the Concert Level (as we often do when assigning controls) and neither a single Patch. The folder for the desired Set must be selected as in the picture.
Then click the button and select "Current Program Number" from "Actions". Input the desired value for the Program Change (in this particular case: 5) on the left.
Click the next button and repeat, but this time with "6". And so on.
This allows us to use the buttons from your controller to activate the buttons on the screen which in turn send different Program Changes depending on the Set you're currently in.
It's a bit twisted but works well as long as we stay within 128 Patches.
I've used individual Parameter Labels hence the buttons on the screen read 5-8; normally they would display the type of action.

Does this help for a start? As I said there probably are many other different ways to accomplish this.
You do not have the required permissions to view the files attached to this post.
Topic Author
Posts: 3
Joined: Sun Dec 05, 2021 11:04 pm

Re: Patch changes mapping / Banks / Set management

Mon Dec 06, 2021 2:58 pm

Thank you so much!!!!
Yes it does help a lot, I managed to get it working and now I get a better idea of the logic of the thing. Many thanks for your time and your very detailed answer, that couldn't have been made clearer!