CV control of a physical PTZ camera (NexiGo P610, Logitech PTZ Pro 2) — pan/tilt/zoom knobs plus matching CV inputs, sent as MIDI sysex to the native PT-PTZ helper (tools/pt-ptz), which drives the cameras over USB (one MIDI pair and one module per camera). Each axis follows the mode the camera reports in the bind handshake: absolute axes take normalized positions, velocity axes take signed rates with a watchdog-guarded stop; sends are coalesced to ~10 Hz. Carries no audio or video — the camera picture arrives through a normal camera input.
Drives a physical PTZ camera from the patch. It sends MIDI sysex to the PT-PTZ helper app running on the same machine, which translates into USB camera control — the camera physically pans, tilts and zooms. The helper exposes one MIDI pair per connected camera (PT-PTZ-…); the card picks which camera this module drives, so two modules can run two cameras. The module carries no audio or video of its own — the camera's picture reaches the rack through a normal camera input. Each axis follows what the camera itself reports in the bind handshake: an ABSOLUTE axis (NexiGo P610 pan/tilt/zoom, Logitech zoom) treats knob+CV as a position, ±1 spanning the full mechanical range; a VELOCITY axis (Logitech PTZ Pro 2 pan/tilt) treats knob+CV as a rate — sign is direction, zero (with a small deadzone) stops, and the helper halts motion by itself if the app ever stops streaming, so a dropped page cannot leave the camera panning. PAN, TILT and ZOOM knobs are the base value; the matching CV inputs ADD to the knob, so with knobs at default a patched LFO or joystick IS the position (or rate) and the knobs become stage trim. SLEW rate-limits absolute-axis motion (1 = instant); velocity axes ignore it — a commanded stop must never be slewed. Sends are coalesced to ~10 per second.
the faceplate
3 inputs · 0 outputs · 4 params
inputs
id
cable
what it does
pan_cv
cv
Pan CV, ±1, added to the PAN knob. On an absolute-axis camera the sum is the pan position; on a velocity-axis camera it is the pan rate (sign = direction, near-zero = stop).
control voltage (CV)
tilt_cv
cv
Tilt CV, ±1, added to the TILT knob. Position on an absolute axis, rate on a velocity axis.
control voltage (CV)
zoom_cv
cv
Zoom CV, added to the ZOOM knob; the summed 0..1 spans wide to full telephoto.
control voltage (CV)
params
id
label
range
default
curve
pan
pan
-1..1
0
linear
tilt
tilt
-1..1
0
linear
zoom
zoom
0..1
0
linear
slew
slew
0..1
0.3
linear
controls
control
what it does
pan
Base pan, ±1. Position on an absolute-axis camera, rate on a velocity-axis one. CV on pan_cv adds to it.
slew
Rate limit on absolute-axis motion, fractions of full range per second on a square curve; 1 is instant. Velocity axes ignore it.
tilt
Base tilt, ±1. Position on an absolute axis, rate on a velocity axis. CV on tilt_cv adds to it.
zoom
Base zoom, 0 wide to 1 full telephoto. CV on zoom_cv adds to it.