Monomachine and Program change via Midihub

I am trying to have preset D01 of the monomachine activate Midihub preset 1, D02 activate preset 2 etc, though the monomachine sends out PC=48 at preset D01, PC=49 at D02 etc., which is too high a PC for Midihub to read.

Midihub seems to respond to PC=0 for preset 1, that I can send using a different monomachine preset (A01), which I can’t overwrite at the moment.

How do I make monomachine preset D01—D08 / PC=48—55 trigger Midihub preset 1—8? I tried using transform, turning PC=48 into 0 but that didn’t do the trick.

Thanks in advance :slight_smile:

Hey @AndreaT, try this with a loopback if you have a spare input&output

AndreaT_PC_Loopback.mhp

All it does is take your incoming PC, change it to CC so it can be remapped, then change it back to a PC to send it out.


A physical loopback is a trick to send messages out & back to Midihub so it sees them as external events.
(This is needed here cos MH only changes presets via PCs when they arrive from an physical port)

A loopback connection looks like this

If you use MH connected to a PC/Mac you can do this without a cable using the USB ports.


Do File → Append From Preset… to add to each of the presets you need to switch from.

Change your Device → Settings… accordingly

2 Likes

It worked! :blush: Thanks a lot for the tip and for taking the time to program the patch for me.
Bests

2 Likes

Hi! It’s been a while since I last used this patch, and for some reason I can’t get it to work anymore. Nothing in my setup has really changed.

My external sequencer is sending MIDI Out to MIDI Port A of the MH. I have made a physical loop.

I’m expecting that selecting the same bank on my external sequencer will switch the preset accordingly, but when I try to switch bank both led lights of port D flash and nothing else moves.

In the MIDI monitor I can see that on channel 16 a Program Change message is being sent correctly (values 0 to 8). However, the preset does not switch on the unit, neither does it recall the editor project.

I also tried installing a previous version of the editor (1.15) to rule out the possibility that the latest firmware would be the cause, but that didn’t change anything.

What else could I be doing wrong?

Thanks in advance!

Hey, @AndreaT

My first thought is that the Program Change bit of the Settings got changed somehow.

Failing that, would you post the .mhd file from your Midihub?

What’s that?

This is basically a collection of all 8 presets currently on your Midihub

create it by doing Device → Export Everything when your MH is connected

I’ll then load a Midihub with that and take a proper look & test





PS. nice MIDI cable; where from?

1 Like

Hey @resonotter ,

Thanks for your reply.

These are the current device settings. I also tried changing the Program Change setting on the port I’m using and set the MIDI

Midihub Data 2026.02.12 22.13.06.mhd (21.7 KB)

channel to 16, but unfortunately nothing has changed.

The configuration is exactly how I originally found it

Attached you can find the .mhd file. I also tried re-storing presets on the device, but PC doesn’t wanna move.

cheers!

PS: midi cable is pretty sweet for short connections → RockBoard Flat MIDI Kabel 30 cm

…I think I got it, and your suspicion turned out to be right :slight_smile: The device settings got somehow changed, and I have now set input port to D and then channel 16, and everything seems to be fine

PHEEEW

:sweat_smile:

1 Like

Yes, just tested and PCs happens as expected :smiley:


PS.

I just reloaded my previous .mhd on the test MH and, lo & behold, it reset the Settings to as in your screenshot.
Something to make a note of …

1 Like

The .mhd file is a complete backup - it contains all the presets and the device settings.

1 Like

Hi @Giedrius!

I guess the question I had is why such settings have changed out of the blue, while I simply hadn’t used the editor for a few months. I did update it first thing though before using (also firmware got updated), not sure that was the reason

There was a bug in an earlier Editor version which would migrate these settings incorrectly. I recommend to upgrade the Editor first, then the firmware. Currently this sequence is not enforced, but I should probably make it enforced in future versions, to avoid similar problems. :slight_smile:

1 Like

Right, that makes sense. If I remember correctly it first updated the editor and then the firmware. Something got lost while migrating :slight_smile: I also forgot myself which were the correct settings with this particular “loopback” setup, but I have made a note now, just in case.

1 Like

Hi guys,

I’m having a small issue with Program Change messages not passing through the MH and I’m wondering if I’m overlooking something.

Setup:

  • Sequencer 1 → MH Input A

  • MH → Output A

  • Output A → Sequencer 2

Sequencer 1 is sending Program Change messages, and I want those to reach Sequencer 2 so it can switch soundbanks/presets.

What happens:

  • Midihub does receive the Program Change messages (I can see them in the monitor and presets switch accordingly).

  • But Sequencer 2 doesn’t react to them. It does react only if I am switching to banks other than PC 0—8

  • Other stuff like clock and start/stop goes through fine.

I’m currently trying to reorganize my soundbanks so they line up with MH Program Change 0–8, which would let me free up a MIDI output and avoid using a loopback. As it turns out I need to free up port D for another midi stream…

Question:
Could it be that Program Change messages somehow get “consumed” by MH and therefore don’t get forwarded automatically? Or do I need some specific pipeline/filter to make sure PC messages are passed through?

Yes, @AndreaT, sort of.

@Giedrius would be able to tell you exactly what’s going on under the hood, but the way i read it is this:

  • MH listens for PC 0-7 on the channel & port specified
  • if such a message is received it doesn’t get processed by any preset (current or “future”) – MH just uses it to change preset.

I’m currently trying to reorganize my soundbanks so they line up with MH Program Change 0–8, which would let me free up a MIDI output and avoid using a loopback

So does this mean you’re sticking with one preset?
Or you can use a MIDI thru to send the PC back to MH? (eg. send Ch1 PC → Seq2 on MIDI-A, MH receives messages from Seq2 on MIDI-B & that port is elected for PC change)





PS. It would be possible to delay the PC that switches the MH preset so that the current preset gets a chance to forward it to Seq2. How depends on the answer to the above…

Hey @resonotter ,

thanks for getting back to me! Indeed, let’s see what’s going on under the hood — probably @Giedrius will be able to shed some light. Midi-B is already taken for some other stream, the only available ports would be midi-D (in & out). Forwarding PC to Seq2 via the same midi out port that carries the rest of the information would be ideal, although I wouldn’t know how.

Let’s see… :slight_smile:

It is certainly the case that any preset changing PC is not processed by MH

Test

here’s a test from a 2nd Midihub:

pipelines:

  1. an incoming note creates a PC

  2. this is sent to Midihub 1…

  3. but also sent to Virtual B after a Ch Remap to Ch16

  4. MIDI-A in receives messages back from Midihub 1
    (each preset there merely changes does a Ch Remap to whatever the preset PC was)

  5. all these messages are gathered at Virtual B-IN

Now see the Monitor output:
every CC sent out (shown here on Ch16) is processed by Midihub 1 and received back (on ch 5-7)
but, no preset-change PC is processed by Midihub 1.

So the question remains: how are you gonna free up MIDI-D & still get the PCs to Midihub?

If monomachine cannot send PC 0-7 then it seems to me the only option is MIDI thru on a destination device.
Does Seq2 have a MIDI thru? Any other destination device?

Yes, Midihub does consume the Program Change 0-7 message that triggered a preset change. One of the reasons for that is that it would be unclear which preset would be responsible for handling the event - the current one, or the new one it is going to switch to.

1 Like

@Giedrius Would it be possible/feasible to expand Preset Change PCs to

  • using virtual ports?
  • incorporating a “PC offset” in the settings?
1 Like

Thanks @Giedrius for the heads-up. Would you imagine any other way to pass PC onto a Midi-out port? I would set MH as last ring on my chain (so it would be okay to eat up PC), but unfortunately that’s not feasible.