Hey @manuel it’s great that you already have the faders, mutes, and track select buttons working!
To answer your core question first: dynamically changing the hardware’s MIDI mapping on the fly is not possible.
The hardware controller should always send static, fixed MIDI messages, and your Python script acts as the “translator” that dynamically routes those messages to the correct functions in Ableton.
Here is how you should approach your remaining features using the YURS:
Feature 4: Encoders for Pan, Send 1, Send 2 of the Selected Track
By default, the YURS maps Mixer controls (such as Pan and Sends) as an array across a defined “Session Box” (e.g., mapping Send A for Tracks 1 through 8 to a row of 8 encoders).
While YURS natively supports dynamically controlling the Devices/Macros of a selected track, it does not have a native toggle in the Map.py file specifically for “Selected Track Mixer Controls.”
To build this yourself in the script, you should:
-
In Kilowhat: Configure Encoders 1, 2, and 3 to send static CC messages (e.g., CC 10, CC 11, CC 12) on a dedicated MIDI channel.
-
In your Python Script: Instead of dynamically changing the hardware’s CC numbers, you need to write a listener for Ableton’s selected_track property. You will tell your script to listen to those three static CCs constantly, and whenever they are turned, apply the value to the pan, and send properties of whatever track is currently active.
Feature 5: Master Volume with VU Meter
You mentioned you think you can get this working, but here are the exact steps to enable the VU meter feedback using YURS, which natively supports this feature:
-
In Kilowhat (Hardware Configuration):
-
Select Encoder 4 and change its message type to VUMETER CC. This mode sends a regular CC message but allows the encoder ring to receive VU meter feedback on the same CC, on a designated channel (selectable in Kilowhat’s preferences).
-
Assign it the MIDI message for Master Volume (the default in YURS is CC 127 on Channel 1).
-
In YURS (Script Configuration):
-
Open the Map.py file in a text editor.
-
Find the VU meter flag and change it to True: VU_METER_ENABLED = True.
-
Save the file and restart Ableton Live
Please note that modifying the Map.py text file is strictly for configuring native, pre-built features that already exist within the YURS (such as enabling VU meters, setting the session box size, or turning on device controls)
Creating a completely new feature (like your specific request to dynamically route static CCs to the selected track’s mixer Pan/Sends, which is not a default YURS behavior) requires writing custom Python code inside the script to interface with the Ableton API.