CONTEXTBINDING
A user action I wrote during a Q&A Session in April 2024.
The main idea is to automatically call a specfic macro whenever a device is selected. This is very helpful if you want to do bindings the same way to a specific type of device. For example you have 8 knobs and if you have an equalise selected, you want the layout of the knobs in a specific way. so you can’t use the best of parameters. You could do this in a macro:
$BIND-EQ$ =
BIND KNOB1 SEL / DEV(SEL) "1 Frequency A" ;
BIND KNOB2 SEL / DEV(SEL) "2 Frequency A" ;
BIND KNOB3 SEL / DEV(SEL) "3 Frequency A" ;
BIND KNOB4 SEL / DEV(SEL) "4 Frequency A" ;
BIND KNOB5 SEL / DEV(SEL) "1 Gain A" ;
BIND KNOB6 SEL / DEV(SEL) "2 Gain A" ;
BIND KNOB7 SEL / DEV(SEL) "3 Gain A" ;
BIND KNOB8 SEL / DEV(SEL) "4 Gain A" ;
Now everytime you select a EQ Eight, you could trigger the macro to get your customised bindings.
How cool would it be if that process would be automated?
Right, this user action [] CONTEXTBINDINGLISTENER
(or short form [] CBL
) does exacty that.
Settings:
When the user action is installed, it will create a .txt file in your ~user/nativeKONTROL/ClyphX_Pro folder, just where all the other settings for ClyphX are located.
The file is called: Context Bindings.txt
In this file you can change some settings and which names the action will look for in the name of the device:
MACRO-PREFIX = CBIND-
When a macro is defined down there, a prefix will be added automatically to make it easier in the Macros.txt to group the macros called when a device is selected.
DEFAULT MACRO = DEFAULT
if a default macro should be called each time you select a chain
which name is not in the list, name the macro here.
In case of CBIND- as prefix it will call macro $CBIND-DEFAULT$
SHOW MESSAGE = True
If you want to see a message each time a macro is called, you can set this option to True.
DEVICE / MACRO NAMES
Lastly at the end you add the name of the devices for which this user action should look for. One name per line, please.
All of the names are NOT case-sensetive, meaning Drums
or dRuMS
will have the exact same result. Same goes for the name of the device.
By default the prefix is $CBIND-, followed by the name of the device. E.g. if you select a device with the name “Drums” (or “DRUMS” or “dRUmS”) it will call the macro:
$CBIND-DRUMS$
If no match is found, it will call a default macro. $CBIND-DEFAULT$
in this example.
if you don’t want to use the listener for any reason you can manually trigger the context based binding by:
[] SEL / USER_DEV(SEL) contextbind
more about the syntax here:
usage of user action for devices: device user action syntax