Skip to main content
9 min read

SET:IQ — Season Setlists & Templates

Tell it when your show runs and which songs you own — then watch your whole season fill in on one calendar. A fresh mix builds every night, and you drop in fixed templates for the nights that repeat.

SET:IQ is a season planner. Instead of babysitting one playlist for 30 nights (your neighbors have ears), it builds setlists that are sized to your runtime, shaped like a real show, and aware of which songs are actually on your player.

One calendar for the whole season

Everything lives on a single season calendar. There’s no mode to pick and no switch to flip: by default a nightly auto-mix builds a fresh set for every show night, and you layer fixed templates — a weekend loop, a theme night, a one-off party — onto the days that repeat. Both live on the same calendar and both push to your box.

The header is a quiet strip: your show name, an ACTIVE badge (it’s a status light, not a button — the whole season is live and pushes to FPP & REQ), and the controls you reach for — Templates (a red dot appears on it when two templates clash), Pull from FPP, Show settings, and Rebuild season (which asks first, then keeps your pinned songs in place — see Keeping the season fresh).

Reading the calendar

The calendar fills the middle of the screen, with the Catalog rail on the left and the Inspector sliding in on the right when you open a night. Toggle Month or Season in the nav row:

  • Month shows one month at a time, sized to fit without scrolling. Use ‹ › to page to any month — even months outside your season. Add a night in one of those and your season simply grows to include it.
  • Season stacks every month of the run, trimmed to the weeks between your first and last night.
A night on the calendar
Sat 18
📌 FAMILY HOUR6–8p
PreShowAfter
6:00p10:30p
14 songs · 47m
A fixed-template band on top, then the composition ribbon, the opener → closer art, and the night’s quick metrics.

Each night cell is a quick read of the whole show day:

  • Composition ribbon — a proportional bar in clock order: Pre-show → Show → Transitions → After hours, each segment as wide as the real time it takes. Hover it for a “Tonight · in play order” popover of the playlist as album art.
  • Opener → closer art — the night’s first and last songs shown as artwork, joined by a dashed arrow, with an energy-arc sparkline and the quick metrics (songs · runtime · ±target).
  • Occurrence bands — each fixed template running that day gets a slim colored band with its name and window. A one-off run carries a 📌. Two bands show at most; extras collapse into a +N more row. When a band sits above the Nightly Mix, the last one adds a + Nightly Mix ↓ hint so you know the auto-set runs after it.

Templates — fixed shows that run alongside

A template is a fixed show that runs on the days you choose — weekend loops, theme nights, one-off parties. It runs alongside the Nightly Mix, not instead of it. A template owns a whole show day: which days it runs (its recurrence), the clock window it plays in, the playlist, an optional pre-show and after-hours loop, and any triggers.

Want one big show that loops all season? That’s just a template that runs every day. Two templates that share a day in different windows is how you run a split night — a Family Hour 6–8 and a Late Night 10–11:30.

There are three ways to put a template on the calendar:

  • Runs on — in the template editor, tap the weekdays it runs (empty means every day) and set its date range. It paints every matching night automatically.
  • The ⊕ day menu — open a day’s ⊕ and pick Run a template this day, New template on this date…, or (on a blank day) Add a night (Nightly Mix). A template put on a single date this way is a one-off (that’s the 📌); its weekly pattern isn’t touched.
  • From inside the night — open a night and tap + Add on any separator in the run stack, then pick a template. It runs tonight only.

Theme-night quick-adds

When a tag in your catalog has enough songs to fill a whole night — say a dozen kids songs — SET:IQ offers it as a ready-made template. Tap a chip like Kids Night or Spooky Night and it seeds a new template named for the tag, fills the playlist from just those songs, and opens it so you can fine-tune. Tags that already have a template, and structural tags like opener or closer, never show up here.

The Inspector

Click a night, a template, or a warning and the Inspector slides in on the right. It’s docked and never modal — the calendar and Catalog rail stay live beside it, so you can keep dragging songs in while you work. Press Esc to close it. It has a handful of modes:

  • Show night — one night, laid out in play order, top to bottom (see below).
  • Templates — your fixed shows. This one opens as a full focus panel rather than a rail: the master list on the left, the selected template on the right. The Nightly Mix sits in that list as a row of its own, so its build settings, bookends, triggers, and PSAs are edited the same way. You can remove it there and restore it later (see the FAQ).
  • Season fix plan — every open warning as a one-click suggestion (see below).

A night, in play order

The Show night view is one timeline, read top to bottom in the order the evening actually plays: Pre-show → Welcome → tonight’s runs → Goodnight → After hours.

The pre-show, the host’s Welcome and Goodnight rows, and after-hours are fixtures. They bracket the evening and they don’t move — their spot is the clock, not a preference. Everything between them is TONIGHT’S ORDER: one card per run, in play order, which you drag to re-sequence.

Inspector — show night
Pre-show6:45p → 7:00p · loops
Welcomehost · once a night
Family Hour12 songs · 41m7:00p → 7:41p
Nightly Mix✦ fresh rotation7:45p → 10:00p
Play oncePlay N×Loop to end
1Abracadabra
2Bloody Mary
3Halloween Theme
Goodnighthost · once a night
After hours10:00p → 10:30p
Fixtures bracket the evening; the runs between them drag to reorder.

Every run card reads the same way:

  • Collapsed, a run is one line — its name, how big it is, and the clock: a start time you can type right in the header, an arrow, and the end time SET:IQ works out for you.
  • Open it and you get its timing mode Play once, Play N×, or Loop to end (fill whatever time is left) — plus what it plays. One run on the night and the rail opens straight onto it; two or more and they all start closed, because the running order is the first question.
  • The Nightly Mix run holds tonight’s playlist — the songs with album art, BPM and tags, the energy arc, the PSA rows, the over/under trim chips, and the add-song field, all editable in place.
  • A template run’s setlist is read-only here, on purpose: those songs belong to the template on every night it runs. Tap in the header to open the template and change them. × drops the run from just tonight — the template itself is untouched.

Above the run stack sit the night’s own settings — Show length, the Full show checkbox (play every song, ignore the target), and PSA frequency for tonight (Inherited, Off tonight, or Every N songs tonight). PSAs live with the settings rather than in the timeline because a cadence is a rule for the whole night, not a spot in it. Rebuild night deals a fresh set (pins stay); Remove this night takes it off the calendar.

Editing a template

The Templates button opens one panel with your master list on the left and the template you picked on the right. A violet ▤ EDITING TEMPLATE bar reminds you that edits apply instantly to every night it runs (the Nightly Mix row turns that bar orange instead).

The order of that left-hand list is your stack order. It’s the play order used whenever two or more templates land on the same night, so one drag re-sequences the whole season at once — an operator who never opens a single night still gets a stable evening. Each row shows its position, its days (FRI · SAT, EVERY NIGHT), its window, and its size. ⏸/▶ pauses a template — it keeps its PAUSED pill and stops painting nights until you resume it — and + New template starts a fresh one.

Above the detail, Runs on sets the weekdays and the clock window (reset to show window puts it back), Runs from sets the date range, and Requests is a plain Yes / No — turn it to No for a hosted set and REQ:IQ closes requests while that run is on the air. Viewers see a “Tonight’s a hosted show” note, and requests reopen on their own with the next run.

Template — Runs on
Runs onSMTWTFSDailyWkndFri+SatWkdy

The block timeline

Below that, the template is a stack of cards in clock order — PRE-SHOW → WELCOME → SHOW → PSAS → GOODNIGHT → AFTER HOURS (the Nightly Mix shows FRESH ROTATION in place of SHOW). The cards don’t reorder, because their order is the clock. Open any one to edit it:

  • Pre-show, Welcome, Goodnight, and After hours each read Show default until you override them. Pick a different sequence right there and the card flips to This template and names what it replaced (“show default: Awakening”), so the swap stays obvious. use show default puts it back. No trip to Show settings required.
  • Show holds the timing mode (Play once / Play N× / Loop to end — the template’s default, which any night can override), the energy arc, the song list, an add-song search box, and an ⚡ AUTO-BUILD FROM row where you choose the whole catalog or one theme tag and hit ↻ Rebuild playlist. Transitions fold in here as a read-only row.
  • PSAs carries this template’s frequency and bucket, and lists anything you placed by hand under PLACED BY HAND with the song it follows and an ✕ to drop it.

The Season fix plan

The calendar toolbar shows a warnings chip — “N warnings” or a calm “All clear.” Click it and the nights that need attention ring amber while the rest dim, and the Season fix plan docks in the Inspector. Every warning becomes a one-click suggestion.

Inspector — Season fix plan
Oct 12Runtime runs 9m over targetAccept
Oct 18“Thriller” plays twice tonight✓ Applied
Oct 25Two songs carry no BPMAccept
One row per warning. Accept them one at a time, or all at once.
  • Tap Accept on a row and it flips to ✓ Applied. Accept all clears the whole list at once, and a toast lets you undo.
  • Warnings are advice about the Nightly Mix — rotation balance, a song landing twice in a night, runtime versus target. A clean season reads “Nothing to fix — the season is clear.”
  • A song that’s over- or under-used across the season gets a Quick Fix to rebalance it.

Keeping the season fresh

Add songs mid-season — usually by pulling from your box — and they land at the top of the Catalog rail in a green New — not in the mix yet section, each with a NEW pill. Tap Work them into the season and SET:IQ previews weaving each new song into the nights with the most runtime to spare, then applies it on your say-so. Two options ride along: Also add to template playlists and Rest over-used songs to make room (which trims only the fullest nights and always keeps your pins). Songs whose .fseq isn’t on the box yet are listed but sit out until you sync them.

The header Rebuild button now asks first, out loud. The Rebuild the season? dialog spells out its scope — how many nights are open, locked, or pinned, and which new songs will join — so a rebuild never quietly does nothing (it used to no-op on a fully-locked, FPP-imported season). An opt-in also rebuild FPP-imported nights unlocks and regenerates those too, and a toast afterward reports exactly what changed. Pinned songs and hand-edited nights are always kept.

Pre-show & after-hours

A pre-show loops before doors open; an after-hours loop keeps the display alive after the show closes so it doesn’t go dark. You set a show-wide default in Show settings → Before & after, and override it anywhere:

  • Per template — a template’s Pre-show and After-hours each switch between Show default and This template (a custom sequence and timing) — handy when the kids’ template skips after-hours but the late one runs it until 11:30.
  • Per night — in the Show night view, a Pre-show or After-hours card reading Edited tonight has overridden the default just for that date. The revert puts it back.

Triggers — commands during the show

A trigger fires something at a set moment. It can send an FPP command — turn the volume up at showtime, flip outputs on or off, run one of your saved command presets, or pick any command your box reports — or play a short sequence (a cue) from your catalog, like a chime or a station bumper.

You add them the same way in both places — the + Add pill on a separator, in a night’s timeline or a template’s block timeline. Pick the landmark it fires at: before the pre-show, at show start, at show end, when after-hours starts, or after everything ends. Triggers already set show as ⚡ and ▸ chips right on the line, each with an ✕. A cue and a mid-show clock-time trigger both show up as a marker inside the show itself.

  1. 1

    Open a separator and add one

    Choose the command — Set volume, Outputs on/off, a command from your box, a saved preset, or a raw command with arguments.
  2. 2

    Pick the box command from a live list

    The “command from my box” picker is filled from your FPP box’s own command list, so you only ever pick commands that actually exist.
  3. 3

    Refresh after you add commands on the box

    Added a new command on FPP? Tap the refresh button next to the picker to pull the latest list — it shows how fresh the list is.

PSAs — drop in an announcement

A PSA is a non-song sequence you slot into the night — a station ID, a “tune your radio to 88.1” spot, a “thanks for visiting.” Open the PSAs section in a template or night, pick a sequence, and choose the song it plays after — or check Repeat on a cadence to fire it every N songs all night. It shows up on the show day and as a small 📢 on the calendar.

The host system — Welcome, Goodnight & the buckets

Running a host on your matrix — someone who welcomes folks and gives the rules, pops back up with one-liners, then closes the night out? That’s Show settings → Showtime, under ONCE A NIGHT · HOST:

  1. 1

    Welcome

    Plays once per night, before everything (the FPP Lead In) — the welcome and the rules. It’s separate from your First song under EVERY LOOP, which starts every loop, so you can run both: host welcome once, then the first song each pass.
  2. 2

    PSA buckets — named sets with rules

    Make as many buckets as you need, each with a schedule rule. On call is the generic bucket: it feeds the PSA frequency and any “Random from …” slots, using the whole bucket before anything repeats. Guaranteed nightly plays one from its bucket every night (a 3-deep bucket covers 3 nights before repeating) — perfect for “one REQ:IQ explainer per night.” About once a week fires one pick on one random show night each week — the “Specter explains the show” special. Template specific is the bucket SET:IQ never schedules on its own — see below. Filling the generic bucket is one click if you tag bits psa-random in the catalog (likewise psa-opener / psa-closer for the pools) — or name your own tags in guided setup if your catalog files host content under something else.
  3. 3

    PSA frequency — a real setting

    The master cadence lives right below the buckets: “a PSA every N songs, from this bucket.” Templates inherit it; a template’s own PSAS card or a night’s PSA frequency control overrides it for that run or that night — settings → template → night, like everything else.
  4. 4

    Goodnight

    Plays once as the very last thing of the night (the FPP Lead Out, after the final loop finishes) — the sign-off.

Give an opener/closer pool several sequences and one is picked per night — in listed order or randomized. Theme and special nights can carry their own host spots: open the template and set its WELCOME or GOODNIGHT card to a sequence of its own. A PSA attached to a template directly stays out of the generic bucket unless you add it there too.

Structural songs stay out of the count

Your warm-up (pre-show), openers, closers, transitions, after-hours, and PSAs are structural — they play by design, every night, so they sit outside your season’s “songs used” count. The coverage readout (covered / N songs) counts only the rotation — the songs the Nightly Mix draws from — so a closer that plays 30 nights never looks like it’s crowding out the rest of your catalog. Structural roles are set on the season and Show settings screens, not in a night’s rotation.

A warm-up belongs to its own part of the evening, so it’s treated like one: the setlist never draws it as a regular song, it never counts toward your runtime target, and it isn’t offered as a theme tag. Tag it warm-up, pre-show, or preshow — all three read the same way (Show settings calls the part Warm-up).

What “BPM-aware” actually means

When at least 60% of your catalog has real BPM values, SET:IQ shapes a set like a DJ would: opener → slow build → peak energy → wind-down → closer. Songs without BPM are treated as mid-tempo so the order stays stable. Below 60%, you still get great setlists — just without the tempo shaping. The Energy arc sparkline shows the shape.

Setting the show up

The first-run setup wizard is a guided, centered modal that opens over the dimmed calendar, with a step rail and a live summary strip (“Oct 1 – Oct 31 · 31 nights · shows 7–9p …”) that updates as you go. It won’t close by accident — Escape and clicking outside are off, so a stray tap can’t discard your setup. There are four screens:

  1. 1

    Season & hours

    Your season’s date range and your show hours — the frame every night lives inside. Weeknights and weekends each get their own start and end, so a Saturday can open later than a Tuesday. Want the show to follow the sky instead of a fixed clock? Switch the start to Sunset-based (see below).
  2. 2

    Showtime

    How long the setlist runs and how it builds — runtime targets, the energy arc, and run bias, with a live preview of the arc.
  3. 3

    The rest of the night

    Warm-up (a lead time before doors, or a fixed start time), intermission (how many transitions per night, and whether to Randomize nightly or run In order across the season), and after hours (how long it runs for, or a fixed end time) — the pools every night and template inherit, so you set them once. It’s optional: skip it and every night just inherits sensible defaults you can change later. There’s a real Skip for now button, and the progress rail honestly records “skipped.”
  4. 4

    Starting layout

    Pick the layout to start from — Fresh every night (a new auto-built mix each night), One big show (one all-season playlist looping every night), Weekend & weeknight (two looping templates, each on its own nights), or Custom (nothing scheduled yet — start from an empty board and build the templates you have in mind first). Every season is templates underneath, so you can reshape it later either way.

Finish the wizard with Build my season — or Start building on the Custom layout, which opens the Templates panel so your first template is the next step.

After that, Show settings opens as one scrolling page you read top to bottom, in the order a night happens — Season & hours (the frame every night lives inside, including your Full-show nights), Warm-up, Showtime, Intermission, and After hours — while the rail on the left follows your scroll. The What you’ll get column on the right redraws your season live as you tinker, and carries the Manage templates and Re-run guided setup action buttons right above the save options. Changing anything ends with Apply & rebuild (keeps pinned songs and hand-edited nights) or Save without rebuilding if you don’t want tonight’s setlists touched.

Start at sunset

Under Season & hours, the Show start control has two modes. Fixed time is the plain clock start you set yourself. Sunset-based lets the show follow the sky: enter your US ZIP code and pick an offset — 30 or 15 minutes before sunset, right at sunset, or 15 or 30 minutes after. SET:IQ looks up the local sunset for your ZIP and fills the start in for you, showing a plain-English line like “Sunset in Denver, CO on Oct 1 is 6:43p — your show starts 6:13p (30m before sunset).”

  • It adjusts every night of the run, not just once — as real sunset creeps earlier through the season, your start time drifts with it, a minute or two at a time. The calendar times, the night drawer, and the FPP export all follow.
  • A small sun chip sits by the calendar legend whenever sunset mode is on; its tooltip shows the offset and reminds you it auto-adjusts. A single night you set by hand still wins over the sunset time.
  • Switch back to Fixed time any time and your start boxes come back exactly as they were.

Send it to your player

Pushing and pulling with your box lives in the FPP Hub — one place per show for connection status, your show key, and two-way sync. Full walkthrough: Connect FPP. Whatever’s on your calendar — the Nightly Mix and every fixed template — exports through one path, so your box always matches what you see.

  • Fixed templates export as recurring schedule entries using FPP’s day codes (every day, weekdays, weekends, a single weekday, and more), so a recurring template is one tidy schedule entry — not one per date. A weekday combo FPP has no single code for (Wed + Sat, say) becomes one recurring entry per weekday — two rows, not one for every date all season.
  • The Nightly Mix exports as one playlist and schedule row per date, exactly as it always has.
  • Each template becomes a playlist named <Show> - <Template>, plus its pre-show, after-hours, and trigger entries.
  • Running xSchedule? A native plugin pulls setlists the same way — see Connect xSchedule.

Pull a season in from FPP

Already built playlists and a schedule on the box? Pull from FPP reads them into your season — it re-dates the schedule to your season’s range and overwrites what’s on the calendar with what’s on the box, so SET:IQ becomes the single source of truth. It reads “runs forever” schedule rows and Lead In / Lead Out openers and closers, and overnight schedule entries stay pinned to the weekday they run, not spread across “every day.”

When your box pushes its playlists and schedule up on its own, a banner — “Your FPP pushed its playlists & schedule” — appears on the calendar with a Review & import button, so a push never looks like it did nothing. And when nothing can be placed, SET:IQ tells you exactly why — an outdated plugin sending names only, no catalog matches (with a couple of the box’s .fseq names to compare), or a schedule pointing at playlists the box never sent — instead of a silent empty calendar.

FAQ

Do I still pick a mode — Fresh nightly or Templates?

No. It’s one calendar now. A nightly auto-mix runs every night on its own, and you add fixed templates for the nights that repeat (a weekend loop, a theme night). The setup wizard still asks which layout to start from, but both live together afterward and you can add or remove either any time.

I want one big show that loops all season. How?

Make one template that runs every day. It covers the whole calendar and loops — no per-night mix needed.

Can I run a season with no Nightly Mix at all?

Yes. The nightly auto-mix is just a template whose playlist rebuilds each night, so you can remove it and run a season made only of fixed templates. A “Remove the Nightly Mix?” confirm keeps you from doing it by accident, and you can bring it back any time with + Restore nightly show in the Templates list. Those days still get the full calendar cell — composition ribbon, opener → closer art, and metrics — and the night drawer opens on the day’s first run.

I run a kids show 6–8 then an adult show 8–10. How?

Two templates, same days, different windows — Family Hour 6–8 and Late Night 8–10. They run back to back with no conflict, and stack as two bands on the day.

Two templates land on the same day. What plays first?

Both run, and the order comes from your Templates list — that list is the stack order, so drag a row there and every stacked night in the season re-sequences at once. Need a different order on one night only? Open that night and drag its run cards; the change stays on that date and never writes back to the list. On the calendar you’ll see a band for each (with a “+N more” row if there are several).

How do I run a template on just one night?

Open the day’s ⊕ menu and pick “Run a template this day,” or open the night and tap + Add on a separator in the run stack. It runs there once, as a one-off, marked with a 📌 — its weekly pattern isn’t touched.

My songs have no BPM — can I still use SET:IQ?

Yes. It builds and exports setlists either way. The tempo arcs and BPM-aware ordering switch on once 60% or more of your catalog has real BPM values.

Some songs show as locked after I synced with FPP. Why?

A locked song means its .fseq file isn’t on your FPP box yet, so SET:IQ won’t schedule it (better locked now than silent in front of an audience). Copy the file to FPP, then run Sync sequence list only from the plugin to unlock it.

What does the ACTIVE badge in the header do?

Nothing to click — it’s a status light. It means your whole season is live and pushes to FPP and REQ:IQ. There’s no on/off mode to manage anymore.
Stuck? Email support@lightsofelmridge.com — a real human reads it. Usually the same human who wrote these docs.