Been using MidiHub to operate a guitar amp/cab selector and the one selected amp.
Each one of the 8 presets handles the specifics of one of the 8 amps, providing an “on the fly” uniformity of the diverse amps controls, ironing out the differences from the MIDI controllers point of view. So far, so good.
As the amp selector has more than 8 presets. I programmed MH to watch for (and transform) the PC changes addressed to the amp selector, such that PC=11,12,13,14 correspond to MH preset 1 ; PC=21,22,23,24 to MH preset 2 ; etc. Fine and dandy BUT…
To get it to work, I send the transformed PC messages to the output #4 and I physically patch that output back into input #4 where I ask the MH to listen for the PC changes. It works fine…
How to get this to work without sacrificing 25% of the ports?
I supposed I could use a Virtual output for that task, but MH cannot listen for preset PCs on a Virtual input (only MIDI and USB inputs). Too bad.
Neither can I figure out a way to use a virtual mapping to trigger a preset change…
Did I miss something? Is there a way to programmatically jump to a different preset?
Hey, @sdellap, I’m afraid you’re correct; Program Changes trigger preset changes only when received at one of the 8 physical ports.
Sorta makes sense (in that PC changes at virtuals could create havoc when one of the presets happens to route other PCs via that Virtual) so my hunch is that @Blokas will not change this.
One possible solution might be use a host to route (say) USB-D to USB-D. A headless rPi could do this cheaply
At least then USB-D could then be used for other functions as well…