Control Arrangement Locators / Cues with Number-Object

Stephen Mayer's icon

Hi everyone,

I’m very new to MaxForLive and not very experienced in programming, so I’d greatly appreciate any help with creating a simple device. Here’s what I’d like to achieve:

I want a MaxForLive device with a visible Number object that allows me to set numbers from 1 up to 40. This number should correspond to Arrangement Locators / Queue Markers in Ableton.

For example:

  • If I select "1" in the Number box, the playhead should jump to the first Locator.

  • If I select "2," it should jump to the second Locator, and so on.

Each Locator should correspond to its respective number (Locator 1 = 1, Locator 2 = 2, etc.) in the Arrangement view.

If anyone can help with a patch or point me in the right direction, I’d be very grateful. Thanks so much in advance!

Stephen Mayer's icon

https://www.maxforlive.com/library/device/2269/jo-locators

I’m inspired by the Jo Locators device, but I’m looking for something much simpler. Instead of a full list of locators, I only want a visible Number object to control the locator jumps.

Maybe this helps :)

Source Audio's icon

Loc-Jump.amxd
amxd


Stephen Mayer's icon

Wow, thank you very much!

Now I've got another question: Do you know how to control this completely via MIDI?

I already have a mini “patch” that translates MIDI program changes from my Nord Stage keyboard into (locator) numbers - but the whole thing depends on the “first song of the setlist”, which you can define in M4L.

e.g. if I say Song Bank 3 No. 40 in the Nord is the first song of the setlist, then the Program Change for 3:40 becomes Locator 1, Locator 2 = 3:41, Locator 3 = 3:42 etc.

So I can assign very specific Program Changes to numbers with an Ableton Locator.

I would like to remove the visible Number object completely and only use MIDI Program Change to jump to the locators.

Do you know of a way to implement this?

I have pasted my code for the translation of the Nord Program Change into your amxd file on the right, but I don't know how to link it.

Thanks in advance!

Stephen Mayer's icon
Nord Stage LocJump.amxd
amxd

Stephen Mayer's icon

Or the whole M4L device in general (independent of my specific Nord keyboard):

Program Change First Song Of The Setlist:

[enter program change here]

This could be a cool plugin for many keyboardists :)

I'm just not good enough to implement it myself :D

Source Audio's icon

I don't use Live and have no idea about live terminology.

if you specify what midi message you want to receive,

and forward it to what control,

maybe I could help you out.

But I guess that only after a "Song" or Set

whatever live names it is loaded,

one can querry locators.

And then react to midi messages to recall them if they exist.

Stephen Mayer's icon

Ah, I see.

So the midi messages that I receive and the calculation and when exactly the midi signal should come through etc. I've already put it all together.

Now I just have to assign the number I get at the end as a result (1,2,3,4,5,6,...) displayed in the number object to the individual locators.

I have added my code to your device on the far right in the Max view, but I haven't linked it yet because I don't know what exactly I have to link my own number object to, so that as soon as the number in the number object (which I have placed furthest to the left of my “code”) changes, the locator position also changes.

Source Audio's icon

I looked into that big if objects collection,

I don't understand relation bank change 0 & 32 and Program change

to locator numbers.

Does it have to be that complicated ?

I also have no idea what is list with songs that you mention.

is that all one single live set with bunch of locators ?

Or a real song list that one recalls somehow ?

Stephen Mayer's icon

Well, this huge if-collection could certainly be made easier. As already mentioned, I'm not that good at Max programming :D

I already programmed this about 2 years ago... but it worked reliably for me at the end of the day.

A “song” is terminology from my Nord Stage keyboard. And I'm not sure what exactly the requirements are again, but e.g. the bank must be a special number and the subbank too and only then should the program changes be perceived at all.

Could you tell me exactly where I have to connect my number object to your device? So that whenever a new number is triggered in my Number Object (triggered by a suitable Program Change with this complicated calculation and If-Collection...), the marker also jumps?

So if my Number Object says 1, it should go to Locator 1. If my Number contains Object 2, it should go to Locator 2 etc....

Many thanks in advance! (And I know I'm certainly not the best programmer :D)

Source Audio's icon

As you don't want to see anything in the patch,

delete all except this parts.

Stephen Mayer's icon

Thank you very much! :))