Hardware configurationHardware configuration in ACT MIDI Controller (AMC) is preconfigured. Easy?! Not really. The hardware configuration exists and it is
fixed. That is why it is not "Cakewalk Generic Surface" (which is generic in that respect).
AMC assumes the following hardware configuration:
8 rotors, 8 sliders and 9 buttons. You can see "Shift Bx" in the interface and also "Bank" switch for all control types. Both are internal software switches inside plug-in. "Shift-Bx" is just the command "Bx" executes when used with "Shift", the button is still "Bx". The same is true for different "Banks", you can not assign separate control let say for "S3 Bank2", it is still "S3".
Buttons for AMC.
Physical Buttons which produce
Note or
Control Change (CC) events once you press them can be used. For first 8 buttons only the first (press) event is used.
Warning: at least in version delivered with X1, when some button triggers "Note Off" event, this event is "leaking" to your MIDI recording, do not be surprised or configure your controlling buttons to use CC and not Note. Theoretically, any other MIDI codes (even SysEx) should work for buttons. But practically Program Change (PC), while can be successfully learned, is not working (bug? the source code is published now, you can try to fix it).
One (9th) button is special. The "Shift" button. It should produce an event when it is depressed, and that event is used (to "Unshift"). If not all you physical buttons have that property, reserve the one which can for that function. In case no of your buttons can produce "Off" events, you can not use "Shift-B" row of AMC and so you loose one half of assignable Logical command controls.
As a Button you can also use Pads (velocity is ignored), but if you try to use your rotors/sliders, they will "press" that button many times per second. That is not what you want.
Sliders and Rotors for AMCThe difference is logical only. So you can use 8 rotors and 8 sliders, 16 rotors, 16 sliders, etc. The value is used, so the information sent should be recognizable by the plug-in. Most natural event type to configure is Control Change (CC).
Names for your controls.You can rename all controls by clicking on the name (R1,S3,B3...etc). But in this tutorial I use unchanged names.
Map what you have to what AMC assumeIf you have 9 buttons (from which at least one produce on/off events) and the sum of your rotors and sliders is 16, you have perfect match. But what to do if you have more or less controls then expected?
Some controllers have "mode" switches. In different modes (presets, banks) the same physical control generate different MIDI events. Plug-in can see only these events, and since there are different it assumes controls are also different. In such case from plug-in point of view you can have more controls than directly physically touchable.
In case you have less buttons then 9 it is not problem at all. Each button action is assignable individually, so you can put required actions on what you really have. If you use AMC for ACT, small number of sliders/rotors is also not a problem. You can reassign actions on ACT level. For console mode there is only one problem: AMC assumes you are able to control exactly 8 channels per time. "Next Track Bank" and "Previous Track Bank" commands will move WAI by 8. Also you will have less sends controls in "Channel Strip" Rotaries mode. As you can see, AMC is still quite useful in this case.
But what to do in case you have more controls? One instance of AMC can not use more. No way. You can put more instances of AMC as separate Control Surfaces and assign the same Controller to the input. Unfortunately, current implementation of AMC is not ready for that. There are many bugs, instances share some information (and they should not). I recommend an instance of Cakewalk Generic Surface (CGS) plug-in to use the rest of your hardware controls.
CGS is completely different plug-in, so that works fine. CGS has close to zero logic, each control does exactly one operation (no banks, context, mode except "use/do not use ACT"). It can control Track parameters (but not buses), ACT and transport. For tracks it has more options than AMC and you can configure the width of your Track Bank (unlike fixed to 8 in AMC).
If your controller support Mackie compatible mode, you better use it for console.
But since you are on this page, you already know - an alternative exists!
Controls in AZC.
AZC makes absolutely no assumption how many controls you have. Just after installation you have Zero. But you can configure as many as you have, to control what you want and the way you want.
For this tutorial I configure
4 buttons and 4 rotors (my MPK Mini has no sliders). I skip Hardware States configuration in this tutorial, so I assume all these controls are physical and there is no Hardware Mode Switches used on your controller (see Documentation section for more information).
Freedom is complicated. I do not want to go into philosophical aspects there, but the freedom is not for free. You are forced to work more. The same with plug-ins.
- Switch to the AZC "Options" tab. You will see "Hardware Controls" section. "<New control>" is selected (since you should have no controls at the moment).
- Enter "R4" just right of it. Change type from "Unknown" to "Rotary". Press "Save" button in the same row (not in other!)
- Select "<New control>" in the first box (where you see "R4" now)
- Repeat (2) and (3) for R3,R2,R1,B4,B3,B2 and B1. For buttons set the type to "Pad".
I have entered controls in the reverse order for a reason. The last you enter will be the first in the list. And this order can not be changed. That is the way AZC provides. The order is not important so it does not limit what you can do. Some important functionality is still not there, so "User friendliness" stays very low in my TODO list. Sorry.
Continued in the next post...