Custom Controls
The Custom Controls component allows you to create a component with various types of Controls that can be used to control other components in your design through use of the Control Pins.
- The Custom Controls component has only Control Pin Input and Output, no audio inputs or outputs.
- You can create a Custom component with the type and number of controls you want.
- Controls of the same type are in Groups. You cannot have duplicate Groups in the same Component.
- You can have up to 10 different types, or Groups, of controls.
- Each Group can have up to 32 controls (of the same type).
- Each Group can have a different number of controls.
- You can give a label to the Custom Controls component by selecting the component in the Schematic and simply start typing and press enter or click off of the component when you're finished. You cannot "edit" the label once it has been entered, but you can replace the label in the same way it was entered initially.
Controls
The available Controls are listed in the Available Controls, and Ranges table under Properties. Their individual functions depend on how you use them. In some cases, the ranges of the Controls can be customized.
Properties
Group 1 - 10
Property |
Function |
Value |
---|---|---|
Type |
Selects the type of control for the Group. Initially, there is only one Group visible. When you select a Type for the first Group, a second Group is displayed, and so on until you have 10 Groups. When you select a Type, Control Pins for each control of that Type, display below the Component in the Schematic, and below the Properties in the Control Pins Section. |
See Controls and Ranges table below |
Count |
Selects the number of controls for the Group. Each Group can have a different Count. |
1 to 32 |
Default range message |
Some of the Control Types have variable ranges. This message gives the default range for the specific Control. If there is no range, as with a Toggle Button, there is no message. |
See Controls and Ranges table below |
Customize range |
Specifies if you want to customize the Control's range or not. |
No / Yes |
Minimum |
If you set the Customize Range to Yes, enter the minimum of the desired range. |
See Controls and Ranges table below |
Maximum |
If you set the Customize Range to Yes, enter the maximum of the desired range. |
See Controls and Ranges table below |
Available Controls, and Ranges
Type |
Default / Range |
Custom |
|
---|---|---|---|
Minimum |
Maximum |
||
Distance knob (meters) |
0 to 100 |
0 |
999 |
Frequency knob (Hz) |
20 to 20000 |
0.1 |
20000 |
Generic float knob |
0 to 1 |
-1,000,000,000 |
1,000,000,000 |
Generic integer knob |
0 to 1 |
-2,147,483,648 |
2,147,483,647 |
Hexadecimal knob |
0x0 to FFFFFF |
0 |
8 bits (24) |
LED |
Off / On |
— |
— |
Level fader w/taper (dBFS) |
-100 to 10 |
— |
— |
Level knob (dBFS) |
-100 to 20 |
-100 |
100 |
Meter (dB) |
-100 to 20 |
— |
— |
Momentary button (Click, hold, release) |
Off / On |
— |
— |
Mute button (Toggle) |
Off / On |
— |
— |
Pan knob |
-1 to 1 |
— |
— |
Percent knob (%) |
0 to 100 |
0 |
100 |
Position knob |
0 to 1 |
— |
— |
Status Display |
0 = OK - Green 1 = Compromised - Orange 2 = Fault - Red 3 = Not Present - Gray 4 = Missing - Red 5 = Initializing - Blue |
— |
— |
Text display |
— |
— |
— |
Text edit |
— |
— |
— |
Time knob (seconds) |
0 to 1 |
0 |
999 |
Toggle button |
Off / On |
— |
— |
Trigger button (single pulse) |
Off / On |
— |
— |
<Remove> (Can only be used on the last in list) |
— |
— |
— |
Control Pins
For each Control you select, Input and Output Control Pins are supplied.
When you select a Control Type in the Properties, there are no "selectable" Control Pins in the right-side pane.
Note: The values in the following table are taken at the default setting of the Control.
Status Display Control
The Status Control contains a <state> and a <reason>. The <state> is a number 0-5 inclusive. The <reason> is a string that may be empty. Each <state> has a corresponding <string-representation> and a <color> as follows:
- 0: "OK" : green
- 1: "Compromised" : orange
- 2: "Fault" : red
- 3: "Not Present" : gray
- 4: "Missing" : dark red
- 5: "Initializing" : light blue
The <color> of the Status Control always tracks the <state> according to the list above.
Getting the Value from a script returns the <state>.
Setting the Value from script sets the <state> and, if the <state> is changed, clears the <reason>.
Getting the String from script does one of 2 things:
- If <reason> is empty, <string-representation> is returned.
- If <reason> is not empty, a string of the form "<string-representation> - <reason>" is returned. (<string-representation> space hyphen space <reason>)
Setting the String from script does one of three things:
- If the string exactly matches some <string-representation>, the <state> is changed and <reason> is cleared.
- If the string exactly matches some <string-representation> followed by a space and a hyphen and a space and a <reason>, <state> and <reason> are both changed.
- Otherwise, only <reason> is changed.
A result of this behavior is that if you get the <string> of one Status Control and set it to another, both the <state> and <reason> are properly set.