Author Topic: Moving to specific Now Time  (Read 673 times)

Offline TheMattyBoy

  • Newbie
  • *
  • Posts: 4
Moving to specific Now Time
« on: June 06, 2022, 10:53:52 AM »
This was an initial discussion started on the CbB forum: https://discuss.cakewalk.com/index.php?/topic/29728-external-command-to-set-timeline-position/

ME:

My use case is for live performance, so let me give an overview :

In my cakewalk project I have a master setlist of songs (~60), each of which are marked as arranger sections and have a marker at the start (and potentially some markers at points in the song). Each arranger section (song) has an audio track for a drum track, some midi tracks which are displayed as notation, and program changes for external gear.

I have an third party program (Gig Performer) which hosts my VSTs played from my controller keyboards, and can organise setlists. As each song is selected in the setlist it's able to send a distinct midi message (CC, PC etc), which I want to use to set the now time in cakewalk to the start of each arranger section (song).

The challenge is therefore to move the now time in cakewalk to a defined point via a midi msg - so when I select a song in Gig performer, the now time in cakewalk moves to the start of the correct arranger section (song) in cakewalk.

The type of MIDI message I can send is comprehensive (Program change, CC Msg, Song Position Pointer etc). I think it may also be possible to send an OSC message as well, using the Gig Performer scripting language, if that would be easier to handle in AZController.

AZSlow:

I propose AZ Controller preset with one Software Set (let say "Markers") into which you add names of all markers in question (f.e. "Song 1", "Song 2", etc.). At the moment there is no "<current state text>" option for Marker Action, so you will need to specify explicitly each jump. If you send CC with value corresponding to required Marker (up to 128), the logic list for the only control you need will be:

'Value:0' - Search marker 'Song 1'
'Value:1' - Search marker 'Song 2'
etc.

Where 'Value:x' you specify in the 'Action conditions' section.

Typing 60 marker names and using copy/paste with selecting different value and marker can take a while... but I guess manageable in 15-20 minutes.

Or in 2-3 days I can add "<current state text>" option, then the action list can be:

- 'Markers' from MIDI value
Search marker from 'Markers'

I mean just 2 actions for up to 128 markers. Obviously you still have to specify all names manually...

For MIDI you will need some MIDI loopback device. For OSC you will have to send a command with float value <marker number>/127.0

May be we should continue the discussion on my forum, so we can exchange AZ Controller presets. On in PM. Your choice.

ME:

Hi Azslow, thanks for suggesting a couple of ways to approach this. I think the second option of adding a "<current state text>" option would be the most elegant implementation, although I understand this involves development effort - so you'll need to take a call as to whether you personally think it's worthwhile :-)

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1573
Re: Moving to specific Now Time
« Reply #1 on: June 06, 2022, 09:39:37 PM »
That is not really significant effort.. I will let you know (reply here) once it is ready.

Offline TheMattyBoy

  • Newbie
  • *
  • Posts: 4
Re: Moving to specific Now Time
« Reply #2 on: June 07, 2022, 10:01:17 AM »
Fantastic - thanks so much!

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1573
Re: Moving to specific Now Time
« Reply #3 on: June 07, 2022, 12:56:35 PM »
Please install the latest release (b416), otherwise attached preset will not work correctly.

There are extra Actions and one more control for test purpose. In the Options tab you can open Display. It will indicate current status.
In the Logic tab you can select "Test" control and then press "Play". Selected control will switch to "ToMarker" since it will be called (by internal loop MIDI).
You can change the Value in the MIDI send Action to select another marker.

Currently I have assigned CC70 on channel 16. That was random choice, you can re-assign in the Hardware tab (and change MIDI send in Test to match).
If you want OSC, you can assign OSC in addition. Configure and enable it first in the Options tab. Don't forget you need to send in 1./127. steps (float number) to mimic
MIDI value.

You specify Marker names by editing "_Markers" Software Set in the Options tab. Do NOT change the number of Stated, it should always be 128.
Note that CC Value starts with "0" for the first marker, not "1". But since probably you don't mark songs from 0, I counted from 1 in names. The number in the name
has no meaning, but the whole name should match marker exactly. It is up to you to set "Song 1", "Song 2" in all projects and so have only one AZ Controller preset or
load project specific presets every time you change project.

If you want, I can configure opening AZ Display at preset loading. Can be helpful if you don't display Cakewalk window all the time but what control it is in sync. It is also
possible to display other information there, f.e. current time and/or current marker. The font can be configured in the Options tab, together with  cell width it defines the size of the display.

Offline TheMattyBoy

  • Newbie
  • *
  • Posts: 4
Re: Moving to specific Now Time
« Reply #4 on: June 10, 2022, 11:21:20 AM »
Wow AZSlow - that was so quick!  ;D

Have just tried it out and it works great, the fact it searches for the marker name makes it very easy to use and low maintenance once it's set-up. Thank you so much for adding this, I really hope it'll help others as well.

Will take me a bit of time to dig into what you've done, haven't really used the display before, but could be useful to confirm the correct song marker has been found

One thing I did wonder is if it's possible to prevent moving to the marker if the transport is running - would that be possible with the existing functionality? Just some icing on the cake really to prevent an accidental button press interrupting a live performance.. any hints on how to modify the preset greatly received, as I'm just a beginner using AZController.

Thanks again for adding this option, and sorry for a late reply as I didn't expect such a quick update!!

Matt

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1573
Re: Moving to specific Now Time
« Reply #5 on: June 10, 2022, 12:26:18 PM »
The solution attached  ;)
The change just instruct to do nothing (note "Final action" flag) when transport is running.

I was fast just by coincidence, I have recently bought NI M32 controller. And while the "final destination" is REAPER, I still have not written AZ Controller for it. And I don't think there is any comparable tool (for any DAW) to experiment with controllers. I had to extend AZ controller a bit, and so little extra change for you was not a big dial.

Offline TheMattyBoy

  • Newbie
  • *
  • Posts: 4
Re: Moving to specific Now Time
« Reply #6 on: June 10, 2022, 05:16:03 PM »
That is absolutely perfect AZSlow!  :D :D ;D

Thanks so much for helping out and making this change, it's most appreciated.

I'll drop a note on the cakewalk forum just so if anyone searches they see this has been added to AZController