Master "Program Change" Up/Down feature


Sorry if the subject has already been discussed but I could not find a suitable answer on the forum, neither on the wiki.

I have entered the following settings in the midi section of the web conf tool:
Master MIDI channel: 1
Master Program change-up: CC#16
Master Program change-down: CC#17
Master Bank change-up: CC#14
Master Bank change-down: CC#15

First of all, I don’t know exactly what is the purpose of this up/down PC. Is that for snapshots or regular presets ?

Anyway, when I use the related CC commands from my controller, nothing happens.

Am I doing wrong ?


1 Like

Master means Zynthian. So if you set the master channel to 1 you should be aware that you should not assign a layer to midi channel 1.
Further more program change means snapshot change, yes.

Thank you Markus for this info.

So I would need another controller to work as a master in order to use the program change Up/Down ?
Is that because my snapshots are all using channel 1 that the program change UP/down is not working (also sent from channel 1) ?

The snapshots have numbers. That’s kind of the program number.
How does your snapshots structure look like?
I am not quite sure what you try to achieve.
Program change of the snapshots or of one of the instruments on the layers?

I have snapshots presets within several banks.
My post was originally to get the PC up/down working. So I expect the next snapshot to load when I send the dedicated Midi signal.
Then I was just trying to figure out why the program change up/down commands had no effect (on channel 1).

Can you send us the output of the command tree?
I don’t quite get the difference between your 2 sentences.
Sending PC up/down on Midi channel 1 means loading the next snapshot in your case as you set the Master Midi channel to 1.

Thank you Markus for your message.
Here is my use case:
I load manually a snapshot.
I send the CC midi command up or down
Nothing happens (the next / previous snapshot of the current bank is not loaded)

Just to be clear, I use decimal values CC number (example β€˜Master Program change-up: CC#16’)

Here are my snapshots for info:
β”œβ”€β”€ 00001-Strings
β”‚ β”œβ”€β”€ 003-pwd St soft.zss
β”‚ β”œβ”€β”€ 004-pwd St + mod.zss
β”‚ β”œβ”€β”€ 005-heavy Str.zss
β”‚ β”œβ”€β”€ 006-pizz.zss
β”‚ β”œβ”€β”€ 007-pizz+trem.zss
β”‚ └── 008.zss
β”œβ”€β”€ 00002-Keys
β”‚ β”œβ”€β”€ 001-piano hard.zss
β”‚ β”œβ”€β”€ 002-Piano dist sustain.zss
β”‚ └── 003.zss
β”œβ”€β”€ 00003-Other pling
β”‚ β”œβ”€β”€ 001-Koto.zss
β”‚ β”œβ”€β”€ 002.zss
β”‚ └── 003.zss

Thank you

Please create snapshots 1 and 2 in bank 1 as well.
Maybe there is a bug.

I created the snapshots 1 and 2.
Still the same issue.
I can see in the logs that the midi signal is received (ex: INFO:root:MASTER MIDI MESSAGE: 0xb01100, where 11 is the hexa value). No actions logs is seen though.
Looks like a bug.

I created a task

Hi @claudev

Could you update your system and test again?
I found a bug and fixed it. Works for me now.
Be aware that you have to enter the hexadecimal values in the webconf.


Hi, could you please briefly explain the format of the values that can be entered for program change-up / change-down, and bank change-up / change-down in the webconf and what reasonable or standard values are?
When going through the wiki (where this feature is currently not so well documented) and the forum, I found different notations and I’m not sure what to enter to tie this to an external controller able to send MIDI Control Change and Program Change commands (an akai lpd8).
E.g. I find prefilled (for roland MSB) C#7F / C#00 and B#007F / B#0000, respectively. Does that read 00 = 0, 7F = 127 (in HEX)?
What do B and C stand for? What else can be entered? Why is 2 digit HEX and 4 digit HEX used? Sorry but I’m just getting into this MIDI commands and there is some confusion to it if these are standard midi notations or something specific to zynthian. thanks :slight_smile: