Skip to content

Transport controls

Start, pause and step through a playlist — and connect it to a surface first, because an unconnected playlist will not play.

Playback follows the scene graph

Moonshine plays one playlist at a time, and where that playlist ends up is decided by the scene graph, not by the transport buttons. A playlist that is not wired to a surface's Texture has nowhere to go, so pressing play would change nothing on the output.

Rather than let that happen silently, Moonshine blocks it. Press Play on an unwired playlist and a warning naming that playlist appears in the top-right corner:

"Main Show" isn't connected to a texture in the node graph — it won't play back. Wire it to a Texture node first.

Playback does not start, and nothing about the output changes. The same check runs on Previous, Next, and when you click an item to trigger it.

If play seems to do nothing, read the warning

This is by far the most common reason a playlist appears dead. It is not a media problem, a format problem, or a connection problem — the playlist simply is not attached to a surface yet.

Connect a playlist to a surface

Open the scene graph: click Scene Graph in the status bar at the bottom of the window, or press G. It stays open across tabs, so you can wire from the Playback tab.

Either way works:

Drag it in

  1. Drag a playlist row out of the Playlists sidebar and drop it into the scene graph. A node for that playlist appears where you dropped it.
  2. Drag from the playlist node to the Texture node of the surface you want it on.

Or set it from the surface

  1. In the scene graph, find the surface, then its Material node, then the Texture node under that.
  2. Right-click the Texture node and choose Set Playlist, then pick the playlist from the submenu. A node for it is placed next to the Texture, already connected.

Both routes start playback as soon as the connection is made — you do not need to press play afterwards. A bullet marks the playlist that is currently set on that Texture, and Clear Texture on the same menu disconnects it again.

Because only one playlist plays at a time, connecting and starting a second playlist takes over from the first.

For more on the graph itself, see The scene graph.

The transport bar

The Playback tab has a transport bar across the bottom of the playlist.

Control What it does
Time readout Elapsed and total time for the current item, not the whole playlist.
Previous Steps back one item. Behavior at the start of the list depends on the loop mode.
Play / Pause Starts the playlist, or pauses it where it is. Disabled while the playlist is empty.
Next Steps forward one item. Behavior at the end of the list depends on the loop mode.
Loop Cycles through No loop, Loop all and Loop one.

The row that is playing is highlighted, and a progress bar fills along the bottom of that row as its length elapses.

Trigger a specific item

Click anywhere on a playlist row to jump straight to that item. The change is immediate — you do not have to be paused, and you do not have to step through the items in between.

The length box, the transition chip and the menu on each row keep their own behavior, so clicking those edits the item instead of triggering it.

The floating Playback card

Playback controls follow you to every other tab as a small floating card titled Playback, so you can start a clip while you are warping or masking.

The card shows:

  • a progress bar for the current item across the top,
  • the current item as 3/12, its name, and elapsed / total time,
  • loop, previous, play/pause and next buttons.

Click the item name to open a list of every item in the playlist and jump to any of them.

Moving and hiding the card:

Action How
Move it Drag the title bar. It snaps to window corners and stacks neatly against the Preview card.
Change its width Drag the corner handle.
Minimize or hide it Use the buttons in the card's title bar.
Bring it back Click the playback icon in the status bar at the bottom of the window.

The card is not shown on the Playback tab itself, since the tab already has a full transport bar. Its position, size and state are remembered on this device.

Everyone sees the same playback

Play, pause, the current item and the progress position are shared. When one operator starts a playlist, every browser on the show updates — including anyone watching the floating card on another tab.

Which playlist you have selected is not shared. You can be looking at one playlist while a different one is on the output.

Editing playback is lockable. While another operator holds the playback lock, the playlist rows and their controls are read-only for you, stepping between items does nothing, and every control on the floating card is greyed out. See Locks.