Author Topic: Trying to Understand what's Possible for ACT Automation  (Read 913 times)

Offline Binyamin

  • Newbie
  • *
  • Posts: 5
Trying to Understand what's Possible for ACT Automation
« on: July 07, 2023, 04:06:37 AM »
This software really is incredible, it's a little hard to use but I'm very impressed with how versatile AZ Controller can be. I've been programming an Akai MPC Mini Plus and I'm now looking to program the rotaries. I'm trying to understand what the possibilities are for programming them. Fyi the rotaries are endless and give out MIDI signals of 1 for dec and 127 for inc.

My IDEAL scenario would be: Shift + any of the 8 rotaries sets that rotary to control the last changed parameter (ACT or strip) which persists no matter what plugin focus and persists after Cakewalk closes. Now my understanding is that this is completely impossible (but if I'm wrong I'd love to know). As far as I know, there is no way to control multiple plugins at the same time and no way to persist it. And I'm unsure whether a dual ACT and strip system like that is possible. Is there a way perhaps to detect a change in strip volume or pan that I could use for this functionality? If not I'd also settle on a separate "shift" button that sets a rotary to control the volume of the currently selected track. Is there a way to set the current track number to a software state?

Thanks

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1692
Re: Trying to Understand what's Possible for ACT Automation
« Reply #1 on: July 07, 2023, 10:45:04 AM »
AZ Controller can't do something Cakewalk API doesn't provide (except rare cases when workarounds are possible...), and some activity can be just "too heavy".

Also AZ Controller does not have "own state snapshot". Even AZ Controller is not perfect  ;)

So:
* tracking changes for plug-in in focus is relatively "light", so "Speed Dial" (with memory) is possible: https://www.azslow.com/index.php/topic,206.0.html
   But it does not save the mapping between Cakewalk reloads. Also it just remember "ACT Control", so after plug-in changing it will control something from Cakewalk persistent
   ACT mapping for that plug-in.
* tracking all strip parameters is "too heavy" (there can be 100s of strips and each has many parameters). But if your projects are let say under 32 tracks and you want track volume changes only, you can monitor the first 32 tracks volume to detect "the last change" and then use it for "Speed dial".

Note that both ways are affected by automations, AZ Controller has no way to distinguish "manual" changes from "automation" changes. A kind of work-around is tracking changes when the transport is stopped and don't track during playback/recording. Obviously in this case you can't map during playback then.

What you are asking is almost "MIDI learn" in Cakewalk itself. Unfortunately Cakewalk has not implemented it reasonably.

----------------

In practice, "main stream" Cakewalk surface approach (f.e. AZ Controller Startup preset) is more usable then per-project mapping. The problem with the last is memorizing several different layouts... Way simpler to remember that "this knob controls focused track volume, and that controls Cut in focused plug-in".

For very special cases it is possible to create very special separate preset. It can be project specific and map plug-in parameters directly, not throw dynamic mapping. So it is possible to control parameters of different plug-ins then (f.e. knob 1 "HP Freq of EQ on bus 'Drums'", knob 2 "Makro 5 of Synth 2", etc.). AZ Controller allows reference strips and plug-ins by name/type respectively, so it works after re-ordering tracks / plug-ins and in similar projects.

-----------------

Mapping absolute position of current track was never required in practice, even in most sophisticated  presets for AZ Controller. It is simpler to use "current + 1", "current - 2", etc. Or use WAI related reference. WAI can follow current (moving it when current escape pre-defined WAI block, there are example how to do this). Think of 128 tracks project... you unlikely will ever use 128 strips surface.






Offline Binyamin

  • Newbie
  • *
  • Posts: 5
Re: Trying to Understand what's Possible for ACT Automation
« Reply #2 on: July 07, 2023, 04:15:25 PM »
Ok, good to know, kind of a shame that Cakewalk API isn't a bit better. So I'll probably try for tracking the volume of my tracks. Now it seems to me I could save CPU by only tracking when the shift button is pressed and then also using the shift button to assign those mappings to rotaries. Would doing that allow me to track more? In fact, I think I could get away with only tracking once when I press the shift button and once when I move the rotary to assign.

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1692
Re: Trying to Understand what's Possible for ACT Automation
« Reply #3 on: July 08, 2023, 10:46:26 AM »
How big are your projects?

Tracking 100-200 volumes should not introduce noticeable performance penalty. But add pans and sends per track obviously multiply the impact.

Offline Binyamin

  • Newbie
  • *
  • Posts: 5
Re: Trying to Understand what's Possible for ACT Automation
« Reply #4 on: July 09, 2023, 04:52:08 AM »
Pretty small actually, but it's nice to be future-proof. So how would you recommend actually programming this for so many controls? Is there a way to manually edit the presets so that it doesn't take forever?

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1692
Re: Trying to Understand what's Possible for ACT Automation
« Reply #5 on: July 09, 2023, 03:42:39 PM »
If you mean text editing, no. Not implemented.

But for reasonable style, check "X-Touch Mini" preset. Using that approach takes a bit longer to setup one strip, but then you can duplicate in no time (several seconds per strip, so 100 will take just several minutes...). Also modification for all strips will be at one place.

Offline Binyamin

  • Newbie
  • *
  • Posts: 5
Re: Trying to Understand what's Possible for ACT Automation
« Reply #6 on: July 10, 2023, 04:23:48 PM »
Ok, I see. Will I need a software state for every strip parameter that I'm monitoring, to detect differences?

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1692
Re: Trying to Understand what's Possible for ACT Automation
« Reply #7 on: July 10, 2023, 06:38:44 PM »
No. You just need "_Ch" Set as (probably WAI) current channel number. And may be "Mode" for different layouts. The rest is just "_Ch"/"Mode" dependent.
F.e. if you defined "Encoder 1" as:

Set State "Ch = 1"
Mode:Volume -  Strip Track WAI + _Ch Volume
Mode:Pan - Strip Track WAI +_Ch Pan
Mode:ACT - ACT R1 + _Ch
Monitor Value
Set value (relative)

duplicate it 8 times and change "Ch =..." in copies, with added "Set State Mode next (loop)" assigned to a button, you can control volume, pan and 8 ACT rotaries in plug-ins.
I think such "preset" should take less then 10 minutes to create (the second time less then 5 minutes... ;) ).

You need independent control and monitor for each parameter you want to watch in parallel, so for each physical control. In different surface "layouts" you just switch monitoring parameter. Each Monitor save/check changes automatically (including changes in monitored parameter).