How to map midi controller to focus only on selected track in Ableton Live?

508 viewsGeneral
0

I want to custom map a seperate plug-in on every track to my MIDI controller. Can I do this so only the currently selected track mapping is active?

If so how do I go about setting ups control script for this?

Thanks

admin Changed status to publish May 22, 2024
Attached Files:
0

You can add notes to each Action Block in which you can describe everything:
– Which Listener it acts on
– Which Conditions it has
– Which Actions it will perform when Conditions are met

If you then collapse the Conditions and Actions in each Action Block, it all looks neat and readable and easy to scroll through.

admin Changed status to publish May 22, 2024
Attached Files:
0

I have one more idea that builds upon the workflow in my second comment. There is the possibility to add multiple Listeners to a reaction. So in essence, you could add all the Listeners you want to use in a track to a single reaction that has multiple Action Blocks, where each Block only reacts when its Listener is active.

__REACTION__
LISTENERS: e.g. 4 buttons
– Button A
– Button B
– Button C
– Button D

ACTION BLOCKS:
ACTION BLOCK 1: (see comment #2, it checks if the correct track is selected)

ACTION BLOCK 2
CONDITIONS:
Script > Listener Number (int) > is equal to > 1
I think Listener Numbers start at 1, so in this case: 1 == Button A
!!! Listener Numbers correspond to the order in which you’ve added Listeners to this reaction.
ACTIONS:
Whatever you want Button A to do on this track.

ACTION BLOCK 3
CONDITIONS:
Script > Listener Number (int) > is equal to > 2
ACTIONS:
Whatever you want Button B to do on this track.

And so on for buttons C and D.

I personally don’t like to have a huge list of mappings, especially when its repeating functionality for different buttons, so this is what I would do then. Depends on your personal preference, I suppose. In this case you could name your reaction the same as your track’s name, keeps it all together, no need to constantly close and open reactions while working on mappings for a single track.

admin Changed status to publish May 22, 2024
Attached Files:
0

A different approach would be similar to my first comment but instead of using mode changes we can stay within one mode. In each of your reactions, you’ll have to start with an action block that only lets you continue if the correct track is selected. For example:

__REACTION__
LISTENER: can be anything, like a button press or knob turn

ACTION BLOCK 1
CONDITIONS:
Script > Selected Track Number (int) > is not equal to > Track Number
This time we check if the selected track is NOT the track we want for this reaction to occur.
!!! Remember that the script starts counting track numbers from 0 (Track 1 = 0, Track 2 = 1, …)
ACTIONS:
Script > Exit Reaction Here

After Action Block 1 you can make more blocks containing any actions you want to happen while in the track of which you entered its Track Number in the condition of Action Block 1.

Action Block 1 will only give access to the other action blocks when its condition is NOT met; in other words, if the track number entered in the condition is from the currently selected track, then the condition of Action Block 1 is False, therefore the action of exiting the reaction will not happen.

To give a larger view of the situation, through this method you can have multiple reactions mapped to the same Listener, but a reaction will only be fully acted upon when the correct track is selected.

admin Changed status to publish May 22, 2024
Attached Files:
0

Hi,

I’m quite new at CSS myself but I’d like to take a guess on how to proceed.

For each track I would make an exclusive mode, that has all the mappings I want to use on that track. Then, I would setup a reaction that listens if the selected track has changed which then, based on the condition of what track number is selected, changes modes.

REACTION
LISTENER:
Live Object Model > Song > “Selected Track” has changed

ACTION BLOCKS:
Make an “action block” for each track with the following parameters
– CONDITIONS: Script > Selected Track Number (int) > is equal to > Track Number
!!! Remember that the script starts counting track numbers from 0 (Track 1 = 0, Track 2 = 1, …)
– ACTIONS: Script > Set Active Mode > Mode number that corresponds to the selected track
I don’t know what number CSS starts counting its Modes from
I’m guessing the first mode = 1

For this to work, the reaction itself would need to be in the Global Mode, the one that is always active even when you change modes. It is referenced in the following Remotify tutorial as Mode 0 (https://remotify.io/docs/tutorials/do-8-times-more-with-Mode-and-Shift#zero), however, I can’t seem to find it in the current state of CSS. Maybe Mode 0 is called Shift Mode now?

EDIT: I just found this comment by JohnC saying Global Mode isn’t used anymore (https://remotify.io/community/question/switch-modes#comment-1190) so we’ll either need a different approach or need to copy the same mode switching reaction multiple times but change the mode in which it is active for each, so that it’s accessible from all the different modes.

admin Changed status to publish May 22, 2024
Attached Files: