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
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
Set your request schedule
On the Schedule tab, pick which nights take requests. The viewer page respects these dates automatically. - 3
- 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.