Skip to content

Automation Mapper

The Automation Mapper maps MIDI CC numbers to automation parameters. It works with both MIDI hardware controllers and OSC devices (like TouchOSC on an iPad).

Open it from Settings > Automation.

Internally, all automation values are stored as normalized floats in the range -1.0 to +1.0. This keeps the engine fast and makes automation composable — LFOs, offsets, and shakes all operate in the same normalized space.

The mapper converts between normalized values and real-world units using a simple linear formula:

output = input * a + b

Where input is the normalized value (-1.0 to +1.0), and a (scale) and b (offset) define the real-world range.

Each row in the mapper has:

ColumnDescription
CCMIDI CC number (0-127). This is what your hardware sends.
ParameterThe automation parameter ID (e.g., scene3d.azimuth).
x aScale factor. Multiplied by the normalized input.
+ bOffset. Added after scaling.
RangeComputed output range (read-only). Shows the resulting min..max.
UnitDisplay unit for the UI (e.g., deg, %, px).
LabelHuman-readable name shown in automation lanes.
ParameterabRangeUnitExplanation
Azimuth1800-180..180degFull 360-degree orbit
Elevation890-89..89degNearly vertical tilt
Distance9.9510.050.1..20Camera distance from target
Focal Length89901..179degLens field of view
Opacity50500..100%Fully transparent to fully opaque

Think of a as “how wide the range is” (half the total span) and b as “where the center is”:

  • a = 180, b = 0 — centered at 0, spans -180 to +180
  • a = 89, b = 90 — centered at 90, spans 1 to 179
  • a = 50, b = 50 — centered at 50, spans 0 to 100
Hardware fader (0-127)
-> normalize to -1.0..+1.0
-> store in automation lane (normalized)
-> on playback: scale by a/b to real units
-> apply to layer/parameter

The normalization and recording happen at CC input time. The scaling to real units happens at playback time, in the compositor render loop.

  1. Click + Add to create a new row
  2. Set the CC number to match your hardware controller
  3. Enter the Parameter ID (see parameter reference below)
  4. Set a and b to define the output range
  5. Optionally set Unit and Label for display

Click the x button on the right side of any row to remove it.

Plinken ships with default mappings for the 3D camera on CC 40-51:

CCParameterLabel
40scene3d.orbit_target_xOrbit Target X
41scene3d.orbit_target_yOrbit Target Y
42scene3d.orbit_target_zOrbit Target Z
43scene3d.distanceDistance
44scene3d.azimuthAzimuth
45scene3d.elevationElevation
46scene3d.focal_lengthFocal Length
47scene3d.focus_distanceFocus Distance
48scene3d.look_target_xLook Target X
49scene3d.look_target_yLook Target Y
50scene3d.look_target_zLook Target Z
51scene3d.follow_deadzoneFollow Deadzone
ParameterDescription
transform.xHorizontal position
transform.yVertical position
transform.scale_xHorizontal scale
transform.scale_yVertical scale
transform.rotationRotation angle
transform.anchor_xAnchor point X
transform.anchor_yAnchor point Y
transform.content_zoomContent zoom level
transform.content_xContent pan X
transform.content_yContent pan Y
ParameterDescription
opacityLayer opacity (0-1)
ParameterDescription
mask.xMask position X
mask.yMask position Y
mask.widthMask width
mask.heightMask height
mask.corner_radiusRounded corner radius
mask.featherEdge feather amount
mask.rxEllipse radius X
mask.ryEllipse radius Y
ParameterDescription
scene3d.orbit_target_xCamera orbit center X
scene3d.orbit_target_yCamera orbit center Y
scene3d.orbit_target_zCamera orbit center Z
scene3d.distanceDistance from orbit target
scene3d.azimuthHorizontal orbit angle (degrees)
scene3d.elevationVertical orbit angle (degrees)
scene3d.focal_lengthLens focal length / FOV (degrees)
scene3d.focus_distanceDepth of field focus distance
scene3d.look_target_xLook-at target X
scene3d.look_target_yLook-at target Y
scene3d.look_target_zLook-at target Z
scene3d.follow_deadzoneFollow deadzone radius

The Automation Mapper works seamlessly with OSC. OSC messages are converted to MIDI CC events before entering the mapper. Configure OSC address-to-CC mappings in Settings > OSC, then set up the parameter scaling here in the Automation Mapper.