Skip to main content
6 min read

REQ:IQ — Song Requests

Your audience picks songs from their phones. The show plays them. Nobody texts you 'CAN U PLAY FROZEN' ever again.

REQ:IQ gives your show a public viewer page where people at the curb can see what’s playing, watch what’s coming up, and request a song. Requests slide into your player automatically — with guardrails you control, so one enthusiastic kid can’t queue “Baby Shark” eleven times.

The big picture

  • A viewer taps Request on your page → it joins the queue.
  • Your player connection (the FPP plugin or the xSchedule bridge) inserts the song right after the current one.
  • The queue advances pending → playing → played, live on everyone’s phone.

Set it up

  1. 1

    Pick your safeguards

    In REQ:IQ → Safeguards, choose a preset (Relaxed, Standard, Strict) or tune it yourself: queue depth, per-viewer limits, request spacing, same-song cooldown, back-to-back prevention, and song fatigue (auto-hide a song after N plays in a night).
  2. 2

    Set your request schedule

    On the Schedule tab, pick which nights take requests. The viewer page respects these dates automatically.
  3. 3

    Connect your player

    FPP: install the plugin and click Enable REQ:IQ (guide). xSchedule: run the bridge (guide).
  4. 4

    Share the viewer page

    Put the link (or a QR code) on a yard sign. Your catalog even seeds itself from the sequences on your player — zero uploads needed.

What viewers see

  • Request tab — a Now Playing card (with album art, time remaining, and lyrics when available), Up Next, and a searchable song grid. After requesting, there’s a short undo window in case of a mis-tap.
  • Suggest tab — viewers can pitch songs you don’t have yet, and see whether you accepted or declined past suggestions.
  • About tab — your show info, FM frequency, and socials.

Your side of the booth

  • Live — the queue in real time. Force-play a request to the front, remove one, or clear the lot. A status card shows live/offline and tonight’s stats.
  • Analytics — request volume, most-requested songs, and rejection reasons (great for spotting safeguards set too tight).
  • Suggestions — review viewer pitches: Accepted, Declined, or Already have it.
  • Branding — make the viewer page look like your show, not ours.

FAQ

A request was rejected with 'queue full.'

That’s the queue-depth safeguard doing its job: it caps how many pending songs can wait at once. When one plays, a slot opens up.

What's the difference between cooldown and spacing?

Same-song cooldown is per song: after it plays, nobody can request it again for that long. Request spacing is per person: one viewer can’t fire requests faster than the interval you set.

A song shows as 'fatigued.' What now?

It hit your per-night play limit, so it’s resting until tomorrow. Even “Feliz Navidad” needs a breather. Raise the fatigue threshold in Safeguards if you disagree.

How do I play a specific request right now?

Live tab → find it in the queue → Play. It jumps to the front and interrupts (or waits — your choice in Safeguards).

The page says the show is offline but my lights are clearly on.

The heartbeat from your player isn’t arriving. On FPP, toggle REQ:IQ off and on from the plugin page; on xSchedule, check that the bridge console is running and error-free.
Stuck? Email support@lightsofelmridge.com — a real human reads it. Usually the same human who wrote these docs.