LayerJogWheel

Read with AI
All docs in one file (llms-full.txt)
LayerJogWheel #Layer #Node

Takes the output of Jog Wheel and uses it to jog the playback of the selected layer. The basic wiring is to plug Delta / Ring Delta / Touch straight in. Even without a controller, you can do the same thing by dragging the wheel on the node sideways (also works when placed in the WidgetPanel’s Node View).

Three states

StateWhenBehavior
ScratchWhile touching the top surfaceStops playback, and moves the playback position by the amount turned. One revolution advances Sec/Rev seconds’ worth. At the ends it wraps around to the other side
CoastAfter releasingIf the controller is still sending rotation signals, follows them; once they stop, ramps back toward the original playback speed over Ramp seconds, resuming playback once they match. Throw it and it coasts on in the direction you threw it; throw it the other way and it winds back while returning
NudgeWhile not touchingMultiplies the ring’s (and, while not touched, the top surface’s) rotation speed by Nudge and adds it on top of the playback speed. Returns to the original speed when you stop your hand
  • If the speed at the moment you release is small, no coast is generated and it returns to playback right away
  • Touching again during coast returns to scratch
  • If the speed is changed by something like LayerSpeed during a nudge, that value becomes the new baseline
  • If playback was not running before you started a scratch, releasing does not start playback
  • Right after resuming playback it seeks once to the current position, to re-align audio and video

Ports

PortContents
Layer (input)The target layer. Connecting it from Layer Select disables the node’s dropdown while connected, so the wiring takes priority
Delta (input)The platter’s rotation amount (revolutions). Plug in Jog Wheel’s Delta
Ring (input)The ring’s rotation amount (revolutions). Plug in Jog Wheel’s Ring Delta
Touch (input)Whether the top surface is being touched. Plug in Jog Wheel’s Touch
Position (output)The target layer’s playback position (0–1). 0 when nothing is selected

Parameters

  • Sec/Rev (default 1.8) — how many seconds of playback one wheel revolution equals. 1.8 seconds matches one revolution of a record at 33⅓rpm
  • Nudge (default 0.5) — how strongly nudging acts. The multiplier applied to rotation speed when adding it to playback speed
  • Ramp (default 0.3) — the time constant (seconds) for coast to return to the original speed. Lengthening it stretches out the coast

Target layer

Chosen via the node’s dropdown (None at the top), the Layer input port, or the layer specification from WidgetPanel / MIDI / OSC. Group layers cannot be targeted (selecting one leaves it unselected). Deleting the target layer returns it to unselected, and Position becomes 0.

Video

Input ports

Port IDType
LayerLayerRef
Deltafloat
RingDeltafloat
Touchbool

Output ports

Port IDType
Positionfloat

Scriptable members

PathType
deltaInputfloat
ringInputfloat
touchInputbool
secondsPerRevfloat
nudgeGainfloat
rampSecondsfloat

Synapse Apps (scripting)

await synapse.modules.create({ type: "LayerJogWheel" })

Pages linking here

Also referenced from