this idea comes out of learning how to use MIDI macros and Parameter Control channels as it currently exist in MPT. Basically, controlling a VST that doesn't expose much of its functionality through parameters (but exposes it instead through MIDI CC) is a pain in the butt to control using MPT. Specifically, a few Japanese VST's do this a lot, especially the "virtual rackmount" types, like Yamaha's S-YXG50 and to a lesser extent, sam's VOPM control.
The idea I'm proposing is to create a function analogous to the existing PC/PCs channel idea, but to control MIDI controller messages and parameters. Essentially, what I would like to see is MIDI CCs become first class citizens in MPT; Automation and MIDI learn stuff is one thing, and while I did hear that some new controller functionality has been exposed in MPT recently (though I haven't quite yet figured out how to make it work very well; MPT picks up the jog wheel on my keyboard but not the pitchbend wheel), being able to control parameters via MPT still leaves a little bit to be desired, especially when you want to send multiple CC parameters simultaneously.
Some more background to this idea: What prompted it grew out of a small frustration attempting to send the VST "VOPM" into Monophonic mode while simultaneously setting the PortamentoTime parameter, both of which needed to be set via MIDI CC. Unfortunately, this requires at least 4 rows to initialize, and at least 1 note trigger on the instrument level due to how Zxx and /xx MIDI macros currently work. It was not enough that these effects commands were on different channels, they all had to be on the same channel, which sorta destroyed any possibility of "stacking" the midi messages all on the first row.
It really does show a bit of the "ugly hack" nature of CC bindings to Zxx macros, and the problem would be even worse if I were to say use it to control more parameters simultaneously, such as on modeled instruments (Yamaha VL1) which take parameters from the breath or expression controller CC, and etc. Simultaneous output would be impossible due to the need to "bank switch" macros using SFx. VST Parameters don't have this problem, thanks to the new Parameter Control channel feature. Here is what initializing VOPM currently looks like:
--- 01 v00 SF1 (switch to macro bank 1, MIDI CC #126, MonoMode, for instrument 1)
--- -- --- Z00 (send parameter 0 for MIDI CC #126 to enable MonoMode)
--- -- --- SF2 (switch to macro bank 2, MIDI CC #5, PortamentoTime)
--- -- --- Z10 (Set PortamentoTime to 16)
^ you need all this
before the instrument can be used in the song! Clearly, if these needed to be adjusted on the fly, one would need at least 2 rows and a note retriggering (to set the instrument focus) just to set one measly MIDI CC parameter. For multiple parameters, this quickly becomes unacceptable. Not a problem if the VST exposes Parameter Control functionality to either MPT or the gui, but again many (especially Yamaha, it would seem...) do not.
Here is an example how I envision a MIDI CC channel would work (apologies if there is duplicated or missing control functionality, I'm kinda tired here):
CC# 01 ~~~
where CC is the "note" column, # is a number 0-F representing the MIDI channel (carries over if not specified), 01 representing the VST or instrument slot it should effect (whichever one of these maps more consistently internally), ~~~ representing the MIDI CC (for example, 010 for Pan Position), and
representing the parameter.
This would also expose MIDI CC's in a "tracker-like" way, that doesn't require some sorts of automation not exposed directly through the patterns, I would think, and multiple channels could be created independently of instrument data, decoupling these macros from the channel the instrument is playing on.... No more "bank switching" with SFx, and no more juggling simultaneous parameters.
Oh, I wonder if very many people would use this.... (I don't even know how often PC channels are used, if at all :?: )
ah well =w=
Edit: jojo informed me that SFx works on a per-mod-channel basis, meaning that what I said about not being able to control MIDI CC parameters simultaneously is not true. By binding mod channels to a VST (using a channel's FX dropdown in the general tab), a bank can be specified and parameter sent in as little as 2 rows. The controller only needs to be initialized once if you stick to only 1 CC per mod channel and don't 'bankswitch'. This doesn't seem to be well-documented behavior, but it does work! And I suppose that would negate out some of the usefulness of a dedicated CC channel, save for being able to target an individual MIDI channel inside a VST, or to be able to specify parameters for more than 16 CC's, but some people might find that a little overkill...