> For the complete documentation index, see [llms.txt](https://docs.cstplus.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cstplus.org/documentation/feature-reference/playlist+.md).

# Playlist+

Playlist+ is the playlist generator for linear channels. Instead of a plain 24/7 loop, you lay out a real broadcast day (or many days) on a timeline: named time blocks, videos, ad breaks, promos and filler, with per-item metadata and graphics. When it is ready, one click loads it into playout and puts the channel on air.

***

### Where to find it

Open **Playlist+** in the sidebar, under Broadcast.

***

### Creating a playlist

**Step 1: Pick a channel and how to build**

Choose the channel the playlist is for, give it a name, then either:

* **Repeat one day** N times, or
* **By dates** to create one day per date in a range.

**Step 2: Open the editor**

The editor has a day selector at the top, a 24-hour vertical **timeline** on the left, and a **control panel** on the right.

***

### Blocks and items

A day is made of **blocks**: named time slots (for example a 09:00-12:00 "Morning" block). Each block holds an ordered list of **items**.

| Item kind | What it is                             |
| --------- | -------------------------------------- |
| Video     | A programme or clip                    |
| Ad        | An advertising spot (colour-coded)     |
| Promo     | A promo or announcement (colour-coded) |
| Filler    | Padding content (colour-coded)         |

Give a block a start time and a target length. If the items inside add up to more or less than the slot, Playlist+ warns you, and the day tabs show a fill bar so under- or over-filled days are obvious at a glance.

{% hint style="info" %}
Add items one at a time from the file browser, or use **+ Folder** to add every video in a folder at once. Drag items to reorder them, or use the up/down buttons.&#x20;
{% endhint %}

***

### Editing an item

Select an item to open its editor. The panel is split into collapsible sections so only what you need is open:

* **Metadata:** title, description, age rating and cover art. Use **TMDB lookup** to fill these from a title search.
* **Timing & audio:** trim in/out and the audio track.
* **Graphics (CG):** up to three graphics per item (see below).
* **Markers:** in-clip time markers with labels.

Colour-code ads, promos and filler by category so the timeline is easy to read.

***

### Graphics per item

Each item can carry three graphics built in CG Studio:

| Slot        | When it shows                                                   |
| ----------- | --------------------------------------------------------------- |
| Starting CG | Appears at a set offset from the item start, for a set duration |
| Main CG     | Shown for the whole item                                        |
| Exiting CG  | Appears in the item's final seconds                             |

These play on air: when the channel is live, Playlist+ tracks the playout position and shows each item's graphics at the right time.

{% hint style="info" %}
On-air graphics timing follows the playout clock with a small tolerance, which suits lower-thirds and titles. It is not frame-accurate placement.&#x20;
{% endhint %}

***

### Auto-generate

Click **Auto-generate** to build a day (or all days) for you.

**Step 1: Point it at folders**

Choose a content folder, and optionally folders for ads, promos and filler.

**Step 2: Set the rules**

| Rule                 | Effect                                                                          |
| -------------------- | ------------------------------------------------------------------------------- |
| Ad break every (min) | Inserts an ad pod on this cadence                                               |
| Ad pod length (sec)  | Target length of each ad break                                                  |
| Promo every N items  | Drops a promo between content items                                             |
| No repeat within (h) | Avoids repeating the same title inside this window                              |
| Shuffle              | Randomises content order                                                        |
| Content filters      | Keep only clips within a length range, or matching / not matching filename text |

**Step 3: Generate**

Generate this day, or all days at once. It rotates content, inserts ad breaks and promos, and pads the tail with filler.

***

### Reuse and portability

* **Duplicate** a day or a whole playlist to avoid rebuilding.
* **Export** a playlist to a JSON file and **Import** it on another install.

***

### Going to air

Click **Apply & Go Live**. Playlist+ loads the selected day into playout and starts the channel. Because playout composites in real time, graphics from your items appear on air without a stream restart.

{% hint style="info" %}
Apply & Go Live uses the live `playout` engine. For a fixed rendered day that repeats with clock-aligned EPG, see schedule mode.
{% endhint %}

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.cstplus.org/documentation/feature-reference/playlist+.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
