Each control inside Mixxx is identified by a unique string. These strings are used in the keyboard mappings, the MIDI mappings, and inside Mixxx to gain access to the controls. The following is a list of controls that can be used in any of the above contexts.
The default range is 0.0 to 1.0, unless otherwise noted.
[Master]
[ChannelN] (where N is a number 1 or 2)
[Playlist]
Note: This is an incomplete list. There are a ton of these controls mapped inside Mixxx.
The full list can be generated by running the following script in your mixxx/src directory:
#!/bin/sh
# set -x
IFS='
'
last_control=
for ck in `grep ConfigKey *.cpp | sed -e 's/ConfigKey(group/ConfigKey("[Master]"/g' | grep 'ConfigKey("' | grep -v "Channel2" | sed -e 's/.*ConfigKey(//g' -e 's/, */,/g' | cut -d\) -f1 | sed -e 's/\[Channel1\]/\[ChannelN\] (where N is a number 1 or 2)/g' | sort -fu`; do
control=`echo $ck|cut -d\" -f2`
if [ "$control" != "$last_control" ]; then
echo
echo $control
last_control=$control
fi
key=`echo $ck|cut -d\" -f4`
if [ ! -z "${key}" ]; then echo "* ${key}"; fi
done
If you want to access one of these controls inside Mixxx, you can do so with something like this:
ControlObjectThreadMain* controlRightPitch = new ControlObjectThreadMain(ControlObject::getControl(ConfigKey("[[Channel2]]", "rate")));
That line will give you a ControlObject which allows you to read and control the pitch of the right channel in Mixxx. For example, to increase the pitch of the track in the right channel, one could do something like this:
float fRightPitch = controlRightPitch->get(); controlRightPitch->slotSet(fRightPitch + 0.10);
This would increase the pitch of the right channel inside Mixxx, and the GUI controls would automatically reflect this change. Access to ControlObjects is also thread-safe when used this way.
Important note: Different types of ControlObject wrappers must be used depending on what thread your code is running in. This example assumes the code will run in the GUI (ie. main) thread. The ControlObjects wrappers should be used as follows: