I just pushed into Vangelis an alternate implementation for this, using pure python and the internal zynthian router MIDI functions. It’s called “MIDI Control External” and you will find it in:
MIDI Tool → Others → MIDI Control External
As its name says, it ONLY works with external devices. If you route MIDI from this processor to internal ports it simply wont work.
It sends “MSB Bank + Program change” by using the zynthian’s bank/preset mechanism.
It has an “almost full” list of CCs with standard names. This could be modified. It’s just a PoC.
Great work just tested Midi CCsend.
External synths in my studio everything works as it should MidiCC and PrgCH .
Ostirus in multimode can also be controlled.
Select different presets on all 16 midi channels and control them via different Midi CC .
I just tried this with my VZ-1 and observed a (possibly undesirable) effect: Scrolling with the Program Change control results in all PC messages being sent which can be slowly interpreted by the receiver. If I scroll quickly my VZ-1 takes a while to change all those programs before settling.
Select bank/preset, darling
If you select bank “None”, then no bank change message is sent.
Currently only bank MSB is supported. Using LSB is overkill and complicates everything. Anyway, you can always do it from the CC#32.
RTP-MIDI and other MIDI network protocols are managed as external devices, so they should work with “MIDI Control External”. Is the RTP-MIDI service running normally? I will check ASAP.
I have to admit, I have always used only RTP-midi in the direction of midi data flowing to Zynthian. I have verified this and this direction works for me.
Selecting Preset 9, MIDI Control External is sending:
b1 00 ff
c1 09 00
The first message is a bank select to bank 255 which is not required and seems erroneous but my synth ignores this.
The second message is the requested program change to program 9 but then the extra 0 is interpreted as program change 0 because of running status.
So I see the patch change briefly (to patch 9) and then immediately return to patch 0.
I did that at first but was requested to provide MSB & LSB so I did.
I tested my plugin with qmidinet and that worked. I don’t have rtpmidi working on my LAN so can’t currently test but @wyleu had some fun with it recently.
Can confirm this, it always jumps back to the first preset.
Bank select works externally, preset selection unfortunately does not.
Tested with Tubohm Jeannie and Behringer Deepmind.
Bank = None gives Bank = FF.
That is less of an issue for me (although it may affect others). It is the extra zero on the end of the program change command that breaks it.
I prefer my plugin at the moment. Not just because it works but also because it places the controls where you want them, directly under the encoders. You can chose which CC is sent from which encoder and you can easily select program and bank (MSB & LSB).
But I am not the boss, nor am I the audience. Let the judging commence…