Skip to content

Performer widgets

Every front-panel widget kind, what it renders, what it binds to, and the inspector knobs that shape it.

All widgets share these inspector fields:

  • Name, script identifier (widget(name)). Must be unique per project; can be blank for non-scripted widgets.
  • Label, user-visible text drawn on / next to the control. Can repeat ("GAIN" on every strip).
  • Size, small / medium / large preset, or free-resize via the corner handle in edit mode.
  • Color, accent color for the widget's active state.
  • Locked, mouse / touch input ignored; MIDI bindings still drive it.

Continuous widgets

WidgetUseDefault sizeConstraint
SwKnobRotary, any continuous parametersmall (2×2)square
SwFaderConsole-style throwsmall (2×8 tall)tall
SwExpressionPedalFoot rockersmall (4×10 tall)tall
SwSustainPedalSustain on/off (boolean but rendered like a pedal)small (4×10 tall)tall
SwDrawbarOrgan drawbar with 9 detentssmall (2×8 tall)tall

All accept the per-control scaling curve (linear / log / exp / s-curve) and anti-misclick drag threshold.

Boolean widgets

WidgetUseDefault sizeConstraint
SwButtonMomentarysmall (2×2)square
SwToggleLatching lever, optional on/off iconssmall (2×2)square
SwLedRead-only state lampsmall (2×2)square
SwLedButtonLatching button with embedded LEDsmall (2×2)square
SwPadVelocity-sensitive square pad (MPC-style)small (2×2)square

Iconic toggles: set iconOn / iconOff in the inspector to any Phosphor icon name. The lever visual is replaced with the icon; on / off uses opacity to differentiate.

Radio groups: assign a radioGroupId. Members can only be turned ON by activating one; clicking the currently-on widget is a no-op.

Display widgets

WidgetUseDefault sizeReads from
SwMeterDigital level metersmall (2×4 tall)bound parameter
SwBargraphBar-style level metersmall (2×4 tall)parameter OR mixer-peak binding
SwVuMeterAnalog VU needlesmall (8×4)parameter OR mixer-peak binding
SwTunerNote glyph + cents needlesmall (8×4)tuner-node binding
SwMetronomePlay / BPM / beat dotssmall (10×4)metronome-node binding

Mixer-peak bindings (SwBargraph / SwVuMeter): pick the mixer

  • strip + L/R side. Reads live from the engine's post-fader peak stream every 16 Hz. Read-only (peaks aren't user-settable).

Layout widgets

WidgetUseDefault sizeNotes
SwLabelFree-form text labelsmall (2×2, free shape)Drives the widget's label field as standalone text
SwPanelVisual grouping rectanglesmall (4×4, free shape)Border + background colours configurable

Use Panel to colour-code regions of your front panel (a green "Guitar" panel, a navy "Piano" panel). Labels for static text that doesn't drive anything, song name, scene number, FOH comms.

Binding overview

Every widget (except SwLabel and SwPanel) supports one of these binding kinds, set in the Connectivity panel of the inspector:

KindCompatible widgetsWhat it does
plugin-paramknob, fader, toggle, button, led-button, padReads / writes a single plugin parameter
plugin-bypasstoggle, button, led-buttonFlips a plugin's bypass (toggle ON = plugin active)
plugin-peakbargraph, vumeterReads a Channel Mixer strip's post-fader peak (read-only)
tuner-nodetunerMirrors a back-canvas Tuner card's reading
metronome-nodemetronomeMirrors a back-canvas Metronome card's state
(unbound)anyScript-only state, widget('NAME').set(...) writes, mouse / hardware MIDI updates the local value

Inspector niceties

  • Tooltips on every inspector field explain what the field does, in performance-distance copy.
  • Strip backgrounds (graphite / navy / forest / crimson / ochre / plum) for colour-coding rows of strips.
  • Per-control feedback chip shows current value next to the widget (toggle in the inspector). dBFS for meters, percent for knobs, "+3¢" for tuner cents-off.

See Bindings for the binding picker UI and Scripting → Widgets API for the script side.

Proprietary software, used under the Stagewright Software Licence.