Sure! For example, I use widgets to control OSC parameters on a Behringer Wing digital desk.
var mike_vox, jg_vox, andrew_vox, jimmy_vox, ja_vox: OSCMessage
var mike_vox_ch, jg_vox_ch, andrew_vox_ch, jimmy_vox_ch, ja_vox_ch, osc_dest_port, verb_bus, delay_bus, verb2_bus, delay2_bus: Integer
var mike_vox_fader, fantom_bank, fantom_program: Widget
//VerbSends
var mike_verb_snd, jg_verb_snd, andrew_verb_snd, jimmy_verb_snd, ja_verb_snd: Widget
osc_dest_ip: String
Initialization
mike_vox_ch = 1
jg_vox_ch = 2
andrew_vox_ch = 3
jimmy_vox_ch = 4
ja_vox_ch = 5
verb_bus = 13
delay_bus = 14
verb2_bus = 15
delay2_bus = 16
osc_dest_ip = "127.0.0.1"
osc_dest_port = 8001
OSC_SetAddress(mike_vox, "/ch/"+mike_vox_ch+"/")
OSC_SetAddress(jg_vox, "/ch/"+jg_vox_ch+"/")
OSC_SetAddress(andrew_vox, "/ch/"+andrew_vox_ch+"/")
OSC_SetAddress(jimmy_vox, "/ch/"+jimmy_vox_ch+"/")
OSC_SetAddress(ja_vox, "/ch/"+ja_vox_ch+"/")
End
//Reverb Sends
On WidgetValueChanged(newValue: Double) from mike_verb_snd
OSC_SendDoubleSpecific("/ch/"+mike_vox_ch+"/send/"+verb_bus+"/lvl", newValue, osc_dest_ip, osc_dest_port)
End
On WidgetValueChanged(newValue: Double) from jg_verb_snd
OSC_SendDoubleSpecific("/ch/"+jg_vox_ch+"/send/"+verb_bus+"/lvl", newValue, osc_dest_ip, osc_dest_port)
End
On WidgetValueChanged(newValue: Double) from andrew_verb_snd
OSC_SendDoubleSpecific("/ch/"+andrew_vox_ch+"/send/"+verb_bus+"/lvl", newValue, osc_dest_ip, osc_dest_port)
End
On WidgetValueChanged(newValue: Double) from jimmy_verb_snd
OSC_SendDoubleSpecific("/ch/"+jimmy_vox_ch+"/send/"+verb_bus+"/lvl", newValue, osc_dest_ip, osc_dest_port)
End
On WidgetValueChanged(newValue: Double) from ja_verb_snd
OSC_SendDoubleSpecific("/ch/"+ja_vox_ch+"/send/"+verb_bus+"/lvl", newValue, osc_dest_ip, osc_dest_port)
End
I try to declare the variables in the beginning, so that I can change the value in one spot if I ever decide to move the sources to different channels on the mixer (i.e., Mike’s vocal channel from ch 1 to ch 15). In the middle section, where I am controlling reverb sends with widget value changes, I have only included 5 channels for demonstration purposes. However, this could be 10, 12, 15, 20 or more channels depending on how many reverb sends I want to automate with GP. It would be lovely if I could condense that section down and reference it with a line of code, or possibly even “hide” it with a drill down arrow or something?