Topic: Control strip keyboard control script (Updated)
Updated 2014-12-01
I upgraded to a FF UCX recently and added panel toggling (Settings, Equalizer, Dynamics) for all channels in each row. Original functionality is unmodified:
SetTitleMatchMode, Regex
SetTitleMatchMode, Slow
/*
Updated 2014-12-01:
Added hotkeys for toggling all channel panels
(Settings, Equalizer, Dynamics) in each row,
useful for quick parameter overview of all channels.
In 2row mode alternate coordinates for the Software Playback
row are used automatically instead of the missing third row.
Every time it's moved activate the "get2rowOffset" hotkey while
hovering it's leftmost spanner to update it's position, and/or use
AHK window spy to find the correct horizontal offset and preset
the 2rowxOffset variable. To visually confirm the update the spanner
is slowly doubleclicked (don't move the cursor for 100ms).
Sometimes only the first panel is toggled when the cursor is outside
the window, not sure why.
Keyboard control for right side control strip of TotalMix FX (v1.04)
Written in AutoHotKey (v1.1.16.05) by manisteinn 2014-10-26
With a TotalMix FX window active, any keystroke supported by AHK
can be used to control the upper part of the right side control strip.
Snapshots(Alt1-8)/Groups/Layout Presets aren't implemented.
Current offset values are for 100% zoom mode, AHK Window spy
can be used to find correct values for 135%/200% mode if desired.
The horizontal offset (first value) is subtracted from
the window width in order to handle window resizing,
the vertical offset (second value) is unmodified.
Note: As the window title for mixer/matrix view is identical
this script can't differentiate them, keystrokes other than
Undo, Redo, M, S, F, Mono Mode
might cause unexpected behaviour in matrix view.
List/format of supported keystrokes:
http://www.autohotkey.com/docs/commands/Send.htm
*/
;Set an initial 2row offset if you wish
global 2rowxOffset :=0
clickButton(xOffset, yOffset) {
WinGetPos, X, Y, Width, Height, A
ControlClick, % "x" . Width - xOffset . " y" . yOffset . ", A"
}
togglePanels(xOffset, yOffset, 2rowxOffset:=0, 2rowyOffset:=0) {
WinGetPos, X, Y, Width, Height, A
;Keywait needed for hotkeys containing modifiers, 1 sec timeout
KeyWait, Control, T1
KeyWait, Alt, T1
Keywait, Shift, T1
SendEvent {ControlDown}
if (Height < yOffset) {
ControlClick, % "x" . 2rowxOffset . " y" . 2rowyOffset . ",A"
} else {
ControlClick, % "x" . xOffset . " y" . yOffset . ",A"
}
SendEvent {ControlUp}
}
mouseScroll(xOffset, yOffset) {
WinGetPos, X, Y, Width, Height, A
ControlClick, % "x" . Width - xOffset . " y" . yOffset . ", A, , WheelUp"
}
get2rowOffset() {
MouseGetPos, xPos, yPos
2rowxOffset := xPos
;Remove/comment to disable doubleclicking the spanner
Click
sleep, 100
Click
;Uncomment to show message box for 1 sec on each update
;MsgBox,,Offset updated, %xPos%, 1
}
#IfWinActive RME TotalMix FX.*
; ----- Control strip -----
;Undo
1::clickButton(35,95)
;Redo
2::clickButton(35,117)
;M
3::clickButton(80,142)
;S
4::clickButton(55,142)
;F
5::clickButton(30,142)
;Mono Mode (Matrix view only)
6::clickButton(57,165)
;Submix
7::clickButton(70,185)
;Free
8::clickButton(40,185)
;SubmixToggle (Old TotalMix behaviour)
;s::
if (s=0) {
clickButton(70,185)
s=1
} else {
clickButton(40,185)
s=0
}
;Post FX
9::clickButton(70,217)
;RMS
0::clickButton(40,217)
;Fx
e::clickButton(70,250)
;Trim
r::clickButton(40,250)
;2row
t::clickButton(70,270)
;Names
y::clickButton(40,270)
;VolUp
i::mouseScroll(200,630)
;VolDown
o::clickButton(120,777)
; ----- Channel row panel toggling -----
;Update 2row spanner offset
u::get2rowOffset()
; First row
;Tool symbol
a::togglePanels(62,224)
;Equalizer
s::togglePanels(62,246)
;Dynamics
d::togglePanels(62,265)
; Second row
;Tool symbol
f::togglePanels(62,500)
;Equalizer
g::togglePanels(62,520)
;Dynamics
h::togglePanels(62,540)
; Third row (alternate coordinates for 2row mode)
;Tool symbol
j::togglePanels(62,774, 2rowxOffset,224)
;Equalizer
k::togglePanels(62,794, 2rowxOffset,246)
;Dynamics
l::togglePanels(62,817, 2rowxOffset,265)
Original post
I wanted customizable keyboard control of the right side control strip of TotalMixFX, so I made a simple AutoHotKey script. I figured I'd share in case someone finds it useful.
SetTitleMatchMode, Regex
SetTitleMatchMode, Slow
/*
Keyboard control for right side control strip of TotalMix FX (v1.04)
Written in AutoHotKey (v1.1.16.05) by manisteinn 2014-10-26
With a TotalMix FX window active, any keystroke supported by AHK
can be used to control the upper part of the right side control strip.
Snapshots(Alt1-8)/Groups/Layout Presets aren't implemented.
Current offset values are for 100% zoom mode, AHK Window spy
can be used to find correct values for 135%/200% mode if desired.
The horizontal offset (first value) is subtracted from
the window width in order to handle window resizing,
the vertical offset (second value) is unmodified.
Note: As the window title for mixer/matrix view is identical
this script can't differentiate them, keystrokes other than
Undo, Redo, M, S, F, Mono Mode
might cause unexpected behaviour in matrix view.
List/format of supported keystrokes:
http://www.autohotkey.com/docs/commands/Send.htm
*/
clickButton(xOffset, yOffset) {
WinGetPos, X, Y, Width, Height, A
ControlClick, % "x" . Width - xOffset . " y" . yOffset . ", A"
}
#IfWinActive RME TotalMix FX.*
;Undo
1::clickButton(35,95)
;Redo
2::clickButton(35,117)
;M
3::clickButton(80,142)
;S
4::clickButton(55,142)
;F
5::clickButton(30,142)
;Mono Mode (Matrix view only)
6::clickButton(57,165)
;Submix
7::clickButton(70,185)
;Free
8::clickButton(40,185)
;SubmixToggle (Old TotalMix behaviour)
;s::
if (s=0) {
clickButton(70,185)
s=1
} else {
clickButton(40,185)
s=0
}
;Post FX
9::clickButton(70,217)
;RMS
0::clickButton(40,217)
;Fx
e::clickButton(70,250)
;Trim
r::clickButton(40,250)
;2row
t::clickButton(70,270)
;Names
y::clickButton(40,270)
Just save as a .ahk file, customize your shortcuts and run with AutoHotKey.
There seems to be an error in the documentation at https://archiv.rme-audio.de/download/wi … er_4_e.pdf in the "7.8 Hotkeys and Usage" section:
Clicking on one of the channel settings buttons (slim/normal, settings) with held down Shift key lets all channels to the right change their state. For example all settings panels can be opened/closed simultaneously.
It's actually the CTRL key.
Also
Alt and number 1 to 8 (not on the numeric keypad!) will load the corresponding Snapshot.
Doesn't work for me. Bug?
Using Win7x64, TotalMixFX v1.04, Multiface