Visual Click Track

Stage display design research

Prior art, what musicians say they want, and ideas from other fields, for the stage display's design and layout. Gathered 2026-10-10 from web research (product docs, forums, blogs, papers). Every claim links its source. The last section compares the findings with what StageDisplay already does (as described in PROJECT.md §9 and §19) and suggests what to try.

Gaps:


1. The short version

  1. Nobody else in open source combines everything we do. A GitHub search for open-source projects with section + bar/beat + countdown + lyrics + phone sync finds only this repo. Commercially, AbleSet comes closest, and only for Ableton users. MultiTracks ChartBuilder and Loop's WorshipTools Charts follow their own players.
  2. The most-requested thing is "where am I and what's next, in bars." Musicians ask for remaining bars and beats in the section, not seconds. They ask for it earlier than the one-bar spoken guide cue, which players say "many times" comes too late.
  3. One timeline, many role views. Every mature product renders the same synced state differently per musician:
    • singers: lyrics with look-ahead
    • bass and keys: chord-per-bar
    • drums: count and map
    • MD: map, jumps and messages
  4. Section colour is the shared visual language. The song map, the current section label, the next section label, the progress bar and even the beat flash all carry the section's colour (AbleSet, ProPresenter, ChartBuilder). The colour change itself warns that a change is coming.
  5. Live changes must be visible to everyone. Musicians want to see a queued jump, a loop or vamp ("exit on cue"), "end after this" and hold. Accidental loops are a named fear. One Max for Live device turns its whole background a different colour when loop mode is on.
  6. MD → band messaging is a gap everywhere. People improvise it with hand signals, talkback, OnSong's coloured flashes and DIY cue-light boxes. They ask for:
    • a small fixed vocabulary of messages, plus free text
    • per-person targeting
    • a "band ready" or acknowledge loop
  7. Few things, very large. At the distances from distance research and real churches (55" at 12 m, 85" at 18 m), a 1080p screen holds only about five lines of "glance-readable" text. The common complaint is clutter, and users ask for every element to be optional.
  8. Trust comes from honest sync. Users want:
    • visible connection health
    • no frozen screen that looks live
    • followers running their own clock (we already do this)
    • a clear label on which device is in control
  9. Escalating urgency, as in theatre and broadcast. Warn, then standby, then go. Countdown granularity gets finer as the change approaches: sections, then bars, then beats. Keep a reserved "go" treatment and a strict colour grammar, with red only for faults.
  10. Accessibility doubles as robustness.
    • A strong visual beat with a structurally distinct downbeat helps deaf and hard-of-hearing players.
    • It also covers players with no IEMs and failed monitors.
    • Phone haptics are a cheap extra channel.

2. What musicians ask for (ranked)

Counts are the number of distinct sources or threads that raised the item. They are approximate, and Reddit is missing.

# Want ~Sources Representative evidence
1 Current/next section with a bar + beat countdown, visible early, including odd bars 9 A drummer asks for "remaining bars and beats in section" shown as 4 | 3, because an extra beat after a chorus isn't visible from bars alone (AbleSet forum). An MD writes "I find that many times the cues are late" (WorshipArtistry). A 2006 band wanted to see bars go by so they "can plot ahead" (Ableton forum). Tools built to fill the gap: Stage Bar Counter, Spacebar Counter.
2 Per-role, decluttered views; everything toggleable 9 One user tried "to toggle all the bars off that screen" (AbleSet). A bassist prefers chord-per-bar to lyrics (summary, TalkBass). "Your pastor may need a big, bold font… but that distracts your worship leader" (summary, Proclaim).
3 Readable at distance, in bad light 9 55" worked at about 40 ft, a 50" at 60 ft was hard (summary, Faithlife). Pure white on an 85" 4K screen was too glaring, and older singers preferred yellow on black (summary, Logos). iPads overheat in sun (Harp Column). Portrait for words has "better sightlines" (ControlBooth).
4 Live arrangement changes shown to all: queued jump, loop/vamp, end-after-this 8 The GO button "doesn't seem to flash the next sections" (AbleSet). Spontaneity is the main fear about tracks (Loop Community). Canned cues stop matching a rearranged song (WorshipArtistry).
5 MD → band messaging: fixed vocabulary, free text, per person, ready/ack 8 OnSong's Start (green), Continue (yellow) and Stop (red) flashes (OnSong). A "band ready" button, because on a big stage "it's hard to tell when a bandmate is tuning" (AbleSet). DIY MIDI cue-light boxes (Cantabile). Users ask for "Slow down / Speed up / 10 min…1 min" buttons (summary, Logos).
6 Lyrics with look-ahead: configurable per viewer, 2–4 lines, follows jumps 6 "The singer in my band wants to see the lyrics before they need to be sung" (AbleSet). Proclaim has a "Large Lyric Preview" mode for far monitors. One church uses white text with the next line in cyan (ControlBooth).
7 Trustworthy sync: visible health, graceful degradation, wired option 6 One reviewer called a ProPresenter Stage app "so slow it was unusable" (summary). MultiTracks says Wi-Fi causes late lyrics (help). Planning Center Music Stand sessions are a "single point of failure" (review).
8 Between-song flow: next song, key, capo, tempo, metre, count-in, transition note 6 OnSong's "Up Next" message. Transitions are "the number one most overlooked rehearsal component", and drummers count in the wrong tempo (summary, worshipleader.com).
9 Key/capo/chord-format flexibility: live transpose, capo shapes, letters, Nashville numbers, solfège 6 ChartBuilder offers letters, Roman numerals, Nashville numbers and Do-Re-Mi (guide). "Numbers are infinitely easier to sign with your hand" (Loop).
10 Glanceable, not readable: support eyes-up playing 4 A drummer keeps his eyes "glued to the worship leader" (WorshipArtistry). Rachel Baiman says a tablet "builds a barrier" with the audience (NoDepression).
11 Visual beat for accessibility 4 Mandy Harvey relies on "visual cues from her band" (KUNC). DeafBeat rehearse with mirrors (FMT).
12 Show-time countdown (allotted time, not the setlist sum) 2 AbleSet
13 Cheap hardware: any browser, Raspberry Pi, a TV on a stand 5 About $250–300 per station (OnSong); a Raspberry Pi stage display for about AU$100 (Media Realm).
14 Rehearsal mode: full chart, one version of the truth 3 "Three different versions of the song floating around" (PraiseCharts)

What the forums say about spoken cues: no one wants to drop audio cues. They want visuals alongside them. Spoken cues serve eyes-busy moments. Visuals serve planning ahead. PraiseCharts warns that over-cueing makes "worship robots" (blog), which argues for cues that each user can hide.


3. Prior art

3.1 Commercial

AbleSet (Ableton setlist manager; browser views on the LAN). This is the benchmark. Home, all docs.

Data model. Songs and sections are Live locators or clips. Section colours come from [blue] tags or clip colours. A Measures track names each bar, so the display can say "Intro 1–4" or show rehearsal letters instead of absolute bar numbers.

Performance view.

Canvas is a free-placement editor (docs). Its elements:

Screenshots: countdown, end time.

Lyrics view (docs):

Cues (docs):

AbleNet fails browsers over to a backup machine.

MultiTracks: Playback and ChartBuilder. Playback guide.

Playback:

ChartBuilder is the follower app and the best-documented role design (guide):

Screenshot: Playback.

Loop Community Prime.

ProPresenter 7 stage layouts. Free-form boxes (RV):

Layouts switch automatically from actions on slides. Life.Church's three production layouts (KB):

Images: 1 2 3.

Criticism: users want the whole next slide at an adjustable size (Faithlife), and keep chords in slide notes as a workaround.

Planning Center Services LIVE. LIVE 3. It has three countdown modes:

It also shows projected times, offers light and dark themes, and has a green-screen variant. Music Stand: a beat flash, and the leader turns pages for everyone. A green "in control" bar and a red "following" bar.

OnSong.

BandHelper.

Stage Traxx 4: colour-coded audio regions you can loop, skip or extend; LRC-timed lyric scrolling; network sessions (site, regions image). ShowPulse: individual chord sheets per musician, chosen by the viewer (site). LivePrompter:

DAW show modes.

Show timers. Ontime and Stagetimer.io are below under open source; they set the conventions for "confidence monitors". QLab shows GO / Standby / Notes, and the QRT browser view adds current and next cue plus time remaining.

Soundbrenner: a colour per beat, three vibration types (downbeat, offbeat, subdivision). Users asked for a downbeat-only flash (suggestion). forScore Cue: the leader turns pages, and Dual Page spreads one score across two iPads.

3.2 Open source and DIY

Ontime (GPL, browser views): repo, docs.

Screenshot.

Stagetimer.io: features.

Images: timer, devices.

FreeShow: stage docs.

OpenLP Stage View: manual.

Quelea: users ask for chords to stay on via the URL (volunteers forget the toggle) and for a fixed text size, because auto-fit makes the text jump between slides (forum). The lesson is to fit text per song, not per slide.

DAW glue:

Visual metronomes:

Hardware:

Accessibility research:


4. Ideas from other fields

Type size for distance. Cap height to viewing distance:

Use Ratio Basis
Glance in < 1 s (section, countdown, bar) ~1:100 ADA 703.5.5 adds 1/8" per foot ≈ 1:96 (table)
Read when you choose to look (lyrics, chords) ~1:170 20–22 arcmin "assures legibility" (Activu, FAA HF)
Signage minimum, stopped reader ~1:400 studiomatrx

Worked example. A 55" 1080p panel at 8 m:

At 1920×1080 our canvas has the same pixel budget, so this is a real constraint for DISP-Q1.

Typefaces.

Polarity.

Colour vision.

Peripheral vision.

Glance time. Racing gives a pit board about 1 s, so it uses fixed rows and shorthand: P3, L12, +1.4 (F1Technical). NHTSA limits glances to 2 s and rules out auto-scrolling text (SWOV). For us that means fixed positions that never move between songs, and lyrics that step line by line rather than scroll smoothly.

DJ software.

Rhythm games.

Karaoke. Show at most two lines: the current one and the next. The line appears about 1 s before its wipe starts (kbp2ass). The fill colour can show the part (lead, harmony, all).

Conductors.

Theatre cue lights.

Broadcast.

Rocket launches, T- vs L-.

Flight decks.

Progress bars. People tolerate slowness early in a progress bar but not near the end (Harrison, UIST 2007). For us, subdivide the last bar into beats so the end of a section reads precisely. Bar cells grouped in fours can be counted at a glance (subitised) rather than read.


5. StageDisplay today vs the research

Based on PROJECT.md §9 and §19 and the built-in layouts, as of 2026-10-10.

Already strong (matches or beats prior art)

Worth adding or changing (ranked by evidence × fit)

  1. A bars-to-next countdown before the last bar. The current count-in only starts in the section's last bar, and NOW shows bar NN / total. Musicians and DJs ask for "Chorus in 3 bars". Let the precision step up as the change approaches:

    • in 8, then in 4 bars, then the existing 3·2·1 beats
    • remaining shown as bars | beats, to cover odd bars (the drummer's 4 | 3)
    • optionally a row of bar cells grouped in fours, filling one per bar
  2. Warn → standby → go for markers and section changes.

    • Warn: the marker appears on the map or NEXT N bars ahead, set per cue or per role ("patch change: warn 4 bars early").
    • Standby: amber card or border, slow pulse then fast pulse in the last 1–2 bars.
    • Go: one reserved treatment, on the beat.
  3. Colour grammar review. The downbeat flash is red. Theatre, cockpits and the colour research all reserve red for faults and stops; Soundbrenner says "If every mark is bright, nothing is bright." Options:

    • tint the flash with the current section's colour (AbleSet), or with the next section's colour on the last beat before a change (the conductor's preparatory beat)
    • keep red only for HOLD, STOP and lost sync

    Also check the section palette against Okabe–Ito or a colour-vision simulator. Make sure every block has a text or letter badge, which it mostly does already.

  4. MD → band messages with acknowledgement. The granted host (or the player) sends:

    • a fixed vocabulary: REPEAT, WATCH ME, END, BUILD, DOWN, TO BRIDGE, VAMP
    • free text, auto-fit, with time on screen scaled to length (OnSong: ⅓ s per word)
    • optionally to one role or one screen

    Phones can tap to acknowledge, and the player's H list shows who has seen it (the theatre "flashing → steady" loop). A "band ready" tick before a song falls out of the same mechanism. Five or more sources ask for this, and none of the products does all of it.

  5. Queued jumps visible on every screen. When the host queues a section, show it on the map (target outlined, "→ BRIDGE at bar 8") and in NEXT. Add end after this section as a state. This is a known AbleSet gap.

  6. Sync health on phones and stage displays.

    • A small lock dot (tapbox): solid when locked, blinking while catching up, hollow when offline.
    • A whole-screen "stale" treatment after N seconds without state (JVMetro turns the window red), so a frozen screen never looks live.
    • A "follower" label on remote devices (Playback's orange banner).
  7. Views configured in the URL. ?layout=, ?theme=, ?role=, ?chords=numbers, ?lyricsAhead=2 (Ontime, FreeShow, Quelea). Each phone or TV then remembers its role from a bookmark, and the QR code could encode a role. Roles are currently not sent to phones (PROJECT.md §1 stage 4).

  8. Role presets as built-in layouts. We have stage, focus, lyrics, sheet, singers and strip. Make the role set explicit and name them by musician:

    • Drums: map + big countdown + beat cells, longer look-ahead
    • Vocals: karaoke-large + next-section first line + section name
    • Keys/Bass: chart (chord per bar) + map
    • MD: map + jump buttons + messages + set time
    • Distance: three items, huge
  9. Distance-driven sizing (DISP-Q1). Ask for the screen diagonal and the farthest player's distance. Derive the theme's text scale from the ratio table in §4, and warn when a layout's glance text is too small at that distance. Combine this with the planned live-checklist test: farthest distance, a 1-second glance test, a colour-vision simulation, and an off-axis check.

  10. Vamp/hold honesty. In hold or an unreleased loop:

    • freeze the countdown visibly ("HOLD · vamp", hatched NEXT)
    • add a small "bars in vamp" counter (the T- vs L- clock idea)
    • keep the "loop is on" state as a background or border colour change, not just a tag
  11. Between songs. An "Up Next" card with the song, key, capo, tempo, metre and a transition note (pad, segue, count-off by whom). The set clocks: remaining in song, remaining in set, and expected set end (AbleSet, Planning Center).

  12. Lyrics refinements.

    • Beat bubbles in instrumental gaps before the next vocal line (AbleSet).
    • A per-viewer look-ahead offset in beats.
    • The first line of the next section shown during the count-in. The next-lyrics widget may already do this.
    • Step line by line rather than scrolling smoothly on far screens.
    • Fill colour by part (lead, harmony, all) using lead= and harm=.
  13. Chord formats. Nashville numbers and Roman numerals as a per-view option, and capo shapes vs sounding chords (we have capo:). ChartBuilder and ProPresenter both do this.

  14. Phone extras.

    • Optional haptic beat on Android (navigator.vibrate), with distinct patterns for the downbeat and for "change next bar".
    • Per-device flash intensity and reduced motion (web-band).
    • Keep the screen awake.
    • Lock by default so a stray tap can't move the transport (Stage-Dash).
  15. A look-ahead lane (experimental). A horizontal "section highway" with a fixed now line about 25% from the left. Upcoming bars, section blocks and cue glyphs (stop, hit, key change, tacet, fill) scroll toward it. Add an optional osu!-style approach ring on hard hits. This is a DJ-waveform and Rock Band hybrid that no worship product has. It needs the distance-sizing work first, because it spends screen area.

  16. External integrations. Expose section, next section, bars-to-next, tempo and colour as simple OSC or HTTP values, so Companion, Stream Deck and TouchOSC users can build their own small displays. Add an "identify" flash on a chosen screen from the H list (Stagetimer).

Layout sketches

All on the 1920×1080 canvas. Glance text is ~180 px. Everything else is secondary.

DRUMS / DISTANCE (pit-board rule: 4 fixed rows)
┌───────────────────────────────────────────────────────────┐
│ CHORUS 2                                     bar 6 / 8    │  ← section in its colour
│                                                           │
│        BRIDGE  in 3 bars         ▮▮▮▯  ▯▯▯▯               │  ← next in its colour + bar cells
│                                                           │
│   [ 1 ]  [ 2 ]  [ 3 ]  [ 4 ]                              │  ← beat cells, beat 1 larger
│ ▕I▕ V1 ▕ C ▕ V2 ▕ C2▕▓▓B▓▓▕ C ▕ O ▕   ← map, playhead     │
└───────────────────────────────────────────────────────────┘

VOCALS
┌───────────────────────────────────────────────────────────┐
│ VERSE 2 · lead: Sam                        → CHORUS in 2  │
│                                                           │
│   The line being sung, very large                         │
│   the next line, dimmer                                   │
│                                                           │
│ ● ● ● ●  (beat bubbles in gaps before the next entry)     │
│ ▕I▕ V1 ▕ C ▕ V2 ▕ C2 ▕ B ▕ C ▕ O ▕                        │
└───────────────────────────────────────────────────────────┘

LOOK-AHEAD LANE (experimental)
┌───────────────────────────────────────────────────────────┐
│ CHORUS 2   bar 6/8                    BRIDGE in 3 bars    │
│        │                                                  │
│ ───────┼──┬──┬──┬──╫━━━━ BRIDGE ━━━━━━━┬──⊗STOP──┬──      │
│   now ▲│  6  7  8  ║1  2  3  4  5  6  7│8        │        │
│ ▕I▕ V1 ▕ C ▕ V2 ▕ C2 ▕ B ▕ C ▕ O ▕   (whole-song map)     │
└───────────────────────────────────────────────────────────┘

6. Where to look next