Configure MIDI channels for additional manuals.
Brought to you by:
ncopeland
The configuration of MIDI channels for additional manuals could be explicit and specified with command-line options,
rather than being implicit and/or hard-coded in the emulations (currently, it is most likely base channel + 1).
This would allow to compensate for less flexible MIDI controllers with split keyboard capabilities.
This should only require changes to the GUI, it tells the engine which channels to respond on. One change to add the option and then track them in the emulator interface code.
Here is a first version of a patch against 0.60.8
Obviously this patch is not working.
When i specify more than 1 channel (using -channel 1,3)
the lower manual stops working
Problems seems to be calls to initConnection
Here is a working patch to version 0.60.8.
Not so elegant, though
Wow, that is quite a patch. I might try and streamline it a bit such that it does not touch all the emulators - the ones that use a single channel, ie, the majority, don't need such changes. I think there may be extra error checking to make sure both stay within the 0..15 limits.
Many thanks for this, will see about making it official in 0.60.9 and 0.70.0.
Kind regards, nick
I agree.
I wen't a little over the top with a array of channels for each
synth, but I wanted to make a quick test and was too leazy to try
to understand all the code at first.
Maybe a more elegant solution would be to use the guiSynth->second
pointer for the second synth of the B3.
Of course you could as well just add guiSynth.midichannel2
I was probably going to look at using the second synth layer however your approach of -channel 1,3 is nice, just needs a method to carry over the second channel to the actual GUI emulation code.
kind regards, nick.
Been a while since I reviewed this case, it is still open.
More issues that are likely to happen: this option can configure that starting midi channels however when you do a 'midi channel change' from the GUI then I am not sure what it should do:
a. continue as currently to be chan and chan+1?
b. implement something like chan and chan+org_difference?
Also, when you change the operating mode of some of the synths then I play with their midi channels. For example, if you go from dual to layer I put them both on the same channel. If you go from layer to dual I configure the chan+1. This is not difficult to work back into your proposal, admittedly, and I like the proposal.