Control surface / midi mapping to video FX parameters?

70 views
Skip to first unread message

Iain Simons

unread,
Jan 6, 2026, 12:46:19 PM (4 days ago) Jan 6
to QLab
I don't *think* this is possible, but just wanted to check as was getting some contradictory google results... 

I want to be /have an operator be able to manually move the hue on a video effect live, responding to a music track. It it possible to map a midi control surface to a parameter slider in order to do this? I saw some more programmatic audio-responsive solutions, but I'm really after something quick and dirty. 

Any hope / pointers would be really appreciated!

-iain

micpool

unread,
Jan 6, 2026, 8:42:57 PM (3 days ago) Jan 6
to QLab
You can adapt the method described in this QLab Cookbook chapter:
https://qlab.app/cookbook/mind-bending-midi-binding/

To create a look up table cue list which will control the Hue of the Color Effect of a cue  numbered "VIDEO".

The lookup table consists of 128 network cues each triggered by a different value 0-127 of a MIDI controller

The required cues can be instantly generarated with this script

--create 128 network cues to control video effect parameter values triggered by 128 MIDI cc values

set theTargetCue to "VIDEO"

set theIndex to 0

set theParameter to "inputAngle"

set theMin to -180

set theMax to 180

set theMIDIch to 11

set theMIDIcc to 11

----Do not alter anything below this line

set theStep to (theMax - theMin) / 127

set theOSC to "/cue/" & theTargetCue & "/videoEffectIndex/" & theIndex & "/parameter/" & theParameter & "/live "

tell application id "com.figure53.QLab.5" to tell front workspace

repeat with theValue from 0 to 127

make type "network"

set theSelected to last item of (selected as list)

set the midi command of theSelected to control_change

set the midi byte one of theSelected to theMIDIcc

set the midi byte two of theSelected to theValue

set the midi trigger of theSelected to enabled

set the midi trigger channel of theSelected to theMIDIch

--set the OSC message to be sent by the new cue

set thelevel to theMin + theValue * theStep

set thelevel to round (thelevel) rounding to nearest

set the custom string of theSelected to theOSC & thelevel

set the q number of theSelected to "cc" & theMIDIcc & "_" & theValue

end repeat

end tell


Screen recording  attached


Mic

Screen Recording 2026-01-07 at 01.38.00-HD 1080p.mov

micpool

unread,
Jan 6, 2026, 8:43:53 PM (3 days ago) Jan 6
to QLab
Workspace for previous example attached
Mic
Hue Control by MIDI.zip

Iain Simons

unread,
Jan 7, 2026, 4:17:13 AM (3 days ago) Jan 7
to QLab
Ah, thanks so much! 

I don't know how I missed the cookbook...

micpool

unread,
Jan 7, 2026, 6:01:10 PM (2 days ago) Jan 7
to QLab
Although the lookup table method in my previous posts is the only way to control QLab cue parameters directly from MIDI input entirely within QLab, there are a couple of other approaches using helper apps which might be of use. You could use an app like TouchOSC to create controls that output the required OSC directly, or you can use  Max, Vuo, Chataigne, or the now obsolete OSCulator (if you have a working copy) to make a translator to convert MIDI input to the required OSC messages. 

Mic

David Crone

unread,
Jan 8, 2026, 6:27:41 PM (2 days ago) Jan 8
to QLab
I've had good luck using banyan AV AVBridge app to convert Midi to OSC. This app was originally written to convert OSC to ATEM controls, but they added the more generic Midi to OSC function as well. www.banyan-av.com/avbridge
Reply all
Reply to author
Forward
0 new messages