Control Functions

Site: QSC
Course: Q-SYS Control 101 Training
Book: Control Functions
Printed by: Guest user
Date: Wednesday, 15 May 2024, 11:36 PM

Description

Lesson Description

Manipulate your controls using nearly 30 different options available in the Control Functions component.

Video Transcript

0:08
Now that we’ve explored the behavior of Control Pins and some of the basic
0:11
Control Components, it’s time to unleash the real workhorse of this programming
0:15
method: the Control Functions.
0:18
If you’re familiar with using Spreadsheets at all, you could consider the Control
0:22
Function component to be analogous to adding a formula in the cell of a spreadsheet.
0:27
Perhaps the cell’s formula adds up the cells above it, or applies a multiplier in order
0:32
to calculate tax. This same concept can be applied to controls in your Q-SYS design.
0:37
This component can be configured to perform a number of different types of functions,
0:41
including conditional statements, comparative validation, and-gates
0:45
and or-gates, just to name a few. Let’s drag one into the Schematic to start exploring its potential.
0:51
You might notice immediately that it isn’t named Control Function in your
0:55
Schematic. Its name is now “Value Sum,” which is simply the default selected
1:00
function. If you double-click this component, you’ll also notice that it has no
1:04
control panel at all. There’s nothing to adjust, no controls to set, this component
1:08
has a single job to do and it will do it, no matter what. You decide what that job
1:14
is by choosing a function here in the Properties. For some functions you may be
1:19
able to adjust how many inputs it has, while there are other functions
1:22
that require a specific number of channels.
1:25
There are about 30 different functions for you to choose from, and you may
1:29
notice that a bunch of them are Value based, and a bunch are Position based
1:33
– which means that these functions will perform their actions based on the
1:37
.Value or .Position parameter of the incoming controls. There are also a bunch
1:42
with the word “Logic” in their name – these ones are conditional statements,
1:47
which output either a true or false based on whether or not their conditions
1:51
are met by in the incoming controls.
1:54
Let’s take a look at some of these in action. I’m going to jump to some simple examples
1:58
that I’ve already setup. First up is the default function, Value Sum. This does exactly
2:03
what it sounds like, it adds up the Values of its incoming controls.
2:08
Here I have some custom integer knobs, and you can see that when I make
2:11
changes to them, it will add their values together and output that here. Congratulations,
2:16
you have the world’s most expensive calculator! Don’t forget that toggle buttons and
2:21
LEDS have values of 0 and 1, so you could also use a Value Sum function to add these as well.
2:27
For instance, here we have a Paging System and each Zone has an LED that will illuminate
2:33
when an announcement is playing in that area. You could use a Value Sum
2:38
to quickly display how many Zones are currently busy in your venue.
2:42
Some other basic mathematical functions that you could apply to Values include Value Product,
2:48
Value Quotient, Value Square, Value Square Root, Value Absolute Value, Value Average, etc.
2:56
There are also comparative functions, such as Value Maximum,
3:00
which will only output the greatest of all incoming Values.
3:04
Most of the Positional functions are the same as the Value functions, except
3:08
they look at a control’s Position. This may seem like a semantic difference at
3:12
times, but let me show you an example of how it could get you into trouble.
3:16
Here we have different types of decibel knobs – these two are Level Knobs,
3:20
while this one is a Level fader w/taper. They all have the same range but the
3:25
tapered fader scales its sensitivity so that the top of the range is much more
3:29
spread out than the bottom of the range. This makes it easier for someone to
3:33
make subtle changes here in the most audible range. If you passed the
3:38
greater of these two inputs, you’ll get different results if you use a Value or
3:42
Positional function. A Value Maximum will send the numerical decibel – see,
3:47
-20dB here equals -20dB here. But a Positional Maximum will look at the control’s position,
3:54
which is always on a range of 0 to 1, regardless of the Values within.
3:58
This appears to be a position of about .75, so the output’s position is also .75, but look at the
4:05
difference in Values. .75 on a tapered fader equals -2.85 dB, which is a whole
4:12
lot louder than -20dB. So be sure to pay attention to exactly what aspect of the input controls
4:19
you want to apply to the output controls.
4:22
Next let’s look at some of the Logic functions. The only possible outputs here
4:27
are a string of true or false, which is the same as a Value of 1 or 0. The inputs
4:32
should also all be true/false, so this is really designed to compare LEDs, toggle
4:37
buttons, and momentary buttons. “Logic AND” is an and-gate, meaning that it
4:42
will only output a Value of 1 if every single one of its inputs also has a Value of
4:47
1. 1 AND 2 AND 3 AND 4 – that satisfies the conditions. If you want to activate
4:54
a control only after a number of other criteria have already been met, you
4:58
might use Logic AND. Here we have a Softphone Controller, and we’ve exposed
5:03
the “Off Hook” and “Ringing(state)” LEDs. So if someone is already using the telephone,
5:09
meaning it’s “Off Hook” and a new caller dials in, meaning the phone is in the act of Ringing,
5:15
we can use a Logic AND to activate a special ring tone to tell the user that someone else is
5:20
trying to call in. If someone dials in and the phone is NOT off the hook, this does not satisfy the
5:27
condition of Logic AND so the special ring tone won’t be activated, and the
5:30
Softphone’s normal ringtone will suffice.
5:33
The Logic OR gate is the opposite of this – if ANY of its inputs has a Value of 1,
5:39
then the Logic OR will output a Value of 1. This works more like a funnel, in
5:44
which any number of inputs can be combined to have the same effect. There
5:48
are other variations of Logic functions – some that will only output a 1 when
5:52
an even number of inputs are 1, or when an odd number of inputs are 1, or
5:56
when a single input is 1. There’s also the Logic NOT, which outputs a 1
6:01
when its input is NOT 1, effectively inverting a 0 to a 1, or a 1 to a 0.
6:07
Since Trigger Buttons don’t have Values, Strings, or Positions, they generally
6:12
won’t be compatible with any of these Control Functions. The exception is the
6:17
Trigger Combiner, which connects multiple different triggers through an or-gate,
6:22
allowing any of the original triggers to activate the output trigger. This is much
6:27
like the Logic OR function, except it works with Triggers.
6:30
A word of warning, there are a couple of functions in here whose names
6:34
might not be self-explanatory. Do you know what “LOGIC NOT XOR” means?
6:40
Do you intuitively know the difference between “Value Maximum” and
6:44
“Value Greater”? When you first start using these – probably not. Don’t fret,
6:49
just press F1 to bring up the Help file, and you’ll find that each function is succinctly
6:54
explained with a single sentence. Value Greater doesn’t output the greater Value,
6:59
it outputs a 1 when Input 1’s Value is greater than Input 2. Got it. If you spend
7:05
a few minutes reading through these descriptions, you’ll quickly understand
7:08
all the different functions you have at your disposal.
7:11
Go ahead and return to the Control Training Worksheet for a couple of easy
7:14
exercises using these Control Functions. In the next section, we’ll take a look
7:19
at some more complicated processes that will require multiple Control Functions,
7:23
and other Control Components as well, all wired together.
7:26
Feel free to move on whenever you’re ready.