Skip to content

Widgets reference

Generic properties

property type default description

type

string "auto"

id

string "auto" Widgets sharing the same id will act as clones and update each other's value(s) without sending extra osc messages.

linkId

string|
array
"" Widgets sharing the same linkId update each other's value(s) AND send their respective osc messages.

When prefixed with >>, the linkId will make the widget act as a master (sending but not receiving)

When prefixed with <<, the linkId will make the widget act as a slave (receiving but not sending)

geometry

left

number|
string
"auto" When both top and left are set to auto, the widget is positioned according to the normal flow of the page (from left to right, by order of creation).

Otherwise, the widget will be absolutely positioned

top

number|
percentage
"auto" When both top and left are set to auto, the widget is positioned according to the normal flow of the page (from left to right, by order of creation).

Otherwise, the widget will be absolutely positioned

width

number|
percentage
"auto"

height

number|
percentage
"auto"

style

label

string|
boolean
"auto" Set to false to hide completely

Insert icons using the prefix ^ followed by the icon's name : ^play, ^pause, etc

color

string "auto" CSS color code. Set to "auto" to inherit from parent widget.

css

string "" CSS rules

value

default

* "" If set, the widget will be initialized with this value when the session is loaded.

value

* "" Define the widget's value depending on other widget's values / properties using property inheritance and property maths

osc

precision

integer|
string
2 Defines the number of decimals to display and to send.

Set to 0 to send integers only.

Data type can be specified by appending a valid osc type tag to the precision value, for example : 3d will make the widget send double precision numbers rounded to three decimals

address

string "auto" OSC address for sending messages, it must start with a /

preArgs

*|
array
"" A value or array of values that will be prepended to the OSC messages.

Values can be defined as objects if the osc type tag needs to be specified: {type: "i", value: 1}

target

string|
array|
null
"" This defines the targets of the widget's OSC messages
- A string or array of strings formatted as follow: ip:port or ["ip:port"]
- If midi is enabled, targets can be midi:device_name
- The special item "self" can be used to refer to the emitting client directly.
- If no target is set, messages can still be sent if the server has default targets
- The server's default targets can be bypassed by setting one of the items to null

bypass

boolean false Set to true to prevent the widget from sending any osc message

Sliders

fader

property type default description

style

css

string "" Available CSS variables:
- --color-gauge: color;
- --color-knob: color;
- --color-pips: color;
- --gauge-opacity: number;

fader

horizontal

boolean false Set to true to display the fader horizontally

alignRight

boolean false Set to true to invert the pip's and fader's position

pips

boolean true Set to false to hide the scale

input

boolean true Set to false to hide the built-in input

meter

boolean false Set to true to display a vu-meter next in the fader
- the meter's id will be the same as the widget's with /meter appended to it
- the meter's id will be the same as the widget's with /meter appended to it

compact

boolean false Set to true to display a compact alternative for the widget. Disables default mouse/touch focusing on the value display.

dashed

boolean false Set to true to display a dashed gauge

snap

boolean false By default, dragging the widget will modify it's value starting from its last value. Setting this to true will make it snap directly to the mouse/touch position

spring

boolean false When set to true, the widget will go back to its default value when released

doubleTap

boolean false Set to true to make the fader reset to its default value when receiving a double tap.

Can also be an osc address, in which case the widget will just send an osc message (/<doubleTap> <preArgs>)

range

object {
 "min": 0,
 "max": 1
}
Defines the breakpoints of the fader's scale:
- keys can be percentages and/or min / max
- values can be number or object if a custom label is needed

Example: ({min:{"-inf": 0}, "50%": 0.25, max: {"+inf": 1}})

logScale

boolean false Set to true to use logarithmic scale for the y axis

unit

string "" Unit will be appended to the displayed widget's value (it doesn't affect osc messages)

origin

number "auto" Defines the starting point's value of the fader's gauge

osc

touchAddress

string "" OSC address for touched state messages: /touchAddress [preArgs] 0/1

meterAddress

string "" OSC address for the built-in meter

knob

property type default description

style

css

string "" Available CSS variables:
- --color-gauge: color;
- --color-knob: color;
- --color-pips: color;

knob

pips

boolean true Set to false to hide the scale

input

boolean true Set to false to hide the built-in input

dashed

boolean false Set to true to display a dashed gauge

angle

number 270 Defines the angle's width of the knob, in degrees

snap

boolean false By default, dragging the widget will modify it's value starting from its last value. Setting this to true will make it snap directly to the mouse/touch position

spring

boolean false When set to true, the widget will go back to its default value when released

doubleTap

boolean false Set to true to make the knob reset to its default value when receiving a double tap.

Can also be an osc address, in which case the widget will just send an osc message (/<doubleTap> <preArgs>)

range

object {
 "min": 0,
 "max": 1
}
Defines the breakpoints of the fader's scale:
- keys can be percentages and/or min / max
- values can be number or object if a custom label is needed

Example: ({min:{"-inf": 0}, "50%": 0.25, max: {"+inf": 1}})

logScale

boolean false Set to true to use logarithmic scale for the y axis

unit

string "" Unit will be appended to the displayed widget's value (it doesn't affect osc messages)

origin

number "auto" Defines the starting point's value of the knob's gauge

osc

touchAddress

string "" OSC address for touched state messages: /touchAddress [preArgs] 0/1

encoder

property type default description

encoder

ticks

number "auto" defines the granularity / verbosity of the encoder (number of step for a 360° arc)

back

* -1 Defines which value is sent when rotating the encoder anticlockwise

forth

* 1 Defines which value is sent when rotating the encoder clockwise

release

number "auto" Defines which value is sent when releasing the encoder:
- Set to null to send send no argument in the osc message
- Can be an object if the type needs to be specified

snap

boolean false By default, dragging the widget will modify it's value starting from its last value. Setting this to true will make it snap directly to the mouse/touch position

doubleTap

boolean false Set to true to make the fader reset to its default value when receiving a double tap.

Can also be an osc address, in which case the widget will just send an osc message (/<doubleTap> <preArgs>)

osc

touchAddress

string "" OSC address for touched state messages: /touchAddress [preArgs] 0/1

range

property type default description

style

css

string "" Available CSS variables:
- --color-gauge: color;
- --color-knob: color;
- --color-pips: color;
- --gauge-opacity: number;

range

range

object {
 "min": 0,
 "max": 1
}
See fader's range

horizontal

boolean false See fader's horizontal

alignRight

boolean false See fader's alignRight

input

boolean true See fader's input

compact

boolean false See fader's compact

pips

boolean true See fader's pips

snap

boolean false See fader's snap

spring

boolean false See fader's spring

logScale

boolean false See fader's logScale

osc

touchAddress

string "" See fader's touchAddress

split

boolean|
object
false Set to true to send separate osc messages for low and high handles. The address will be the same as the widget's with /low or /high appended to it

Can be set as an object to specify a different address : ['/osc_address_low', '/osc_address_high']

Note: the widget will only respond to its original osc address, not to the splitted version

Buttons

toggle

property type default description

toggle

doubleTap

boolean false Set to true to make the button require a double tap to be toggled instead of a single tap

led

boolean false Set to true to display the toggle's state with a led

on

* 1 Set to null to send send no argument in the osc message

Can be an object if the type needs to be specified (see preArgs)

off

* 0 Set to null to send send no argument in the osc message

Can be an object if the type needs to be specified (see preArgs)

push

property type default description

push

on

* 1 Set to null to send send no argument in the osc message

Can be an object if the type needs to be specified (see preArgs)

off

* 0 Set to null to send send no argument in the osc message

Can be an object if the type needs to be specified (see preArgs)

norelease

boolean false Set to true to prevent sending any osc message when releasing the button

switch

property type default description

switch

horizontal

boolean false Set to true to display values horizontally

showValues

boolean false If values is an object, set to true to display both values and labels instead of labels only

values

array|
object
{
 "Value 1": 1,
 "Value 2": 2
}
Array of possible values to switch between : [1,2,3]

Object of "label":value pairs. Numeric labels must be prepended or appended with a white space (or any other non-numeric character) otherwise the order of the values won't be kept
property type default description
array|
object
{
 "Value 1": 1,
 "Value 2": 2
}
Array of possible values to switch between : [1,2,3]

Object of label:value pairs. Numeric labels must be prepended or appended with a white space (or any other non-numeric character) otherwise the order of the values won't be kept

An empty option will always be prepended to values (sends an osc message without any value); it can be hidden by adding option:first-child{display:none} to the widget's css

Pads

xy

property type default description

xy

pointSize

integer 20 Defines the points' size

snap

boolean false By default, the points are dragged from their initial position.

If set to true, touching anywhere on the widget's surface will make them snap to the touching coordinates

spring

boolean false When set to true, the widget will go back to its default value when released

pips

boolean true Set to false to hide the scale

rangeX

object {
 "min": 0,
 "max": 1
}
Defines the min and max values for the x axis

rangeY

object {
 "min": 0,
 "max": 1
}
Defines the min and max values for the y axis

logScaleX

boolean false Set to true to use logarithmic scale for the x axis (log10)

logScaleY

boolean false Set to true to use logarithmic scale for the y axis (log10)

input

boolean true Set to false to hide the built-in input widget

doubleTap

boolean|
string
false Set to true to make the fader reset to its default value when receiving a double tap.

Can also be an osc address, which case the widget will just send an osc message: /<doubleTap> <preArgs>

osc

touchAddress

string "" OSC address for touched state messages: /touchAddress [preArgs] 0/1)

split

boolean|
object
false Set to true to send separate osc messages for each point's x and y axis. The address will be the same as the widget's with /x or /y appended to it

Can be set as an object to specify a different address : ['/osc_address_x', '/osc_address_y']

Note: the widget will only respond to its original osc address, not to the splitted version

rgb

property type default description

rgb

snap

boolean false By default, the points are dragged from their initial position.

If set to true, touching anywhere on the widget's surface will make them snap to the touching coordinates

spring

boolean false When set to true, the widget will go back to its default value when released

range

object {
 "min": 0,
 "max": 255
}
Defines the widget's output scale.

input

boolean true Set to false to hide the built-in input widget

osc

split

boolean|
object
false Set to true to send separate osc messages for for r and g & b. The address will be the same as the widget's with /r, /g or /b appended to it

Can be set as an object to specify a different address : ['/r', '/g', 'b']

Note: the widget will only respond to its original osc address, not to the splitted version

multixy

property type default description

multi xy

points

integer|
array
2 Defines the number of points on the pad

Can be an array of strings that will be used as labels for the points (ex: ['A', 'B'])

xy

pointSize

integer 20 Defines the points' size

snap

boolean false By default, the points are dragged from their initial position.

If set to true, touching anywhere on the widget's surface will make them snap to the touching coordinates

spring

boolean false When set to true, the widget will go back to its default value when released

pips

boolean true Set to false to hide the scale

rangeX

object {
 "min": 0,
 "max": 1
}
Defines the min and max values for the x axis

rangeY

object {
 "min": 0,
 "max": 1
}
Defines the min and max values for the y axis

logScaleX

boolean false Set to true to use logarithmic scale for the x axis (log10)

logScaleY

boolean false Set to true to use logarithmic scale for the y axis (log10)

osc

touchAddress

string "" OSC address for touched state messages: /touchAddress [preArgs] 0/1

split

boolean|
object
false Set to true to send separate osc messages for each point's x and y axis. The address will be the same as the widget's with /N/x or /N/y appended to it, where N is the point's id (or the point's label if points is an array)

Can be set as an object to specify a different address : ['/0/x', '/0/y', '/1/x', '/2/y']

Note: the widget will only respond to its original osc address, not to the splitted version

Matrices

matrix

property type default description

matrix

widgetType

string "toggle" Defines the type of the widgets in the matrix

matrix

array [
 2,
 2
]
Defines the number of columns and and rows in the matrix

start

integer 0 First widget's index

spacing

integer 0 Adds space between widgets

traversing

boolean true Set to false to disable traversing gestures

border

boolean true Set to false to disables the widgets' borders

props

object {} Defines a set of property to override the widgets' defaults.

Formulas in this field are resolved with an extra variable representing each widget's index: $

multifader

property type default description

matrix

strips

integer 2 Number of faders in the row, each fader will inherit its parent's properties and the following ones (where i is the fader's index in the row)
- id: same as the widget's with /i appended to it
- label: i
- address: see split

start

integer 0 First widget's index

traversing

boolean true Set to false to disable traversing gestures

fader

range

object {
 "min": 0,
 "max": 1
}
See fader's range

logScale

boolean false See fader's logScale

origin

number "auto" See fader's origin

unit

string "auto" See fader's unit

alignRight

boolean false See fader's alignRight

horizontal

boolean false See fader's horizontal

pips

boolean false See fader's pips

dashed

boolean false See fader's dashed

snap

boolean true See fader's snap

meter

boolean false See fader's meter

input

boolean true See fader's input

compact

boolean false See fader's compact

osc

split

boolean|
string
false - true: the widget's index will be appended to the matrice's osc address
- false: it will be prepended to the widget's preArgs
- string: will be used to define the widgets' addresses, replacing dollar signs ($) with their respective index (to insert the actual dollar sign, it must be escaped with a backslash (\$))

multitoggle

property type default description

matrix

matrix

array [
 2,
 2
]
Defines the number of columns and and rows in the matrix. Each cell will contain a toggle button that will inherit its parent's properties and the following ones (where i is the toggle's index)
- id: same as the widget's with /i appended to it
- label: i
- address: see split

start

integer 0 First widget's index

spacing

integer 0 Adds space between widgets

traversing

boolean true Set to false to disable traversing gestures

toggle

led

boolean false Set to true to display the toggle's state with a led

on

* 1 Set to null to send send no argument in the osc message

Can be an object if the type needs to be specified (see preArgs)

off

* 0 Set to null to send send no argument in the osc message

Can be an object if the type needs to be specified (see preArgs)

osc

split

boolean|
string
false true: the widget's index will be appended to the matrice's osc address

false: it will be prepended to the widget's preArgs

string: will be used to define the widgets' addresses, replacing dollar signs ($) with their respective index (to insert the actual dollar sign, it must be escaped with a backslash (\$))

multipush

property type default description

matrix

matrix

array [
 2,
 2
]
Defines the number of columns and and rows in the matrix. Each cell will contain a push button that will inherit its parent's properties and the following ones (where i is the push's index)
- id: same as the widget's with /i appended to it
- label: i
- address: see split

start

integer 0 First widget's index

traversing

boolean true Set to false to disable traversing gestures

spacing

integer 0 Adds space between widgets

push

on

* 1 Set to null to send send no argument in the osc message

Can be an object if the type needs to be specified (see preArgs)

off

* 0 Set to null to send send no argument in the osc message

Can be an object if the type needs to be specified (see preArgs)

norelease

boolean false Set to true to prevent sending any osc message when releasing the button

osc

split

boolean|
string
false true: the widget's index will be appended to the matrice's osc address

false: it will be prepended to the widget's preArgs

string: will be used to define the widgets' addresses, replacing dollar signs ($) with their respective index (to insert the actual dollar sign, it must be escaped with a backslash (\$))

keyboard

property type default description

style

css

string "" Available CSS variables:
- --color-white:color; (white keys color)
- --color-black:color; (black keys color)

matrix

keys

number 25 Defines the number keys

start

number 48 MIDI note number to start with (default is C4)

Standard keyboards settings are: [25, 48], [49, 36], [61, 36], [88, 21]

traversing

boolean true Set to false to disable traversing gestures

on

* 1 Set to null to send send no argument in the osc message

Can be an object if the type needs to be specified (see preArgs)

off

* 0 Set to null to send send no argument in the osc message

Can be an object if the type needs to be specified (see preArgs)

osc

split

boolean|
string
false true: the widget's index will be appended to the matrice's osc address

false: it will be prepended to the widget's preArgs

string: will be used to define the widgets' addresses, replacing dollar signs ($) with their respective index (to insert the actual dollar sign, it must be escaped with a backslash (\$))

Plots

plot

property type default description

plot

rangeX

object {
 "min": 0,
 "max": 1
}
Defines the min and max values for the x axis

rangeY

object {
 "min": 0,
 "max": 1
}
Defines the min and max values for the y axis

logScaleX

boolean false Set to true to use logarithmic scale for the x axis (log10)

logScaleY

boolean false Set to true to use logarithmic scale for the y axis (log10)

origin

number "auto" Defines the y axis origin. Set to false to disable it.

dots

boolean true

bars

boolean false Set to true to use draw bars instead (disables logScaleX and forces x axis even spacing)

smooth

boolean|
number
false Set to true to make the line smooth. Float values are also acceptable (works fine between 0 and 0.5)

pips

boolean true Set to false to hide the scale

value

value

array|
string
"" - Array of y values
- Array of [x, y] array values
- String array
- String object to update specific coordinates only: {0:1, 4:0} will change the 1st and 5th points' coordinates

eq

property type default description

eq

pips

boolean true Set to false to hide the scale

resolution

number 128 Defines the number of points used to compute the frequency response

rangeY

object {
 "min": 0,
 "max": 1
}
Defines the min and max values for the y axis

origin

number|
boolean
"auto" Defines the y axis origin. Set to false to disable it

logScaleX

boolean false Set to true to use logarithmic scale for the x axis (log10)

smooth

boolean|
number
false Set to true to make the line smooth. Float values are also acceptable (works fine between 0 and 0.5)

visualizer

property type default description

visualizer

duration

number 1 Defines visualization duration in seconds

range

object {
 "min": 0,
 "max": 1
}
Defines the min and max values for the y axis

origin

number "auto" Defines the y axis origin. Set to false to disable it

logScale

boolean false Set to true to use logarithmic scale for the y axis

smooth

boolean|
number
false Set to true to make the line smooth. Float values are also acceptable (works fine between 0 and 0.5)

pips

boolean true Set to false to hide the scale

led

property type default description

led

range

object {
 "min": 0,
 "max": 1
}
Value to led intensity mapping range

logScale

boolean false Set to true to use a logarithmic mapping scale)

rgbled

property type default description

value

value

array|
string
"" - Array: [r, g, b] (r, g and b between 0 and 255)
- Array: [r, g, b, alpha] (alpha between 0 and 255)
- String: CSS color

meter

property type default description

style

css

string "" Available CSS variables:
- --color-gauge: color;
- --color-knob: color;
- --color-pips: color;
- --gauge-opacity: number;

fader

horizontal

boolean false Set to true to display the fader horizontally

alignRight

boolean false Set to true to invert the pip's and fader's position

pips

boolean true Set to false to hide the scale

input

boolean true Set to false to hide the built-in input

meter

boolean false Set to true to display a vu-meter next in the fader
- the meter's id will be the same as the widget's with /meter appended to it
- the meter's id will be the same as the widget's with /meter appended to it

compact

boolean false Set to true to display a compact alternative for the widget. Disables default mouse/touch focusing on the value display.

dashed

boolean false Set to true to display a dashed gauge

snap

boolean false By default, dragging the widget will modify it's value starting from its last value. Setting this to true will make it snap directly to the mouse/touch position

spring

boolean false When set to true, the widget will go back to its default value when released

doubleTap

boolean false Set to true to make the fader reset to its default value when receiving a double tap.

Can also be an osc address, in which case the widget will just send an osc message (/<doubleTap> <preArgs>)

range

object {
 "min": 0,
 "max": 1
}
Defines the breakpoints of the fader's scale:
- keys can be percentages and/or min / max
- values can be number or object if a custom label is needed

Example: ({min:{"-inf": 0}, "50%": 0.25, max: {"+inf": 1}})

logScale

boolean false Set to true to use logarithmic scale for the y axis

unit

string "" Unit will be appended to the displayed widget's value (it doesn't affect osc messages)

origin

number "auto" Defines the starting point's value of the fader's gauge

osc

touchAddress

string "" OSC address for touched state messages: /touchAddress [preArgs] 0/1

meterAddress

string "" OSC address for the built-in meter

text

property type default description

text

vertical

boolean false Set to true to display the text vertically

wrap

boolean false Set to true to wrap long lines automatically.

This will not break overflowing words by default, word-breaking can be enabled by adding word-break: break-all; to the css property

align

string "" Set to left or right to change text alignment (otherwise center)

image

property type default description

image

size

string "cover" CSS background-size

position

string "center" CSS background-position

repeat

string "no-repear" CSS background-repeat

border

boolean true Set to false to disable the borders and background-color

cache

boolean true Set to false to disable image caching (forces file reload when updating or editing the widget).

When true, sending reload to the widget reloads its image without changing its value

value

value

string "" - File url or absolute path
- Base64 encoded image : data:image/...

svg

property type default description

svg

svg

string "" Svg xml definition:
- will be wrapped in a <svg></svg> element
- <path> commands support a special percent notation (%x and %y)

frame

property type default description

style

label

string|
boolean
"auto" Set to false to hide completely

Insert icons using the prefix ^ followed by the icon's name : ^play, ^pause, etc

If set to false, all pointer-events will be disabled on the frame as long as the editor is enabled to ensure it can be selected

frame

border

boolean true Set to false to disable the borders and background-color

value

value

string "" External web page URL. Only local URLs are allowed (starting with http://127.0.0.1/, http://10.x.x.x/, http://192.168.x.x/, etc)

Containers

panel

property type default description

panel

scroll

boolean true Set to false to disable scrollbars

border

boolean true By default, widgets in panels/strip have their border disabled, except for panels and strips. Set to false to apply this rule to the panel too

value

value

integer "" Defines currently opened tab in the widget

A tab can be opened only by setting its parent's value

children

variables

* "@{parent.variables}" Defines one or more arbitrary variables that can be inherited by children widgets

widgets

array [] Each element of the array must be a widget object. A panel cannot contain widgets and tabs simultaneously.

tabs

array [] Each element of the array must be a tab object. A panel cannot contain widgets and tabs simultaneously

strip

property type default description

strip

scroll

boolean true Set to false to disable scrollbars

horizontal

boolean false Set to true to display widgets horizontally

stretch

boolean true Set to true to stretch widgets evenly

border

boolean true By default, widgets in panels/strip have their border disabled, except for panels and strips. Set to false to apply this rule to the panel too

spacing

integer|
percentage
0 Adds space between widgets. Percents are always relative to the strips width

children

variables

* "@{parent.variables}" Defines one or more arbitrary variables that can be inherited by children widgets

widgets

array [] Each element of the array must be a widget object
- By default, children widgets that don't have an explicit width/height set will be shrinked to respect the sizes specified by others
- Adding flex:1; to a children's css will give it the ability the fill the remaining space
- Multiple children can have a flex:x; css property (x will ponderate their expansion)
property type default description
boolean false Set to true to make the modal require a double tap to open instead of a single tap
string "" Alternative label for the modal popup
number|
percentage
"80%" Modal popup's size
number|
percentage
"80%" Modal popup's size
number|
percentage
"auto" Modal popup's position
number|
percentage
"auto" Modal popup's position
integer "" Defines the modal's state:0 for closed, 1 for opened
* "@{parent.variables}" Defines one or more arbitrary variables that can be inherited by children widgets
array [] Each element of the array must be a widget object

clone

property type default description

clone

widgetId

string "" id of the widget to clone

overrides

props

object {} Cloned widget's properties to override

Switchers

switcher

property type default description

switcher

linkedWidgets

string|
array
"" - String: a widget's id whose state changes will be stored
- Array: a list of widget id string

horizontal

boolean false Set to true to display values horizontally

values

array|
object
{
 "Value 1": 1,
 "Value 2": 2
}
Each item represents a bank that stores the values from the widgets listed in linkedWidgets
- Array of possible values to switch between : [1,2,3]
- Object of "label":value pairs. Numeric labels must be prepended or appended with a white space (or any other non-numeric character) otherwise the order of the values won't be kept

crossfader

property type default description

crossfader

linkedWidgets

string|
array
"" - String: a widget's id whose state changes will be stored
- Array: a list of widget id string

horizontal

boolean false Set to true to display values horizontally

Inputs

input

property type default description

input

vertical

boolean false Set to true to display the text vertically

align

string "" Set to left or right to change text alignment (otherwise center)

unit

string "" Unit will be appended to the displayed widget's value (it doesn't affect osc messages)

editable

boolean true Set to false to make the input non-editable

keys

property type default description

keys

binding

string|
array
"" Key combo string or array of strings (see KeyboardJS documentation)

keydown

string "" This property is evaluated each time the key combo is pressed. Formulas are given extras variables in this context:
- key: pressed key name (usefull for handling multiple keys with a single keys widget)
- ctrl: control key state
- alt: alt key state
- shift: shift key state
- super: command/windows key state

keyup

string "" Same as keydown, but evaluated when releasing the key combo

repeat

boolean true Set to false to prevent keydown repeats when holding the key combo pressed

script

property type default description

script

condition

string 1 When the widget receives a value, if this property return a falsy value, the script property won't be evaluated. If it's non-falsy, it will be evaluated normally. Formulas are given one extra variable in this context:
- value: the value received by the widget

script

string "" This property is evaluated each time the widget receives a value if condition is non-falsy. Formulas are given extras variables in this context:
- value: the value received by the widget
- send(target, address, arg1, arg2, ...): function for sending osc messages (ignores the script's targets and the server's defaults unless target is false; ignores the script's preArgs)
- set(id, value): function for setting a widget's value

gyroscope

property type default description

gyroscope

frequency

number 30 Value update frequency (updates per seconds)

normalize

boolean true Normalize gravity related values

compass

boolean false Set to true to return the orientation values with respect to the actual north direction of the world instead of the head direction of the device

screenAdjusted

boolean false Set to true to return screen adjusted values

value

value

object "" The gyroscope's value is an object containing multiple values, which can be used by other widgets via the property maths syntax
- value.do.alpha: deviceorientation event alpha
- value.do.beta: deviceorientation event beta
- value.do.gamma: deviceorientation event gamma
- value.do.absolute: deviceorientation event absolute
- value.dm.x: devicemotion event acceleration x
- value.dm.y: devicemotion event acceleration y
- value.dm.z: devicemotion event acceleration z
- value.dm.gx: devicemotion event accelerationIncludingGravity x
- value.dm.gy: devicemotion event accelerationIncludingGravity y
- value.dm.gz: devicemotion event accelerationIncludingGravity z
- value.dm.alpha: devicemotion event rotationRate alpha
- value.dm.beta: devicemotion event rotationRate beta
- value.dm.gamma: devicemotion event rotationRate gamma