‹ Plugin Player docs

The controller

0. Plug in your controller

Xbox, PlayStation and 8BitDo Micro controllers work the moment they are connected. Plug it in with a USB cable that carries data (or pair it over Bluetooth: CONTROLS → CONNECT A CONTROLLER walks you through it; on Windows, Plugin Player can pair an 8BitDo Micro or a PlayStation controller for you, and on a Mac you pair in System Settings → Bluetooth; CONNECT_A_CONTROLLER.md), press any button, and every scene reacts. You do not set anything up.

The buttons are the same job on every controller, in the same spot. A scene that says "A: random look" means the button on the right of the four, whatever your controller prints there:

What Plugin Player calls it8BitDo MicroXboxPlayStation
A (right button: the scene's main move)AB○
B (bottom button)BA✕
X (top button)XY△
Y (left button)YX□
L / R (the scene's own moves)L / RLB / RBL1 / R1
L2 (tap: next scene · double-tap: back, keep tapping to go further back · hold + ◀ ▶: choose a scene)L2LTL2
R2 (tap: next favorite preset · double-tap: previous preset, keep tapping to go further back · hold + ◀ ▶: choose a preset)R2RTR2
+ (camera IN · hold: next tab)+MenuOptions
− (camera OUT · hold: MAP)−ViewCreate (Share on a PS4 controller)
⊡ extra scene button (tap: next scene · hold: previous)⊡ checkerednone (LT does it)touchpad click or R3 (click the right stick)
D-padD-padD-padD-pad

The legends, the footer bar and the CONTROLS table always print your controller's own symbols, so you never translate in your head. The right stick moves the camera in a few scenes (see below); the Xbox guide button and the PlayStation PS button are left to the operating system.

Wrong picture? Some controllers look like another to the computer (an 8BitDo switched to X mode shows up as an Xbox controller). Open CONTROLS and pick yours in the CONTROLLER dropdown: Auto (what was found) · 8BitDo Micro · Xbox · PlayStation · Other (standard). Plugin Player remembers your choice. Pick Auto to go back.

Other controllers. Most USB and Bluetooth game controllers that the computer treats as a standard gamepad work too; they get a plain plate with L1 / R1 / SELECT / START. Want yours drawn and named properly? The line under the dropdown says Want your controller added? Tell us.

The 8BitDo Micro

Plugin Player was designed on the 8BitDo Micro. It is small, Bluetooth, about $25, and every button on it has one job. The rest of this page is written for it; on another controller, read the table above for the names.

Buy: [buy link]

1. The one rule

Slide the mode switch to D before you pair. In D the Micro is a gamepad and Plugin Player sees it. In K it is a keyboard and in S it is a Switch controller; in both it shows CONTROLLER NONE forever, even though Windows says Connected.

2. Pair it

In Plugin Player: CONTROLS → CONNECT A CONTROLLER → 8BitDo Micro. On paper: CONNECT_A_CONTROLLER.md (every controller), and PAIRING_8BITDO.md. It is step-numbered and lists what Windows shows at each step and what every failure looks like.

The short form on Windows: switch to D, hold PAIR (the small button on the bottom edge) for 3 seconds, wait — with Plugin Player open. The CONTROLLER card goes CONTROLLER LOST → PAIRING… → CONTROLLER READY; press any button and the controller name appears (Windows hands a controller to an app only after its first button press). On a Mac, switch to D and hold PAIR, then choose 8BitDo Micro gamepad in System Settings → Bluetooth and click Connect.

3. What every button does (every scene, every screen)

One press, one action. The triggers move you around; every other button plays the scene.

Button on the MicroWhat it does
L2Tap: next scene in tonight's show. Hold L2 and press ◀ ▶: choose — each press steps one scene back or on. A small SCENE 2/4 · CORRIDOR PANELS note shows on your laptop screen, never on the projector. With an empty show it walks the whole library. Double-tap L2: back to where you were: left a scene by accident? Two quick taps bring it straight back, on the same preset, with the same settings (and the exact picture if you left it less than 10 seconds ago). A double-tap goes one scene back (the note says ◀ BACK · SCENE 2/4 · …); double-tap again for one more, as far back as you like. A single tap always goes forward, even right after a double-tap
R2Tap: next favorite preset of the playing scene. Double-tap: the previous preset (two quick taps, like L2's double-tap back), and double-tap again for one more; a single tap is always the next preset. Hold R2 and press ◀ ▶: choose a preset back or on. Hold R2 and press ▲: save the preset (see §5). Hold R2, hold L1 and press ◀ ▶: move the playing preset one place earlier / later in the order R2 walks (see §5)
⊡ checkered (capture)Also scenes: tap: next, hold half a second: previous
D-pad, A, B, X, Y, L, RThe playing scene's moves. The legend at the bottom says what each one does in this scene (§4). If a scene leaves X, B or Y free, they step through every preset (X next, B previous) and Y resets the preset
+ (plus)Tap: camera IN. Your live camera fades into the scene in half a second; the scene never stops. Double-tap: ANONYMOUS MODE on / off (every camera picture through a style; while it is on, a tap = the next style; see CAMERA.md). In the effect channel, + turns the effect on. Hold a second: next tab — PERFORM → MAP → CONTROLS → PERFORM
− (minus)Tap: camera OUT. The camera fades out of the scene and the scene keeps going on black (or the test pattern: ⧉ INPUT ▾ → CAMERA OFF SHOWS). Once you have used a camera or taken the demo clip off, the demo never comes back by itself; ⧉ INPUT → DEMO CLIP brings it back. On the demo clip, − takes it off. In the effect channel, − turns the effect off. The camera itself stays on, so + is instant; ⧉ INPUT → TURN CAMERA OFF turns it off. Hold a second: the MAP tab (corners on the wall; see MAPPING.md)
★ starDoes nothing in D mode. The hardware never sends it. The plate draws it so the picture matches your controller

Music (L2 + ▲ ▼): hold L2 and press ▲ on every beat = TAP TEMPO (4 taps; one tap after a pause = this is the ONE). Hold L2 + ▼ = AUDIO ON / OFF. Keyboard: T / Shift+T. See AUDIO.md.

Blackout (L2 + R2 + ▼): a song ends and you want the stage dark, not a transition? Hold L2 and R2, then hold ▼ for one second. A ring fills around the word BLACKOUT on your laptop screen while you hold (KEEP HOLDING ▼); let go early and nothing happens. When it fills, the projector, the Spout / Syphon feed and the recording fade to black in about a second and stay black until you do it again (the ring then says BACK ON). The scene keeps playing underneath, music reaction too, so it comes back in time. While it is on, a big BLACKOUT sits on your laptop's picture (which stays visible, dimmed, so you can pick the next scene or preset in the dark) and the BLACKOUT button in the top bar is lit. Changing scenes and RESET SCENE leave it on. Also: the BLACKOUT button next to ⧉ OUTPUT, keyboard B, MIDI / OSC /pp/blackout (MIDI_OSC.md). Same move on every controller and in both channels (scene and fluid).

While you hold L2 or R2, the d-pad belongs to the trigger: the scene does not also react to those arrow presses. Let go of the trigger after choosing and nothing else happens (only a clean tap jumps to the next one).

To pick a scene from the library by sight, use the mouse or the arrow keys and Enter (§7).

3b. The effect layer (a second channel on the centre button)

Press the centre button of your controller to switch the face buttons from the scene to the effect layer, a fluid you lay over whatever is playing. Press it again to get the scene back. The fluid stays on (or off) when you switch back.

4. Per-scene moves: the legend at the bottom changes with the scene

Each scene uses the d-pad, A, B, X, Y, L, R its own way while it is playing. L2, R2, ⊡, −, + never change. The moment another scene plays, its own moves take over.

You do not have to remember any of it. The footer bar and the CONTROLLER card show the legend for the scene that is playing, and it changes when the scene changes.

Example, Cube Bloom (what the legend reads while it plays):

ButtonWhat it does
ARANDOM LOOK (in both modes)
BGrouped cubes: SPIN · fly-through: BARREL ROLL, smooth in and out (hold to keep rolling; let go and it eases to a stop), or FLIP THE CUBES when Y has switched it to cubes
XCLONER ↔ FLY-THROUGH
YGrouped cubes: SPIN each cube ↔ the whole block · fly-through: what B does, CAMERA ROLL ↔ CUBES (every cube turns on its own while you fly). Double-tap Y in the fly-through: one barrel roll the other way, right away; the next B rolls the normal way again
D-pad ▲ / ▼FASTER / SLOWER (the speed shows over the picture as it changes: SPEED 64 %). Hold to ride: keep it held and the speed keeps going, about ten steps a second, until you let go
D-pad ◀ / ▶LESS GLOW / MORE GLOW (the cubes' glowing edges; it stays as you change presets, until you change scene: GLOW 1.40×). Overall brightness is LIGHT: L / K on the keyboard
RINVERT (the dice looks; press again to swap back)
LFACES: YOUR VIDEO → MIX → THE PRESET'S OWN. Cube Bloom starts with symbols on the cubes (each preset's own faces); press L1 to put your camera or video (the camera, or the demo clip when the camera is off) on the cube faces of every preset, again to mix it with the preset's sprites, again to give the faces back to the preset. It stays as you change presets, until you change scene (FACES · YOUR VIDEO)

Example, Corridor Panels: ○ FLASH (one ring down the tunnel per press, carrying your picture; press quickly and the rings stack; hold L1 + ◀ ▶ for the style: burst, ring, spiral, checker, scatter, wave front, shockwave) · hold L1 + ○ THE TRAIN (a train of seven rings in one press) · ✕ BARREL ROLL (hold to keep rolling) · □ ROLL ⟲/⟳ (the next barrel roll turns the other way: clockwise ↔ counter-clockwise) · △ NEW PANELS (the panels flow into a fresh deal) · hold L1 + □ AUTO NEW PANELS: the panels keep flowing into new ones in time with the speed, again for WITH LIGHT LINES (the same, with the seams lighting up as each panel changes), again for off · ▲ ▼ FASTER / SLOWER (hold to ride; three times faster at the top than before) · ◀ ▶ what the flash carries (LIGHT · YOUR VIDEO · SPRITES) · L1 FASTER · R1 DEEPER RINGS.

Example, Cube Stack: ○ TURN THE CUBES · ✕ SPIN THE STACK · △ FLUID ON / OFF (the fluid layer over the stack: the last fluid you played, else the first favorite) · □ SPIN THE CAMERA · ▲ ▼ climbs FASTER / SLOWER: a tap jolts it, holding glides it smoothly (bottom to top in about 4 seconds) and it eases to a stop when you let go · ◀ ▶ PREVIOUS / NEXT FAVORITE FLUID (turns the fluid on if it was off) · hold L1 and press ◀ ▶ for LESS / MORE ECHO: each screen plays your picture further back or catches up (ECHO 7.50; tap fast for bigger steps, hold to glide) · L1 tap CAMERA MOVE: picks the move □ plays, and the readout names it (CAMERA · CIRCLE PUSH, SWOOP, CUBE WAVE, ORBIT) · R1 PULL BACK (tap to lock) · hold R1 and press ▲ ▼: ▲ = closer (zoom in), ▼ = farther (zoom out) (DISTANCE 6.2; hold the arrow to glide). Using R1 with the arrows never also pulls back.

L1 / R1 boosts lock with a tap. Tap L1 or R1 quickly and the boost stays on; tap again to let it go. Hold it instead and it lasts only while you hold.

Example, Frame Stack: the camera orbits the cards on its own and a liquid glow lives around the cards · ✕ THE FLIP (the cards spin over, smooth in and out) · ○ NEW TREATMENTS on the cards · △ FLUID on / off (it stays as you change presets) · ◀ ▶ FLUID PRESET (ten looks for the liquid, the cards stay as they are) · ▲ ▼ ORBIT FASTER / SLOWER, all the way down to a stop (hold to ride) · □ LAYOUT (stack → orb → river) · L1 ORBIT BOOST · R1 PUSH IN.

Example, Plane Drift: ○ SPIN THE DRIFT · ✕ SPIN EVERY PLANE ON ITS OWN · △ MOTION (drift → wave → beat sway) · ◀ ▶ FLUID STYLE (8 colour recipes for the fluid, the planes stay as they are) · hold R1 + ○ TURN THE PATH · hold R1 + △ YOUR VIDEO IN THE PLANES ON / OFF · □ SHAPES · hold L1 ENERGY SURGE · hold R1 THICKER PLANES.

Example, Flashpoint (the fire): ○ NEXT PRESET + a burst · ✕ SPIN KICK · △ FLARE · □ COLOUR KICK · ▲ ▼ MORE / LESS FIRE · ◀ ▶ FLAME COLOURS · hold L1 ENERGY BURST · hold R1 GLOW · tap R1 MACHINE VISION on / off (hold R1 + ▲ ▼ how much, + ◀ ▶ how big, + ○ the next of four looks, which also turns it on). Viral Embers: the embers are letters; type your own in CUSTOM TEXT, at the top of PARAMS. Styles: hold L1 and press ◀ ▶ to give the camera picture under the fire a look (STYLE · THERMAL, BLUEPRINT, INKED OUTLINE, SOLARIZE … ten of them, then OFF; the fire still comes off whoever moves). Hold L1 + ▲ ▼ = how much style (down blends it back toward the real camera), hold L1 + ✕ = style off, hold L1 + △ = the style on the picture only or on the fire too. The style stays when you change presets; hold R2 (reset) turns it off. L1 held on its own is still the energy burst; it starts a moment later, so a chord never bursts.

Example, Typewriter Terrain (the camera drives the type: where you move it wakes, it follows the light, and the ink is the picture's colour; the left stick steers a brush that wakes it the same way): ✕ and ○ are hits, made for the beat: ✕ FLASHES THE TYPE TO WHITE PANELS · ○ SLAMS IN GIANT LETTERS and re-deals the field · △ YOUR WORD ↔ SCRAMBLE · □ HOW IT TYPES (typewriter → code lines → cascade → glitch burst → scan sweep) · ▲ ▼ TYPE FASTER / SLOWER · ◀ ▶ LESS / MORE TYPE · L1 BIG TYPE (tap to lock, hold to boost) · R1 TYPE ONLY: the picture drops and the type fills the frame while you hold it. Your word goes in the CUSTOM TEXT box at the top of PARAMS.

Example, Test Stage (the first scene you see; the controller check): every button, the d-pad, both sticks and both triggers light up on the controller on screen, and the analog triggers fill as you pull them. The sticks steer the two fluid balls, ✕ sends a shock wave, ◀ ▶ change the fluid style, △ the coral burst. Here the controller belongs to the scene, so L2 and R2 do not switch scenes:

Hold a shoulder, use the arrows. In some scenes, holding L1 or R1 turns ▲ ▼ to what that shoulder controls (Cube Stack: R1 + ▲ ▼ = camera distance, ▲ closer; L1 + ◀ ▶ = echo). The legend says so (R1 + ▲▼ DISTANCE). A quick tap of the shoulder alone still does its own thing.

Hold an arrow to ride. On every scene, an arrow that changes a level (speed, glow, a mode) keeps going while you hold it (stepping, or gliding smoothly where the legend says hold: glide) and stops the moment you let go. While you hold L2 or R2 the arrows choose scenes / presets instead and never ride. In the effect channel, holding ▲ ▼ ◀ ▶ glides the fluid's energy / dissipation the same way.

Tap fast = bigger steps. Tap an arrow again quickly (within about a third of a second) and that tap moves the level twice as far: ▼▼ fast slows the speed down at double the rate, ▲▲ fast speeds it up at double. A slower tap is back to one step, a hold still glides at its normal rate, and it never goes past the scene's lowest / highest setting. Arrows that walk through a list (a palette, a flash mode) always move one at a time. The effect channel's arrows do the same.

When a press moves a value (speed, energy, a hold), a small readout over the picture shows it live (ENERGY 92 % ▲) and fades a second after it settles. It is on your screen only, never on the projector.

Every scene has its own rows. The on-screen legend is always the truth.

While the output mapper is open (hold −, or the MAP tab) the controller does only mapping: d-pad nudges the corner, A/B walk the corners, X 10 px ↔ 1 px, Y test grid, L/R slice, + done, hold − cancel, ⊡ fullscreen. The legend bar and the plate relabel themselves for it. MAPPING.md §5.

The analog sticks (PlayStation and Xbox)

The 8BitDo Micro has no sticks, so nothing on it changes. On a PlayStation or Xbox controller, the right stick moves the camera in these scenes. In every one of them, push up = look up and pull down = look down:

SceneRight stickLet go
Cube Bloom, fly-throughlook around while you fly (left / right, up / down)swings back to the preset
Cube Bloom, clonerswing round the block (left / right); up = dip under it and look up, down = rise over it and look downswings back to the preset
Corridor Panelssway your head inside the tubeswings back to the preset
Frame Stacknudge the orbit (left / right); up = look up at the cards from below, down = look down on themstays where you left it; the next preset starts from its own angle

On Corridor Panels the left stick squeezes the tunnel wider, narrower, taller or flatter, and it springs back when you let go. Otherwise the left stick is free for now. A stick never changes a saved preset: SAVE PRESET keeps the preset as it is without the sway. The CONTROLS tab lists the stick rows for the playing scene (marked STICK · READ-ONLY: sticks cannot be remapped yet). On PlayStation, clicking the right stick (R3) is the scene button, so push it without pressing down.

5. Presets: favorites first

Each scene ships with a short list of favorite presets; tap R2 for the next one, double-tap R2 for the one before, or hold R2 and press ◀ ▶ to walk them either way. The PRESETS strip under the picture shows FAVORITES by default; click ▾ to see EVERY PRESET plus your own (MINE).

LIGHT: brighten a scene that is too dark

Keys only (the buttons left the monitor, Nov 9): L lifts the dark parts of the playing scene (up to 2.5×), K goes darker (down to 0.5×), Shift+L back to 1×. The setting is remembered per scene, and only the picture is lifted, never your projector levels (those stay in MAP). While it is not 1× the line under the scene name says LIGHT 1.4×.

AUTO is a soft floor: when the picture gets so dark you can't tell what's going on, it slowly turns the light up (a few seconds), and eases it back down when the picture brightens. Moody, darker presets you can still read are left alone. While it is lifting the line under the scene name says AUTO LIGHT 1.6×. It is on for Cube Bloom; Shift+K turns it off or on for the playing scene (remembered).

6. The controller plate

7. Keyboard fallback (laptop without a controller)

KeyAction
Arrows or WASDFocus
EnterPlay focused
Shift+EnterAdd / remove the focused scene in the show
Delete (on a show card)Remove it from the show
, / .Previous / next favorite preset
Alt+← / Alt+→Move the playing preset one place earlier / later in the favorites (the R2 order); with Shift: to the front / the end
Ctrl+S (Mac: Cmd+S)Save the show (your scenes, fades and mapping) under its name: SAVED under Plugin Player at the top left + SHOW SAVED · NAME. A new show with no name yet opens SAVE AS first. Works in every tab
Ctrl+Shift+SSave the show under a new name (SAVE AS)
Ctrl+P (Mac: Cmd+P)Save the preset right where you are (SAVE PRESET): PRESET SAVED · MINE 1 ★. PERFORM and CONTROLS; in MAP it does nothing. It never prints
L / K / Shift+LLIGHT brighter / darker / back to 1× (this scene)
Shift+KAUTO light on / off (this scene)
X or SpaceNext preset
ZPrevious preset (the letter alone: Ctrl+Z never changes the preset, it only says that undo lives in MAP)
0Reset preset
N / PNext / previous scene in the show
VCamera on / off
[ / ]Fade time −/+ 0.25 s
CFade curve: MIX → ADD → DIP TO BLACK
Tab / Shift+TabNext / previous family tab
HHUD
F1 / F2 / F3The tabs: PERFORM / MAP / CONTROLS
GChrome off (picture fills the window)
FFullscreen canvas
Shift+PBig plate
Esc / F11Leave fullscreen (F11 also enters it). Quit with the window's close button

With Ctrl, Cmd or Alt held, these letters do nothing: Ctrl+Z, Ctrl+X, Ctrl+0, Ctrl+N, Ctrl+F… never change the preset, the scene or the window. The only combos are Ctrl+S (save the show), Ctrl+Shift+S (save the show as), Ctrl+P (save the preset) and, on a Mac, Cmd+1 / 2 / 3 (the tabs). Ctrl+Z is undo in MAP (one step = your last move); in PERFORM it changes nothing.

Remap your buttons

Every scene starts on its default mapping: the full list, every button of every scene, is CONTROLLER_MAP.md (generated from the scenes themselves, so it is always right). If you want something on another button, change it in about three seconds:

  1. Go to CONTROLS (F3). The BUTTONS card lists every action of the scene that is playing, with the button it is on.
  2. Move the mouse over a row: it lights up and an EDIT chip appears between the button and the name. Click EDIT.
  3. The row says PRESS A BUTTON… (Esc cancels). Press the button you want on your controller. That press does nothing else (it does not fire the old action or change the scene).
  4. Done. If that button was doing something else in this scene, that action now has NO BUTTON (shown dimmed, with NO BUTTON · EDIT so you can give it one). The message at the bottom offers UNDO or SWAP INSTEAD (the other action takes your old button).
  5. Two-button moves (chords): some scenes do something extra while you hold a shoulder, shown as e.g. R1 + ▲ (hold R1, press ▲). These have their own rows. To put any action on a chord, click EDIT, then hold one button and press another.
  6. No controller connected? EDIT shows the buttons to click instead.
  7. A scene action can go on A B X Y, L1 / R1 (LB / RB) or the d-pad. The triggers and + / − are navigation (the GLOBAL section further down): you can move those too, but they always swap places with the button you press, so you can never lose the way to change scenes. The d-pad cannot take navigation (it is the hold + ◀ ▶ choose move).
  8. ↺ RESET on a row puts that one action back; RESET SCENE, RESET GLOBAL and RESET EVERYTHING TO DEFAULT do more. Lost? Ctrl+Shift+R resets every control at once (with UNDO).
  9. Your changes are kept on this computer (controls.json in the app's data folder) and never change the scenes themselves.

Button layouts (the bar at the top of the BUTTONS card; a button layout is your controller mapping, not to be confused with a scene's presets):

8. Battery and sleep

Windows does not report the Micro's battery in D mode. The LED blinks when it is low. Charge over USB-C; it works while charging. It sleeps after a while idle; press Start to wake it, then press any button so Plugin Player sees it again.