uvi-script
Musical event scripting with Lua
Loading...
Searching...
No Matches
Element Class Reference

Common Elements base class. More...

Inheritance diagram for Element:
AuxEffect BusRouter ControlSignalSource EventProcessor InsertEffect Keygroup Layer Oscillator Part Program SampledReverb SignalConnection Synth

Public Member Functions

void setParameter (string parameter, Value value)
 Sets an Element parameter.
 
Value getParameter (string parameter)
 Gets an Element parameter.
 
bool hasParameter (string parameter)
 
table getParameterConnections (string parameter)
 Get all SignalConnection for this parameter.
 

Public Attributes

string name
 internal element name
 
string displayName
 name to display on the User Interface, name is used if displayName is not specified.
 
string type
 internal element type
 
string path
 full path of the element in the synthesis tree
 
Elementparent
 element parent
 
table children
 element children using the element name as key
 
table synthChildren
 children of the element in the synthesis hierarchy, as a 1-indexed array.
 
table mods
 all ControlSignalSource for this node as a 1-indexed array (same content as modulations, keyed by index instead of name)
 
int output
 output bus index for the element. Reading returns the index parsed from the current output bus name (1 when the element uses the default bus). Writing is asynchronous: the engine applies the new routing shortly after the assignment, so reading the property back immediately may still return the old value. Assigning on an element that cannot change its output raises an error.
 
int numParams
 number of parameters
 
table parameterDefinitions
 table of parameter definitions.
 

Detailed Description

Common Elements base class.

See also
Elements & parameters

Member Function Documentation

◆ getParameter()

Value Element::getParameter ( string parameter)

Gets an Element parameter.

Parameters
parameterparameterName or parameterId
Returns
parameterValue (number|bool|string) according to definition
See also
Elements & parameters

◆ getParameterConnections()

table Element::getParameterConnections ( string parameter)

Get all SignalConnection for this parameter.

Parameters
parameterparameterName or parameterId
Returns
table of parameter connections
See also
Elements & parameters

◆ hasParameter()

bool Element::hasParameter ( string parameter)
Parameters
parameterparameterName or parameterId
Returns
true or false
See also
Elements & parameters

◆ setParameter()

void Element::setParameter ( string parameter,
Value value )

Sets an Element parameter.

Parameters
parameterparameterName or parameterId
valueparameterValue (number|bool|string) according to definition
See also
Elements & parameters

Member Data Documentation

◆ parameterDefinitions

table Element::parameterDefinitions

table of parameter definitions.

returns the following table:

property type optional
name string no
id number no
type "int","float","bool","string" no
default type no
displayName string no
description string no
readOnly boolean no
serialize boolean no
min type yes
max type yes

◆ synthChildren

table Element::synthChildren

children of the element in the synthesis hierarchy, as a 1-indexed array.

Differs from children in both content and indexing: children is keyed by element name and lists every direct sub-element (insert and aux effects, event processors, modulation sources, sends, ...), while synthChildren is an ordered array restricted to the nested synthesis structure — the Parts of a Synth, the Program of a Part, the Layers of a Program, the Keygroups of a Layer. Use #element.synthChildren for the count or iterate with ipairs. Oscillators are not synthesis-tree nodes: a Keygroup exposes them through oscillators instead.

Only valid on synthesis-tree elements (Synth, Part, Program, Layer, Keygroup); reading it on any other element raises the error "this Element doesn't have sub elements".