Mapping and sequencing a show in VPT
Learning objectives
- learner can get media onto mapped layers through VPT's source-activate-then-assign workflow across its three windows
- learner can mask, mix and transform layers and drive parameters with LFOs and audio triggers
- learner can snapshot state as presets and sequence a whole show with the cuelist and OSC
Capstone — one whole task that evidences the objectives
Build and run a complete VPT show for a mapped surface: configure prefs.txt startup, activate sources onto masked layers, add an LFO and a SoundTrigger-driven audio-reactive parameter, save a preset sequence, and script a cuelist that advances the piece — verifying OSC loopreport sync to an external tool.
Prerequisite modules
This module turns projection-mapping skill into a runnable show. The setting is a real gig: a sculptural surface or architectural facade, one projector on an extended display, an audio set playing alongside, and you as the sole operator — or no operator at all, for an installation that must boot into its opening state from prefs.txt and run unattended. VPT is the free workhorse for exactly this rig, and the whole task is to take it from empty project to a self-advancing, audio-reactive piece.
The arc starts supported. First you internalise the geography — which of the three windows edits, previews, and feeds the projector — and drill the two-step activate-then-assign move until routing any clip to any layer is reflexive. Next you shape the picture: draw a polygon mask in the mask editor, crop and reposition textures with tile and zoom, and pre-composite two feeds with the mix module. Then motion is delegated: the router’s controller-number mapping is the hinge that lets an LFO breathe a parameter and the SoundTrigger app push audio level into the visuals. Only then do you leave manual control behind — snapshot looks as state presets, and script the cuelist’s one-letter commands so fades, delays, and loops carry the piece on their own.
The required atoms are exactly what the capstone gates on: you cannot script the show without the cuelist grammar, address anything over OSC without the hierarchical path scheme, or verify external sync without loopreport events. Supporting atoms widen the rig — live camera capture, Video Trigger motion zones, Syphon/Spout hand-offs, Arduino serial bridges, and craft principles like solid-resolution mask quality — enrichments you will reach for on later shows, not prerequisites for this one.
Runnable examples
Generated from the context/ instrument corpus by concept (redistributable idioms only). Do not edit — regenerate with gen-module-examples.mjs.
oscillation
let y = height/2 + sin(frameCount * 0.05) * 100
p5live-0004 · CC0-1.0
float rings = abs(sin(length(uv)*20.0 - u_time*2.0));
glsl-0039 · public-domain
solid-fill
[0.1, 0.1, 0.2] >> rgb
punctual-0017 · CC0-1.0
solid(0.1, 0.1, 0.2).out()
hydra-0171 · MIT
Atoms in this module
Required — these gate the capstone
Supporting — enrichment, not gating
Part of curricula
- VJ — visual performance with projection, light & video — Map, light & wire the room required