The MC6’s Midi Implementation provides a powerful set of functions that allow external midi devices to access and control banks and presets. It would be of equal or greater value to be able to access the midi implementation internally.
Currently it is possible to control the midi implementation by using a loopback between the MC6’s midi out and midi in ports. As a proof of concept it is useful but it would be far more useful to just access the implementation internally.
The suggestion is to use a virtual channel to do this. Channels 1-16 would continue to function in their regular fashion but the use of the virtual channel, 0 (zero) for instance, would be the indicator that access to the midi implementation was internal. This would allow all device behaviour to be completely backwards compatible while adding the new functionality.
And also as part of the suggestion, one difference between accessing the midi implementation internally versus externally would be in the behaviour of using a PC on the virtual channel. Using an implementation PC would set the bank that implementation CCs act in relation to but not set the MC6 to the physical bank itself. The Set Bank type already provides that capability. Additionally setting an implementation PC to bank 0 (zero) would indicate that implementation CCs were to act relative to the current physical bank. Also, if no implementation PC had been issued the default would be for the implementation CCs to act relative to the current physical bank.