News:

CWP2Song, public beta.
My  DAW is Reaper
YouTube channel

Main Menu

Recent posts

#51
Discussions / Re: Update to the Cakewalk API
Last post by norfolkmastering - May 05, 2025, 02:32:24 PM
Hi Alexey

I am sure you are correct that the basic API definition is unchanged.

What Mark told me is that, with the introduction of custom names for FX Chains, the latest Sonar release returns (by default) the actual custom FX name enclosed in {}.

Prior to that recent update, FX Chains with custom names always returned "FX Chain"

Here is his post from the Sonar Beta tester forum:

'The only thing that has been changed with regards to FX Chains is the return value of  getMixParamLabel for MIX_PARAM_FX.

It used to always return "FX Chain".  Now it returns "{fx chain name}".'

With my AZ Controller configuration, this caused my track ident function to fail.

So Mark introduced an optional hook, actioned by adding the following configuration lines to the Cakewalk.ini file

ReturnUserFXChainNameToControlSurfaces=0
AlwaysUseShortPluginNamesForControlSurfaces=1

This causes the return value of  getMixParamLabel for MIX_PARAM_FX to always return "FX Chain"
This fixed my issue.

However, I realised that I could use the custom FX Chain names to simplify the way I do my track idents, so I'm looking at that now.

I have just found out that I can get the custom FX names reported in the AZ feedback actions by using the action:

Text, Param. name, Container

This seems to work correctly.

Best regards
Robert
#52
Discussions / Re: Update to the Cakewalk API
Last post by azslow3 - May 05, 2025, 10:50:26 AM
Hi Robert,

I am not aware about API changes, API definition is not changed since 11 years:
https://github.com/Cakewalk/Cakewalk-Control-Surface-SDK/tree/master/Framework2
(ControlSurface.idl, I am NOT using API C++ wrapper)

What sometimes changes is behavior of API, and this time I guess is the same.
So Cakewalk can return "FX Chain" or "{fx chain name}", but not at the same time (as you write, what is returned is controlled by options). And so if you use "FX chain", I can't get the name. If I get the name, it replaces "FX Chain".

FX Chains are not something special from all perspectives, they are just yet another FXes. The only difference they can host other FXes and so parameter names and the list of parameters can be different in each instance (and I remember I had difficulties with that, in ACT Dynamic mapping, since it doesn't report which type of FX/Synth it currently controls).
 
If Mark knows the way how to get "user name" for FX Chain when API reports "FX Chain", I can add the feature to AZ Controller.

Regards,
Alexey.
#53
Discussions / Re: Update to the Cakewalk API
Last post by norfolkmastering - May 03, 2025, 10:44:47 PM
Hi Alexey

Now that Cakewalk Sonar has the option to return the custom name of a track FX Chain in the API, is there a way to read and report this name in AZ Controller?

Regards
Robert
#54
Discussions / Update to the Cakewalk API
Last post by norfolkmastering - May 02, 2025, 05:00:46 PM
With regard to FX Chains, the API return value of  getMixParamLabel for MIX_PARAM_FX has been changed from "FX Chain" to "{fx chain name}"

Note the {} around the new expression.

Sometime ago Cakewalk introduced the very useful feature to be able to give FX Chains custom names and this new API update reflects this.  I use custom names as it allows me to identify the FX Chain in use for a particular track.

Unfortunately this change caused the FX Chain controls I had programmed in AZ Controller to stop working. I had been using the Logic action e.g.

FX FX Chain shift 0 parameter 4

So the "FX Chain" name was no longer recognised.

I tried changing the "FX Chain" names to the custom name for each track's FX Chain, e.g. to:

TRACK1 FX Compressor1 shift 0 parameter 4
TRACK2 FX Equaliser6 shift 0 parameter 6

However this stops working as soon as you rearrange the order of the tracks in Cakewalk.

One solution for me was to use the Logic action e.g.:

FX <any> shift 0 parameter 4

However I reported the issue to Mark McLeod at Cakewalk and he has kindly added a hook so that all FX Chain names will be reported as "FX Chain" irrespective of how the custom name is set.

This hook is actioned by adding the following configuration lines to the Cakewalk.ini file

ReturnUserFXChainNameToControlSurfaces=0
AlwaysUseShortPluginNamesForControlSurfaces=1

I tested this today and it works.

Regards
Robert
#55
Discussions / Re: Math functions, variables,...
Last post by azslow3 - April 28, 2025, 11:06:22 AM
You have considered right direction. I had discussions before about a possibility to use absolute time, but use cases are questionable. Markers are project independent.
#56
Discussions / Re: Math functions, variables,...
Last post by mgr - April 27, 2025, 08:27:15 PM
I have another question.
DM24 can store up to 10 timecode location points and send MMC LOCATE commands when I press DIRECT button and a number (0 to 9).

If I understand it correctly, AZC does not implement GOTO command that would set cursor to some absolute time.

So I guess I would need to use mouse to set location points (markers) in Cakewalk, and manually set the 10 location points on DM24 to some well known timecode values, and use those to move to Cakewalk location points.
This can be done once and will be remembered by the console after restart.

For example, I could set the timecode presets 0-9 like this:

0 - 00:00:00:00 - go to to marker 0
1 - 00:00:00:01 - go to to marker 1
2 - 00:00:00:02 - go to to marker 2
3 - 00:00:00:03 - go to to marker 3
4 - 00:00:00:04 - go to to marker 4
5 - 00:00:00:05 - go to to marker 5
6 - 00:00:00:06 - go to to marker 6
7 - 00:00:00:07 - go to to marker 7
8 - 00:00:00:08 - go to to marker 8
9 - 00:00:00:09 - go to to marker 9

EDIT: I have already implemented it like this, it works fine and makes sense. I just had to change the timecode values as the DM24 does not send frames, so I used second to number the markers.
#57
Discussions / Re: Math functions, variables,...
Last post by azslow3 - April 23, 2025, 09:05:49 AM
When lights are as desired for current channels, they should be ok after WAI is moved.
As I have written before, well made preset for AZController  does that automatically. When you move controller channels or change controlled parameter, corresponding Monitors will re-trigger and send feedback.
#58
Discussions / Re: Math functions, variables,...
Last post by mgr - April 23, 2025, 08:26:26 AM
Thank you very much.

I will also have to make the lights on DM24 buttons reflect the bank switch.
For WAI shift I need to query the state (REC, Mute, Fader, Pan) of the newly selected channels and update the DM24 to reflect that.

For the Mute/Solo switch, I will need to query the Solo state of every channel and send that to DM24's Mute buttons when I switch from Mute to Solo, and query Mute states when switching back to Mute.

#59
Discussions / Re: Math functions, variables,...
Last post by azslow3 - April 21, 2025, 04:36:17 PM
For switch, toggle some State, f.e. "SoloMode" "Solo"/"Mute". Then you need to duplicate "Strip" Actions in the corresponding controls, change one to Mute and add "SoloMode:xxx" conditions to both.

For banks. Current setup is WAI based. You can move by mouse or call "Strip" Action to selected desired new first strip (f.e. WAI + 16) followed by "WAI" Action to set new WAI region.
#60
Wishes / Re: HUI 16 channels
Last post by azslow3 - April 21, 2025, 04:31:40 PM
In the "Last MIDI Event" you should see what is going on. If your mixer doesn't send anything on transport buttons, I mean it is not sent to computer, Surface plug-ins can't work. If you see something, but it is not assigned in preset, the preset has to be changed. Note that HUI transport buttons don't send the same messages as MMC transport buttons.