This clip is taken from a longer Control Surface Studio walkthrough video
🎥 Watch the full CSS walkthrough video
This guide shows how to dynamically control a parameter of a device by the device name (on the currently selected track) — even if that device appears in different positions in the device chain on each track
To achieve this we will use a combination of tools in Control Surface Studio: reactions, modifiers, and device parameter mappings.
Specific Goal
We want to control the first parameter of an Auto Filter device on the selected track, regardless of where the device appears in the chain.
Overview of the Approach
- Reaction: Each time the selected track changes, it finds the device by its name and saves its position to a modifier.
- Modifier: Stores the device position number.
- Device Parameter Mapping: Uses the modifier instead of a fixed device number.
Step 1: Add the Device Parameter Mapping
- Create a new Device Parameter mapping.
- Assign it to a controller input (for this example we will use
knob 25). - Set the Track to
Selected. - Temporarily set Device Number to
1and Parameter Number to1(this will be changed to use a modifier shortly). - Click Save.
- Save and generate the script into Ableton Live.
- Reload the MIDI Remote Script to test that the mapping works for the first device in the chain. Note: it’s not dynamically selecting the device number yet!
Step 2: Make the Device Number Dynamic
- Edit the device parameter mapping again.
- Change the Device Number from a static number to
Modifier M1. - Save the mapping.
This makes the device parameter dynamically use the current value stored in the modifier.
Step 3: Add a Reaction to Locate the Device
- Add a new Reaction.
- Name it something like:
Find and set Auto Filter position.
Set Listeners
In the Listeners section, add the following events:
Script is initializedSong's selected track value has changedTrack's devices value has changedTrack's selected device value has changed
For each listener, set the Path menu to Selected Track.
These listeners ensure the reaction updates when you change tracks or rearrange devices.
Create Action Block: Save Device Position to Modifier
- Add an Action Block.
- Inside the block:
- Add a Loop
- Select
Devices - In the path menu choose:
Selected Track.
- Select
- The condition section will be setup so that it checks the contents of each device in the list of devices.
- Select
Device Name- For it’s path menu choose the following
- Track: selected track
- Device number: script > loop >
Loop Iteration Number
- For it’s path menu choose the following
- Comparison:
Text exactly matches→ Auto Filter(you can change this to any device name!)
- Select
- The Action section will only run if the condition is met (if device name is ‘Auto Filter’):
- Add action:
script > Set the value of a modifier- Modifier:
M1 - Value:
Loop Iteration Number
- Modifier:
Then add 2 further actions to the same Action section.
- Add action: script >
Reload LED Listeners - Add action: script >
Exit Reaction
- Name this action block:
Device name found – save position to M1
Create Fallback Action Block (Device Not Found)
- Add a second action block (after the first).
- This block will only run if no match was found (due to the
Exit Reactionin the first block). - Add action:
Reload LED Listeners - Name it:
Actions when matching device is not found - Save the reaction.
This ensures that LEDS will update correctly even when the device is not found.
Step 4: Test the Mapping in Ableton Live
- Save the script and generate it into Ableton.
- Reload the MIDI Remote Script.
- On any selected track:
- Move the
Auto Filterto different positions. - The assigned encoder should still control its first parameter.
- Switch tracks — the control should update dynamically and still control the instance of Auto filter on that track.
Summary
| Component | Purpose |
|---|---|
| Device Parameter Mapping | Controls the target parameter using a modifier. |
| Modifier M1 | Stores the dynamic device position. |
| Reaction | Locates the device by name and updates M1. |