Page 1 of 1

How to reference speed dial preset buttons in a script?

Posted: Wed Nov 13, 2024 6:33 pm
by Russ
Hello everyone,
I have a virtual console set up with many buttons for different functions, for many of the buttons I have linked a speed dial with preset buttons for different speeds of function. I have hidden the actual dial and all other functions of the speed dial apart from the preset buttons.

What I would like is to create some shortcut buttons that include several button functions and one of the speeds represented by the preset buttons all within a collection. I cannot see any way of referencing the speed dial buttons, so I am guessing it will have to be a script, but I have no experience in scripting and would appreciate some help in the correct syntax to use to reference these preset speed dial buttons.

I have included a screenshot of a section of the VC where you can see the various speed option preset buttons linked to dimmer function buttons.
Untitled-1.jpg

Re: How to reference speed dial preset buttons in a script?

Posted: Wed Nov 13, 2024 8:42 pm
by Stromkompressor
I haven't used it yet but I guess a loopback would be the solution here: https://docs.qlcplus.org/v4/plugins/loopback

Re: How to reference speed dial preset buttons in a script?

Posted: Wed Nov 13, 2024 9:35 pm
by Russ
Thanks for the feedback, but I am not familiar enough with the software to understand how to use that feature in the context of my example.

Re: How to reference speed dial preset buttons in a script?

Posted: Wed Nov 13, 2024 10:54 pm
by MichelSliepenbeek
Have a look at example 4 (https://www.qlcplus.org/forum/viewtopic ... 300#p70300) and example 6 (https://www.qlcplus.org/forum/viewtopic ... 367#p70367).


In example 4 you will find the Speed Dial on the right. If you double click on the Speed Dial and go to the Inputs tab you will notice that the Range is set as 1 .. 5 seconds and that the External Control is set to Channel "7: Slider 7 - Speed" in the Loopback Universe.
If you double click the Slider in this Frame you will notice that it is in Level Mode and controls this channel "7: Slider 7 - Speed". Next to this slider you find a Solo Frame with 3 buttons that launch Scenes "Set Speed = Fast", "Set Speed = Medium" and "Set Speed = Slow" (those scenes set the slider to a specific value) and another Button to Launch EFX "Varaible Speed".
It is important to know that this Channel 7 is set up as LTP (Latest Takes Precedence).

Example 6 (which you have seen before) uses a different approach. If you double click on the Speed Dial (any of the 4 will do), go to the Presets Tab and then select one of the presets, you will notice that each Preset has its own External Control.
For each Speed Dial there is a Solo Frame with 4 buttons that launch Sequences.
In this example all Loopback channels are set up as LTP (Latest Takes Precedence).


If LoopBack is new to you, you might start with Example 1 in this thread.

Re: How to reference speed dial preset buttons in a script?

Posted: Thu Nov 14, 2024 9:14 am
by Russ
Thanks for the links and the explanation. I was hoping to avoid using loopback as like others have mentioned in that thread, I can't really get my head around how I use it or get it to work, and it just seems overly complicated.

Is there not a simple line of code I could add to a script that will select or deselect a preset button within a speed dial widget?

Re: How to reference speed dial preset buttons in a script?

Posted: Thu Nov 14, 2024 11:25 am
by MichelSliepenbeek
..... and it just seems overly complicated.

If you take a closer look at the (options of the) widgets you use on your Virtual Console, you will notice that nearly every option provides a possibility to connect an External Control to it.
This is because most of the Lighting Engineers prefer to use actual buttons and sliders above using a mouse on a computer screen.

This External Control could be:
- an old scool Lighting Board. (If your Lighting Board is capable of sending DMX Data over USB or Ethernet you connect it straight to your computer, otherwise you need to have a USB Dongle or ArtNet controller that can receive DMX Data)
- a MIDI controller. The Korg NanoControl and Akai APC Mini are popular amongst QLC+ users, but there are many more.
Have a look at this video as an example of how to connect and use a NanoControl: https://youtu.be/OoRkQamAMdE?feature=shared
- other programms. Here you can think of DAW software like Reaper, but you can also make your tablet act as a "Remote Control" for your QLC+ workspace using OSC.

In the same way (as make your tablet act a a Remote control) it is even possible to use a second PC (on the same network) running QLC+ as an External Control to your First PC (running QLC+).
On your first PC you actually run your show, the second PC will act as a Virtual Lighting Board or a Virtual MIDI controller: so basically on the Virtual Console of your second PC you will find Buttons and Sliders that control the Functions of QLC+ on your first PC.


What you do with LoopBack is create your own External Controller within QLC+.
So instead of using 2 PC's you only use one, you simply redirect the output from specific functions to be used as Input for other functions.
In a separate Universe you define a number channels that you control (via functions like Scenes) with Buttons and Scenes on your Virtual Console and (on the same Virtual Console) you tell other Widgets to "listen" to those channels as External Control.
Once you understand this concept, it is not "overly complicated" anymore, then it will become a very powerfull tool to create your very own user interface: you can make your Virtual Console look like how you want to see it.


It is a bit like an old scool telecom swich board: just follow the connections.

Jersey_Telecom_switchboard_and_operator.jpg

If you want to know where the Inputs are you need to look at the External Controls of the Widgets on your Virtual Console (it will at least tell you to which Channel in witch Universe it will listen, but by using an Input Profile you can add your own self explaining description to it).
If you want to find the Outputs, find the functions that use the Channels in your Loopback Universe.

Re: How to reference speed dial preset buttons in a script?

Posted: Thu Nov 14, 2024 2:04 pm
by Russ
Thanks for taking the time to further explain the concept and that has made it easier to understand.
I can see that the loopback feature could be very powerful and have many uses, but in the interest of seeing my original question through to it's conclusion, is it possible to use a line of code in a script to achieve my goal here?

Or was loopback suggested as that is the only way of doing it?

Re: How to reference speed dial preset buttons in a script?

Posted: Fri Nov 15, 2024 7:15 am
by GGGss
Russ wrote: Thu Nov 14, 2024 2:04 pm Thanks for taking the time to further explain the concept and that has made it easier to understand.
I can see that the loopback feature could be very powerful and have many uses, but in the interest of seeing my original question through to it's conclusion, is it possible to use a line of code in a script to achieve my goal here?

Or was loopback suggested as that is the only way of doing it?
There simply isn't a built-in way of controlling the surface of the VC besides using the external input method (aka Loopback Magic).
The script engine in v4 is limited to these control instructions: https://docs.qlcplus.org/v4/function-ma ... ipt-editor