Ticky knobs to program and bank changes

Hi, I just discovered program changes can translate into preset navigation in plugins, but I’m struggling. Studied some videos and previous posts, but I don’t get it. Some plugins work fine with program changes, but not all. None of them respond to bank changes.

I got my ticky endless encoder knobs, sending clockwise:65, counterclockwise: 63.
I have your relative to absolute formula in the rules for both:

//Determine Increment or decrement
// Add to last value
// Don’t allow less than 0
if ga<0 then ga=0
// Don’t allow greater than 127
if ga>127 then ga=127

Input: MIDI cc 63, or 65, (any value is off), input as variable pp.
Output: ga

So in the log window it outputs the absolute numbers, incrementing just fine.
I guess that I could make them just relative increment + or - 1, but I don’t think that’s an issue. I have the push button to reset the program change, and it sends a value of 1. Oddly, one plugin thinks program 1 is preset 5, and I can’t go lower in its preset list than that.

The problem is that plugins aren’t responding, and especially not banks. Third party plugins sometimes do, if I set up their input port the same as MTP’s port into FL Studio. But FL Studio plugins aren’t responding, even with the ‘receive notes from’ feature set up; with the same input port. It just disables the plugin’s focus from the channel rack. It’s really weird.

I don’t know what I’m doing wrong. Or why the bank change output also has a program change output. I don’t need the program to change with that translator, only the bank. Or why I have to set up input ports on plugins. Or why some plugins work and some don’t.


Output for bank change MSB on MIDI channel 1 would be B0 00 ga, not just ga . Maybe this is all you need.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

No, it just converted B0 00 ga into a 0.
It switches programs as is, although it’s supposed to switch banks.
I put gc into the program output box because I don’t know what else to put there.
It’s a dud variable to see if it will just ignore it.

Hi, Any bank change needs to be followed by a program change. Try this raw MIDI message instead of a bank change message

B0 00 ga B0 20 00 C0 00

This will set a bank change of ga followed by a program change of 0.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz
1 Like

Oh and use VST2 plugins as I don’t thing VST3 supports MIDI except for playing notes.

1 Like

Yea, I’ve learned to stick with VST2 plugins only. They are good enough for me.
But you guys seem to be doing a great job on the MIDI 2.0.

Raw MIDI didn’t fix it. It still changed the preset, then did nothing at all for a few tries, then changed presets.
TJ Preset Management.bmtp (3.7 KB)

Can you tell me the plugin you are testing with?

With my current setup:
Image Line plugins do not work.
Sonivox plugins do not work.
Native Instruments plugins do not work.
Serum does not work, but there’s an editor file I’m suppose to edit first, but I can’t find it.

Air Music Tech plugins do work, except for VIP 3.0.
Arturia’s Analog Lab 4 does work, but I need to custom organize the presets somehow.

And with any program change, it removes the ‘focus’ indicator light from the plugin. No idea what that’s about; I should probably ask Image Line about it.

In the log window, it’s sending four copies of MIDI output before the actual output?
And it starts at value 127 by default? Not 63? (Ideally it would start at program 1)
Four Times

Well, each plugin may have it’s own way of doing things via MIDI, so you may need to check with the plugin documentation. I tested with AirMusic DB-33 and it appears that in only accepts program changes and not bank changes.

As far as output going to multiple places, you probably have these defined at the project level. If you only want it to go to one port, you can override the project defaults at the preset level.

See this tutorial about how you manage port assignments.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

It is usually better practice to use MIDI to control a parameter knob of a plugin and then let the parameter knob communicate the change within the plugin. This would also work for VST3 plugins.

Just saw the virtual port number now. Forgot to assign a port to that project preset, my fault. That’s fixed now.
Also just realized I could use a local variable to start the program switching at program #1, using what I learned from the enter key formula. But that is conditional, because I might be somewhere down the list to start, but don’t want it jumping to #1. Hmm…
Still on the fence about if I’m going to use this or not, because of the small number of plugins that it works with.
If I could just get it working with Akai’s VIP. It hosts almost all of my plugins, and has a most excellent preset manager built in. It’s supposed to work with its companion keyboard, the Akai Advance, but I don’t have one. There’s no better preset management, in my opinion.
I didn’t mention or bother to test several plugins, because NI’s Komplete Kontrol handles them fine, with the NKS standard and my MIDI keyboard. So I will study up on VIP, to see if I luck out on this.
Thanks again. I’ll let you know how I get on here.

OK, I’ve been playing around with Gig Performer 4.


Cool, I haven’t heard of that before. Looks decent.

So VIP has a MIDI learn. I was able to put arrow keys on it, so that’s acceptable.
I will keep the program changes for the plugins that work with them, including effects.
My old mouse click macroes for Image Line plugins.
Arrow keys for VIP.
And NI plugins in the KK software; the dedicated buttons on the keyboard.
So I’m all set (again lol). Thanks. :slightly_smiling_face: