Repository navigation
Playing things
Unmodified input never makes a sound. Plain clicks and plain arrow keys select, fold and move. Hold ⌘ and Live responds.
On Windows and Linux it's Ctrl. Never both — Ctrl-click on macOS is the system context-menu gesture, and it would fire a clip every time someone reached for a right-click.
This is the rule that makes the grid safe to click around in while you're labelling a set. You can select four hundred clips, sweep a block across a chorus, fold half the songs, and nothing plays.
| plain — organizing | with ⌘ | |
|---|---|---|
| clip cell | click selects · ⇧ extends a block · drag moves it · ▶ fires it | ⌘-click fires the clip |
| empty slot | click selects the cell · ■ stops the track · ● records, when armed | ⌘-click does the same as the button |
| scene cells | click selects the row · ⇧ extends · the number drags | ⌘-click fires the scene |
| song header | click folds · the title selects · drag reorders | — |
| track header | click a group to fold it | ⌘-click stops that track |
| group header | click folds the group | ⌘-click stops the whole group |
| arrow keys |
↑ ↓ ← → move the active cell |
⌘↑ ⌘↓ move and fire · ⌘⏎ fire |
The ▶ launchers are the deliberate exceptions, all the same idea — firing is the button's only job, so it gets to be visible rather than a modifier away. The rule is there to keep firing away from selecting, and a button that can't select has nothing to take:
- The ▶ in the Master column fires that scene. Launching a scene is the primary gesture in a set, and it sits where Live puts a scene launcher.
- The ▶ in a group's slot fires the group — every clip it holds in that scene. A group slot has nothing to select, so there is no selection for the modifier to protect.
- The ▶ in a clip fires that clip, exactly where Live puts it. Only the triangle fires: click anywhere else in the cell and it still selects the clip and opens the editor, same as before.
- The ■ or ● in an empty slot — see Stopping and Recording below. Same idea: the button only ever fires that one slot, so there's nothing for the modifier to protect.
A ▶ only fires. It doesn't select the clip, move the active cell or open the editor, so pressing it and ⌘-clicking the cell are not quite the same gesture even though both start the same clip.
⌥ does nothing on a click. It used to add to a selection; ⇧ already does that, and one key for the idea is enough.
⌘↓ is one keystroke for "next scene, and let me hear it". Hold ⌘ and walk down the
set, and every scene fires as you land on it.
That deliberately replaces an audition mode. A sticky toggle you can forget you're in is worse than a modifier you're holding.
⌘↓ walks the rows that are on screen, so it will not descend into a folded song
and fire scenes you can't see.
Every empty slot is a stop button, drawn as a small ■ at the left of the cell, exactly as in Live's Session View. Press one and that track's clips stop at the next launch point. Every empty slot down a track does the same thing, so the nearest one to where you're looking is the one to press.
A stop row also starts pinned beneath the grid. The filled-square header toggle shows or hides the whole row. Every visible track column has a stop-clips button; a group column stops the group and its members. Stop All Clips, in the Master column, stops clips on every track. If the mixer is open, the stop row sits directly above it.
| Space | start or stop the song |
| Stop All Clips / Esc | stop all clips, but keep the song rolling |
| ■ in any empty slot | stop clips on that track |
| track stop slot | stop clips on that track |
| ⌘-click a track header | stop that track |
A pending stop shows on the track's stop-row button and its header, not on the ■ you pressed. Live reports a pending stop against the track rather than the slot, so the app can't tell which of a track's hundreds of squares you used — and lighting all of them would blink an entire column for one stop.
Beside each track's stop-row button is Live's Track Status Display, the same one Live's own Session mixer draws:
| a pie filling round | a looping clip, and how far through the loop it is |
0:25 |
a one-shot, and how long it has left |
a red 3.2
|
Live is recording here, and the take is 3 bars and 2 beats long |
| nothing | the track is silent |
The pie is the one to watch on stage: it tells you where in the loop you are without looking at Live, so you can fire the next thing on the turn rather than guessing.
The countdown is time left, not time played — the number you actually act on. It
rounds up, so 0:00 means the clip is ending rather than that it ended a second ago.
Two of the forms Live can show here are missing: the miniature Arrangement view, and the microphone or keyboard icon for a track monitoring input. Those tracks show nothing rather than a wrong reading.
The whole cell is still the stop button — the status display sits on top of it and doesn't take clicks, so you can aim anywhere in it. The row only follows Live while it's on screen; hide it with the filled-square header toggle and the app stops asking.
Arm a track in Live and its empty slots turn into record buttons — red ● instead of the grey ■. Press one and Live starts recording into that slot, quantized like any other launch. This is Live's own behaviour for firing an empty slot: unarmed it stops the track, armed it records.
The button blinks while it waits for the launch point, then fills red once recording is running. The new clip appears in the grid when the app next re-reads that track — press sync in the header if you want it immediately.
⌘-clicking an empty cell does the same thing as the button, so on an armed track ⌘-click records rather than stops. The glyph is there so you can always tell which you're about to get.
Nothing in this app arms a track. Arm it in Live, or with the Arm button on the track's mixer strip — see Reading the grid.
Esc sparing the song is the point of having both. Stopping clips while the transport keeps running is what you want mid-set; stopping everything is what Space is for.
Playback controls are disabled until Live is actually connected — if they're greyed out, check the status pills in the header and see Troubleshooting.
The reason launching exists here at all is that naming a scene you can't hear is guesswork. The pass this is built for:
- Click a scene — the row selects, the rail opens.
-
⌘⏎or ⌘-click to hear it. - Name it, tag its role, color it.
-
⌘↓to the next one.
Everything in that loop except step 2 is silent.