News:

CWP2Song, public beta.
My  DAW is Reaper
YouTube channel

Main Menu

Recent posts

#61
Wishes / Re: HUI 16 channels
Last post by Nowell - April 21, 2025, 04:47:37 AM
I have not been able to get transport controls working at this time.
It is supposed to be enabled with a mmc control button.
On the DA7 the display show transport control but Sonar does not respond.
#62
Discussions / Re: Math functions, variables,...
Last post by mgr - April 18, 2025, 01:21:22 AM
OK, so everything seems to work as intended, including dual-stage Stop button (Pause on first press, Return to Landmarks on second press).
So 32 tracks are covered.

Things to do next:

Implement SOLO, meaning using the MUTE buttons for SOLO function. DM24 has a switch for this,
but it does not send any MIDI, and neither are the MUTE buttons in SOLO mode,
so I have to come up with something to switch between MUTE and SOLO.
There are at least two buttons that send SysEx that I have no use for yet, so I will probably use one of those as a SOLO/MUTE switch.

Also, it would be nice to be able to control even more channels with some sort of bank switching. I could use the other unused SysEx button to switch the banks, but I need to understand how to do this in AZ Controller. I am sure you have some bank switching functionality there. :-)
#63
Discussions / Re: Math functions, variables,...
Last post by mgr - April 16, 2025, 03:46:33 PM
Quote from: azslow3 on April 16, 2025, 03:22:48 PMDuring 3, you can't Stop from timer directly. That is the case when you need to "send loop" something (I propose OSC '/stop' with value 1) and define "real" stop Control assigned to this OSC.

I suspected that, OK, so I will loop then, got it.
#64
Discussions / Re: Math functions, variables,...
Last post by azslow3 - April 16, 2025, 03:22:48 PM
During 3, you can't Stop from timer directly. That is the case when you need to "send loop" something (I propose OSC '/stop' with value 1) and define "real" stop Control assigned to this OSC.
#65
Discussions / Re: Math functions, variables,...
Last post by mgr - April 16, 2025, 03:00:23 PM
Thank you very much, will try those.

One problem is, that the DM24 sends out combination of Stop and Play MMC commands when I press Play. I have no idea why it does that, but it effectively means I have to somehow filter out the Stop part of the Stop/Play message combination, but I do not know what is the most effective way to do that, given that I also need to implement isolated Stop messages.

I need to wait for a (very) short time after every Stop message to see if Play message arrives, and if it does, treat it as Play, otherwise treat it as Stop.

So one idea is:

1. Stop message arrives, I set a WaitingForPlay state to Yes, and start a short ontime timer, but perform no Action.
2. Play message arrives, I set a WaitingForPlay state to No, and perform Play Action
3. In Timer feedback for Stop, if WaitingForPlay is Yes, I perform Stop Action, otherwise I do nothing

Would that work?
#66
Discussions / Re: Math functions, variables,...
Last post by azslow3 - April 16, 2025, 02:44:17 PM
Quote from: mgr on April 16, 2025, 01:55:07 PMOne more thing I have noticed, I am sure you will have explanation.
:)
QuoteWhen Transport Stop action is performed, Cakewalk sends out plenty of CC messages.
I believe it is done by Cakewalk, not the AZC, as it is being sent to all active MIDI outputs,
not just the one used by AZC.
It is for "real" MIDI devices. Controlled by "Project/MIDI/Zero controllers when play stops" option.
You can set "Block all channel messages" and "Block all SysEx messages" in AZ Controller Options.
From what I remember, in this case Cakewalk will realize that your device is just controller and will not send anything there (even when enabled in Cakewalk preferences)

QuoteTransport Stop action not only stops playback, but also returns the play head to the beginning.
I would like to implement a dual stage Stop action, where pressing Stop button first time while Playing/Recording
would stop transport, but stay where it is in timeline (probably more Pause than Stop),
and only second press of Stop button would perform a full Stop Function and return to the beginning.
However, I don't know which function to use for Pause.
I have seen there is Play/Pause command, which I guess is a toggle between Play and Pause,
but I prefer not having a toggle. Can you please advice Function or Command for Pause?
There are several related commands (easier to search in Cakewalk keyboard bindings, since there you can really search...). Some are affected by options like "On Stop, rewind to Now marker". For fine control you can use "Function/Transport" Action.

Do decide what to do in particular situation, use "Transport" and "Pause" Action Conditions for required Actions. F.e:
* 'Pause:On' - Function/Transport/Play OFF
* 'Pause:On' - Command 'RTZ'
* 'Transport:Play' - Function/Transport/Pause
Will pause when playing/recording and stop with rewind when paused.

Note Cakewalk reports some combinations of transport and pause not intuitive way (that can be version dependent).
#67
Discussions / Re: Math functions, variables,...
Last post by mgr - April 16, 2025, 01:55:07 PM
One more thing I have noticed, I am sure you will have explanation.
When Transport Stop action is performed, Cakewalk sends out plenty of CC messages.
I believe it is done by Cakewalk, not the AZC, as it is being sent to all active MIDI outputs,
not just the one used by AZC.

And yet another question.
Transport Stop action not only stops playback, but also returns the play head to the beginning.
I would like to implement a dual stage Stop action, where pressing Stop button first time while Playing/Recording
would stop transport, but stay where it is in timeline (probably more Pause than Stop),
and only second press of Stop button would perform a full Stop Function and return to the beginning.
However, I don't know which function to use for Pause.
I have seen there is Play/Pause command, which I guess is a toggle between Play and Pause,
but I prefer not having a toggle. Can you please advice Function or Command for Pause?

Thank you very much
#68
Discussions / Re: Math functions, variables,...
Last post by azslow3 - April 16, 2025, 11:21:55 AM
Quote from: mgr on April 16, 2025, 12:51:34 AMOne observation - as I have not found any transport states for FFWD and REW
It is called "FastMove". It is independent because that can happened in any primary transport state.

QuoteWhat's left to do is Faders and Mutes for AUX1-8 and BUSS1-8,
but I am not sure how to assign AZController to those in Cakewalk.
Is that possible?
In "Strip" Action you can select strip type. You are controlling "Track"s so far, but you can also control "Bus"es and "Master". With master I agree with you, better keep it local to mixer in case mixer is used for audio as well.
"AUX Track" in Cakewalk is just a track (with possible input from other tracks). They don't have separate strip type. 
#69
Discussions / Re: Math functions, variables,...
Last post by mgr - April 16, 2025, 12:51:34 AM
OK, so I have now managed to implement Mutes and Faders for tracks 1-32,
and also Play, Stop, Rec, Ffwd, Rew and dual-speed Jog controls
on top of your track arming functionality.
So far it seems to work reasonably well, but I had no time for much testing.

One observation - as I have not found any transport states for FFWD and REW, I am sending MMC responses to those commands directly from Logic tab, and have no feedback actions when I activate those using mouse in Cakewalk, but it is not a big deal.

What's left to do is Faders and Mutes for AUX1-8 and BUSS1-8,
but I am not sure how to assign AZController to those in Cakewalk.
Is that possible?

As far as master fader is concerned, I am not sure whether it makes sense to control it in Cakewalk, as my stereo mix audio should go back to the DM24 mixer, so I can just leave the master fader in Cakewalk at 0dB and control the volume on the console itself I guess.
But I have to check if I can do the routing on the console so that this stereo return from Cakewalk won't be affected by the 32 channel faders.
#70
Discussions / Re: Math functions, variables,...
Last post by azslow3 - April 14, 2025, 11:23:32 AM
OSCII-bot is a nice peace of open source software from Justin (REAPER developer and owner). He knows how to do things efficiently  ;)

The developer of CSI is also friendly. Since you want standard MMC, you can try to ask about it. He can implement it, in case there is no existing ways (and in this case you can get a tip how to proceed).

BTW REAPER has way more active independent developers, all Cakewalk supporters are almost gone (partially changed to REAPER). Also with REAPER you know it will work in 5, 10, 30 years... You can download any single version and it requires no cloud authorization, works on all reasonable systems (including Linux and RPI), and project format is almost self explaining text file. I mean all worries Cakewalk users had since Platinum are void there. Cakewalk still has its advantages, but the difference slowly disappear (f.e. with new take lane system introduced in REAPER 7) and when some feature exists in both, in REAPER it is more flexible, faster and not buggy. Some people prefer Studio One, for more Cakewalk like behavior, but for me it is way more expensive (then REAPER) for almost the same limitations as Cakewalk. And dealing with Studio One projects, it looks like many features are implemented as... more or less face-lifting hacks... Justin doesn't do this (there is no "owner-managers-programmers" relations in REAPER world since all that is just a single person, he works with several other programmers, but he definitively will not ask them to write "a quick hack for new advertisement").