joystick

joystick · utility · schema v1

Manual XY controller emitting four bipolar CV outputs. Drag a virtual stick inside a square pad: center = (0, 0), the corners reach (±1, ±1). Outputs the raw X and Y plus their inversions (nx = −x, ny = −y) so you can drive quadrature or mirrored modulation from one hand without copying and inverting downstream. The card snaps back to center on pointer-up; at the audio layer the module is pure — whatever the position params say is what comes out (four ConstantSourceNodes).

A manual XY controller: drag the stick anywhere inside the square pad and its position comes out as four bipolar CV signals. The pad's center is (0, 0) and the four corners reach (±1, ±1); dragging UP gives +Y (screen-y is flipped so 'up' reads positive). Two raw outputs (X, Y) plus two pre-inverted outputs (NX = −X, NY = −Y) let you drive mirrored or quadrature modulation from one hand without wiring an external inverter. Mental model: a hands-on two-axis modulation source — sweep filter cutoff and resonance together, pan a sound while changing its tone, or steer a video param. On pointer-release the stick snaps back to center (both axes to 0); the position is stored in the patch like any knob, so it survives a reload.

the faceplate

joystickxcvycvnxcvnycvaudiocvgatepitch
0 inputs · 4 outputs · 2 params

outputs

idcablewhat it does
xcvThe stick's horizontal position as bipolar CV, −1 at the left edge through 0 at center to +1 at the right edge.
control voltage (CV)
ycvThe stick's vertical position as bipolar CV, −1 at the bottom through 0 at center to +1 at the top (the axis is flipped so dragging up reads positive).
control voltage (CV)
nxcvThe inverted X output (−X): +1 when the stick is at the left edge, −1 at the right — the mirror image of the X output, for driving two things in opposition from one axis.
control voltage (CV)
nycvThe inverted Y output (−Y): +1 at the bottom, −1 at the top — the mirror image of the Y output.
control voltage (CV)

params

idlabelrangedefaultcurve
pos_xX-1..10linear
pos_yY-1..10linear

controls

controlwhat it does
XThe stick's stored X position in the −1..+1 range, written by dragging the pad (and snapped back to 0 on release). It is the persisted value behind the X / NX outputs; it survives a patch reload.
YThe stick's stored Y position in the −1..+1 range, written by dragging the pad (and snapped back to 0 on release). It is the persisted value behind the Y / NY outputs.

source

joystick.ts on GitHub.

Generated from packages/web/src/lib/{audio,video}/module-registry.ts · repo