Video and outputs

Pictures go to outputs — windows Cuerunner keeps open for the show, one per projector or screen — and four cue types put them there: Video, Image, Text and Camera. All of it is free.

Adding an output

Open the Outputs tab in the dock and press + Add output. A black window opens: that is the output, and it stays open for as long as the show has it, so a cue that follows another lands on a picture that was never taken down — there is no black frame between cues. Each output's card shows a live picture of what it is showing, so you can see the projector from the desk.

Display puts it somewhere: A window you can drag and size, or one of this computer's displays, with Fullscreen to fill it. A fullscreen output never takes the keyboard, so GO stays with the cue list. Where an output goes is kept on this computer, not in the show file: the same show opens in rehearsal on a laptop and on the night on the venue's projectors, and each machine remembers its own places. The output's name, its size, its timer and its projector settings travel with the show.

A display that is not connected when the show opens is not a failure: the output opens as a window instead, with a red banner across it saying which display it was meant for, and its card says the same. It moves back as soon as the display is plugged in.

Identify draws each output's name across it for three seconds. Test pattern puts a grid, the centre, the corners and colour bars over one output, at its own resolution, for lining a projector up.

A video cue

Add one from the toolbar's More menu, then Browse on its Video tab. MP4 (H.264), WebM (VP8, VP9, AV1) and the other formats Chromium decodes all play. A small preview of the file sits under its name. Start time and End time trim it, Loop count repeats it (−1 loops it until it is stopped or a devamp cue lets it go), and Hold last frame keeps the final frame up when it ends — the cue then runs until it is stopped, the way a held picture does.

While it plays, the Video tab has Pause/Resume and a Position slider. A paused video stands on the frame it is on, its sound taken away, and resumes from exactly there.

Its sound

A video's sound plays through the audio engine as an ordinary voice — the same level, pan, routing matrix, fades and meters an audio cue has, on the Sound tab — and the picture is silent. Both start on the engine's clock at the same instant, and the output keeps the picture on that clock frame by frame: a small drift is closed by playing the picture a touch fast or slow, a large one by moving it. However long the video, picture and sound stay together. A fade cue on the video's Volume fades the sound; a stop cue with a fade takes both down together.

A video with no sound track plays as a picture alone, and its cue ends with it. The sound of an MP4 or MOV plays everywhere; a WebM's or MKV's needs a decoder this machine has — on Windows that is the system's own, and where it has none the picture plays silent and the Sound tab says so.

Images and text

An Image cue shows a still — PNG, JPEG, GIF, WebP, SVG and the rest — for Shown for seconds, or until it is stopped when that is empty. A Text cue draws its text in the font, size, colour and style you give it, anchored to one of nine places on the output.

A live camera

A Camera cue shows a live picture on an output until it is stopped, with the fades, layer, blend and geometry every picture has. Its Camera tab chooses the source. A camera on this machine lists the capture devices the outputs can see — a webcam, a USB camera, an HDMI capture card. The list comes from the output windows, the one place Cuerunner opens a camera, so open an output first. The show keeps the camera's name, so the venue machine finds the same model; each machine keeps its own pick of the exact device, so two cameras with one name are never confused. A camera that is stood on is opened ahead of its GO, so its picture is live the moment it is asked for.

If the camera is not connected, the output says so in a banner across it — Camera Stage cam is not connected — the output's card says the same, and the cue keeps running: plug the camera in and the picture comes up by itself. A cable pulled mid-show does the same.

A network stream takes an address: HTTP video, an HLS playlist (.m3u8), or MJPEG — what most IP cameras and phone camera apps serve. A login in the address (http://user:password@camera/…) is passed on. The stream is fetched by Cuerunner itself, only from the address a cue names. RTSP is not supported: use the camera's HTTP, MJPEG or HLS address.

On a Mac, the first camera cue asks for camera access once; if it was refused, allow Cuerunner under Camera in the Mac's Privacy & Security settings.

Layers, fades and crossfades

Every picture cue has a Picture tab. Output says which output it goes to (empty is the show's first). Layer stacks it: higher is in front, and pictures on one layer stack in the order they were fired, the newest in front — so a title on layer 5 sits over every video on layer 1. Pictures layer; nothing is taken down because another went up, unless you ask for it.

Fade in starts on the picture's first frame on screen, not on the GO, so a file that takes a moment to open never jumps in half-faded. Fade out lands on the picture's own end — the end of a video's last pass, or of an image's or text's display time.

Crossfade dissolves a video or image in from whatever is on its output at or below its layer, over its fade-in. The dissolve is exact: half way through, the output is half the old frame and half the new, so nothing dips through black and a letterboxed video's bars dissolve to black rather than to the picture it replaced. When it lands, what it replaced is taken down and its cue is stopped; a video it replaced takes its sound down over the same time. With nothing on the output, a crossfade simply fades up. A title on a layer above stays exactly where it is.

A fade cue aimed at a picture can move its Opacity, with the same curves and Stop target when done a sound fade has. Opacity on the Picture tab is the level a picture rests at; changing it while the picture is up changes it at once.

Blend modes

Blend on the Picture tab says how a picture is laid over what is behind it: Normal, Multiply, Screen, Overlay, Darken, Lighten, Colour dodge, Colour burn, Hard light, Soft light, Difference, Exclusion, Add and Subtract. Screen or Add a flare or a smoke loop over a scene so its black disappears; Multiply a gobo or a texture over it so its white does. The picture's opacity sets how much of the blend shows. Every mode draws the same on the GPU and on the 2D fallback.

The next GO

Next GO on the Picture tab takes the picture down — over its own fade out — the next time GO is pressed, whatever that GO fires: a caption, a title card, a still between scenes. The show's default follows the Next GO box at the top of the Outputs panel, so a show of surtitles can say it once. A GO from a trigger or a desk counts the same as the button. It is the next GO in the picture's own cue list: a sound effect fired from a cart list leaves the main list's captions up. A picture the GO's own crossfade is dissolving away is left to the dissolve.

Where a picture sits

Size to fits the picture inside the output (letterboxed), fills it (cropping what spills over), stretches it to the output's shape, or shows it native, one pixel per pixel. Then Position moves it as a share of the output, Scale sizes it, Rotate turns it clockwise, and Crop cuts from each edge first. Every one of them applies while the picture is up.

Moving it

Keyframes, under the geometry, move a picture over its own play. Add keyframe puts one a second on from the last, where the picture would be then; give it a time (from the picture's first frame), a place, scale, rotation and crop, and how it gets there — Linear, Ease in, Ease out, Ease in and out, or Jump. The picture starts where its own geometry puts it and stays at the last keyframe. A paused picture's keyframes pause with it.

A fade cue moves a picture that is up: with its Property set to Opacity or Geometry only, tick what it moves under Move the picture — position, scale, rotation, crop — and give each its target. It moves from wherever the picture is when the fade starts, over the fade's time and curve, and the picture stays where the fade left it. A property you then change by hand on the Picture tab is yours again.

Mirrors and masks

Shows, on an output's card, makes it a mirror of another output: it shows that output's pictures exactly as that output composes them — a confidence monitor at the desk, or a second projector stacked on the first for brightness. A mirror keeps its own display, timer and corner pin; a picture cue cannot be pointed at a mirror, only at the output it shows.

Mask lays an image over an output's pictures: where it is white they show, where it is black they do not — or by its transparency, with Mask reads set so, and turned round with Invert. Draw it on the test pattern's grid to mask a set piece or a proscenium. The mask is stretched to the output and pinned with the picture; the timer and test pattern are drawn over it. A mirror with no mask of its own shows its source's. A mask that cannot be read is said on the output and the pictures are drawn unmasked.

Corner pin and soft edges

A projector that is not square to its screen throws a keystoned picture. Corner pin and soft edges, on the output's card, moves each of the four corners by a share of the output, and the whole frame — text and the timer included — is laid onto that shape in perspective. Soft edge fades an edge to black across a share of the frame, for two projectors whose pictures overlap; the edge curve bends that ramp for the projectors' gamma. Both are part of the show, because they belong to the venue's rig as the show was teched on it.

An output draws on the computer's GPU. On a machine whose graphics Chromium will not use it draws the same picture with its 2D fallback, says so on its card, and puts a corner pin's offsets aside — that one thing needs the GPU — with a banner saying so.

Timers

Timer on an output's card draws a clock over it: the time of day, the show clock (from the first GO since the show was opened), or the time left on the most recently started cue that has an end. Floating timer, in the panel's header, opens a small window that stays on top of everything else on this computer, counting the same way — for the operator, not the audience.

When things go wrong

Panic takes every output down with the sound, whichever surface raised it. An output whose window crashes reloads in place and puts back every picture it had, where each would have been by then — the record is kept by the app, not by the window. A picture whose file is missing says so in the log and on its cue.