AZ Controller plug-in for Cakewalk SONAR => Presets => Topic started by: azslow3 on June 08, 2022, 09:45:55 PM

Title: [AZ] Native Instruments Komplete Kontrol M32/A25/A49/A61 (Alpha version)
Post by: azslow3 on June 08, 2022, 09:45:55 PM
Note: AZ Controller v0.5r11b418 or later is required to use this preset
In the following "KK" is Komplete Kontrol.


Keyboard overview

The keyboard can be in 3 modes, KK, DAW and MIDI.
DAW controlling mode has sub-modes: Mix (controlling WAI strips) and ACT (control not KK plug-ins).

Cakewalk always has one focused Strip, which can be Track, Bus or Mains. This preset works with Tracks and Buses, when Mains is in focus the keyboard continue working with last focused Track or Bus. (In sub-mode Mix) WAI bank is always 8 strips including focused one. It moves automatically when focused strip is changed, always aligned by 8 from the first strip (visible in configured for surface view, you can set that in Cakewalk preferences). If at some moment that is inconvenient, for example you want adjust volume in sequential strips which are in different automatic banks, you can temporary move WAI by mouse. But as soon as you change focused strip, WAI will be auto-adjusted.

The documentation for MIDI and KK modes you can find on NI site. These modes are the same in any DAW and stand-alone KK (except Transport keys which are in most cases continue working as described in this thread).

DAW mode overview
The following is the table of available for DAWs controls on M32. Note that many buttons can't be used in DAW mode (NI decision).
Also note that all button controls are reported as "activated" (not momentary), touch sensitivity of knobs is not exposed and
current mode is also not exposed.

Feedback is: '-' - no, '+' - LED off/dim, '*' - LED dim/bright, 'D' - display, '(+)' - not on M32.

M32 Control | NI intention for it | Feedback | Mix | ACT | Strip |
RECRecord*Rec./manual punchRec./manual punchRec./manual punch
Shift+RECCount-in*Toggle rec. armToggle rec. armToggle rec. arm
STOPStop*Stop (at now)/RTZStop (at now)/RTZStop (at now)/RTZ
LOOPLoop*Toggle loop/set loop intervalToggle loop/set loop intervalToggle loop/set loop interval
METROMetronome*Mode switchMode switchMode switch (to Mix)
TEMPOTap tempo-Toggle rec/play metronomesToggle rec/play metronomesToggle rec/play metronomes
QUANTIZEQuantize+Toggle auto-punch/set punch intervalToggle auto-punch/set punch intervalToggle auto-punch/set punch interval
Shift+QUANTIZEAutomation*Toggle write autoToggle write autoToggle write auto
Shift+'<'Mute*/DToggle mutePrev. bankToggle mute
Shift+'>'Solo*/DToggle soloNext bankToggle solo
Knob 1-8Track 1-8 VolumeDWAI 1-8 VolumeParameters (coarse)Focused strip Volume, 4 sends Volume and commands
Shift+Knob 1-8Track 1-8 PanDWAI 1-8 PanParameters (fine)Focused strip Pan, 4 sends Pan and commands
4D Up/DownNavigate tracks(+)Navigate stripsNavigate FX/PC modulesNavigate strips
4D Left/RightNavigate clips(+)Navigate markersSwitch to FX/PC moduleNavigate markers
4D RotateMove transport-JogJogJog
LOOP+4D RotateMove Loop-Set selection intervalSet selection intervalSet selection interval
4D PushPlay clip-Open synth-Open synth
Shift+4D PushStop track-Toggle strip type-Toggle strip type

Creating such presets not only cost time, I have to pay money for controller. Most attempts to create presets without device in hands was not perfect, the imagination how something works
looking at pictures normally does no match the reality.
If the community send me sufficient for new controller money, I can buy it and try to integrate. So you can Donate with PayPal ( Feel free to support that idea.
Title: Re: [AZ] Native Instruments M32/A25/A49/A61
Post by: azslow3 on June 13, 2022, 11:54:11 AM
1. Download and install the latest AZ Controller, with Cakewalk closed (
2. Connect the keyboard before starting Cakewalk. Make sure Komplete Kontrol software and drivers are up to date.
3. Make sure Komplete Kontrol or any other software which case use the keyboard is not running. Start Cakewalk.
4. Install attached preset using Cakewalk Plug-in Manager
5. In Cakewalk Preferences, Control Surfaces, add "AZ Controller" and set its MIDI input and output to "Komplete Kontrol M" (NOT to "Komplete Kontrol M32 MIDI"). If you can' select them, check you have enabled them in the MIDI section (and pressed "Apply" after enabling).
6. Open AZ Controller configuration (from Utilities menu or ACT Module and select the preset (NI M32)

MIDI ports

The keyboard use 2 sets of MIDI ports, one is "MIDI" and another is "DAW". NI recommends disable MIDI output port (why?), but MIDI input port should be enabled (if you want play keys, and you probably want). DAW ports must be enabled as described in the installation part, they will not send any events (it make no sense to use it for MIDI track input).
Check in Cakewalk preferences MIDI/Playback and Recording/Record section that all MIDI events you are interested are enabled (at least Notes, CC and Pitch wheel). BTW if you will be annoyed by "mod strip" on the keyboard (it is easy to touch by mistake and there is no visual indication of the fact), solution can be created (also using AZ Controller...).

Keys and strips send events to the MIDI port. The functionality of all other controls depends from currently selected mode.

ACT mapping files
To function properly, Cakewalk ACT data files should be ok, Komplete Kontrol should have no custom maps and there should be no auto-ordering rules.
If you have Sonar installed, the chance these files are ok is almost zero. Also default files have auto-ordering rules.
So in case you have never used Plug-in dynamic mapping before, just remove all XML files in "%APPDATA%\Cakewalk\ACT data". Otherwise you will have
to clear the rules manually...
In any case I strongly recommend to use AZ ACT Fix utility,297.0.html
It will check your files are ok, allow creating backups to not loose your mapping in case of corruptions as well as edit mappings.
Don't forget to exit Cakewalk when using this utility, using it in parallel is looking for troubles.

Switching keyboard modes
Note: DAW has no idea KK is switching modes.

DAW mode

Switching between sub-modes
There are not many buttons on M32 which can be switched between dim and bright by the DAW. Only transport buttons have that property. Since other transport buttons indicate important status, METRO was the only logical choice, even so its name is more logical for Metronome switching.

All sub-modes

Transport related controls

Focused strip controls

Other controls

Mix sub-mode

SoftSynth control

Transport related controls

Focused strip controls (Mix sub-mode)

WAI strips controls
By default display shows focused strip name and volume (when shift is pressed pan). But if some knob is touched, the information for corresponding strip is shown for a while (NI logic).

Strip sub-mode
That is a variation of Mix sub-mode, but for one strip. WAI change indication to single (focused) strip.

Focused strip control
Note 1: display always reverts to Volume/Pan of focused strip
Note 2: when controlling buses, send names can't be used (Cakewalk does not return them properly), so display shows generic "Send X" instead.

Note 1: for template inserting, a template with exact name should exist.
Note 2: see tuning section how to add/change commands.

All other controls work like in Mix mode.

ACT sub-mode
FX/ProChannel module in focus can be controlled with Plug-in Dynamic Mapping (AKA ACT). Plug-in stay in focus till some other plug-in or module is focused.
Focus can be changed using any available methods (mouse, keyboard, controllers, etc.).
ACT focus should not be locked for the Instance of AZ Controller with this preset, KK instance tracking will not work otherwise. But other surface plug-ins or AZ Controller instances (theoretically) can be locked (but I have not tested yet).

Plug-in selection on ACT sub-mode activation
When ACT sub-mode is activated, it tries to be "smart" and decide which plug-in you want control. It has the following logic (in the listed sequence):
When leaving ACT sub-mode, discovered/selected by/from the keyboard floating FX will be closed.

Choosing plug-in in focus

Parameter banks
Parameters are organized in banks, 8 parameters in one bank, 4 banks in total.
Banks can be switched by Shift+<(M) and Shift+>(S) (previous/next, looping). Current bank is indicated by the combination of S and M (Solo and Mute in Mix mode) on Display.
Note that '<' nad '>' buttons will be dark when Shift is pressed, in case current parameter is not assigned. They still work as expected.

Plug-in parameter controls
Display still show "Vol"/"Pan" indicators, but plug-in parameter name and value are shown instead of track name and volume/pan values. Once some knob is used to change parameter,
it is "focused" and so the information stay. If some knob is just touched, the display reverts to previously changed (by knob) parameter (or to the first).
Title: Re: [AZ] Native Instruments M32/A25/A49/A61
Post by: azslow3 on June 13, 2022, 11:57:38 AM
Not usable on M32 controls/feedback
M32 Control | NI intention for it | Feedback | Mix | ACT |
Navigate banks(+)--
Navigate scenes(+)--
Select track(+)--
Track 1-8 levels(+)--
Title: Re: [AZ] Native Instruments M32/A25/A49/A61
Post by: azslow3 on June 13, 2022, 02:56:03 PM
Preset tuning
While you can modify everything in the preset, I guess for most people that is too complicated. So there I mention easy to do (really explicitly made easy) tunes.

NOTE: you will have to do the tuning every time you re-download my version of preset.

Change knobs "resolution"
If you like parameters are changing "faster" or "slower" when you operate knobs, do the following:
For "fine" adjustments in ACT mode, do the same for _fSetParByKnob_Fine control.

Shift latch for knobs
NI has not foreseen shift latching. To control Pan or ACT parameters with fine resolution without keeping shift pressed, you can active extra switch which do that.
If you apply the following, Shift+Play will toggle "Shift latched" mode (but loose usual functionality, well... at the moment it is not defined yet...)

The last 3 knobs in Strip mode can be tuned to execute Cakewalk commands (or perform command like operations).
Since each knob can be turned left or right, with or without shift, up to 12 different commands can be called.
At the moment knob 8 defines zoom (4 commands) and shift+7 turning right insert "KK" track template. So there
are only 7 "free" slots left. But you can redefine any used one.

In the Logic tab you can find _fUserXXX_(S)(N)_Strip set of Logical Controls. You can modify them to (re)define commands performed by these knobs.
_fUserTitle_(N)_Strip should have just one Text Action to set upper line of the display. That text is common for shifted and not shifted mode.
_fUserText_(S)(N)_Strip should have just one Text Action to set lower line of the display, separately for shifted and not shifted modes.
_fUserDo_(S)(N)(L|R)_Strip should perform the command. It will be called when you turn corresponding knob left or right (L|R).

The simplest action is to call some Cakewalk command, see _fUserDo_8L_Strip as an example.  You can elect the (only) action there, press "Copy", switch to
the control you want define (f.e. _fUserDo_7L) and "Paste" it. Then select pasted Action and then select different command in the "Action configuration" section.
Do not forget to modify the text in corresponding fUserTitle and fUserText, so you can be reminded what that control does by touching corresponding knob.

NOTE: if the command "take some time", it is important add "'Set state' _SlowCmd -> Yes" Action. You can copy it from _fUserDo_S7R_Strip.
Knobs are sensitive, they can easily execute the command many times even on small motion without that definition. Sometimes that can be desired effect,
like with Zoom, but in most cases it is better have delay (2 seconds) before a command can be executed again.

fUserDo_S7R demonstrate how you can create new track from track template. Unfortunately Cakewalk does not allow surface plug-ins add synth directly.
So the procedure mimic mouse/keyboard sequence, but calling insert template dialog, typing template name and pressing "Enter".

It is foreseen you define another templates, with different names. As first, in the Options tab select tune_TrackTmpl Set in the Software States section.
Then select "<Append state>" in the next combo (or select existing State for editing it). Type exact template name into edit control and press "Save" right of it.
Then you can copy all actions in _fUserDo_S7R_Strip (click the first and shift click the last to select all actions, when no actions are selected "Copy" also assumes
all of them must be copied). Paste these actions in control you want (f.e. _fUserDo_S7L_Strip). Select the second action and modify which template name
should be used in the "Action configuration" section.

NOTE: you will have to repeat all custom tunings every time you "upgrade" to newer version of my preset. I recommend in any case save your modifications as own preset (with different name),
so you can recall older/modified preset when required.
Title: Re: [AZ] Native Instruments M32/A25/A49/A61 (Alpha version)
Post by: azslow3 on June 16, 2022, 06:10:19 PM