Playback Pi™ — Version 3.13 — August 7, 2026

Fixed

Added

Playback Pi™ — Version 3.12 — August 7, 2026

Fixed

New

With an unvalidated film: PLAY on Intro and Countdown starts them; PLAY on the Feature Film is refused with a visible reason and the existing validation / PLAY ANYWAY path.

Playback Pi™ — Version 3.11 — August 7, 2026

Fixed

Changed

Playback Pi™ — Version 3.10 — August 6, 2026

Changed

Added

Fixed

Playback Pi™ — Version 3.9 — August 6, 2026

Fixed

Playback Pi™ — Version 3.8 — August 6, 2026

New: Projector hotplug recovery

When HDMI is plugged in or powered on while the app is running, VLC is raised to the front and display placement is retried with a 15-attempt budget. Idle and loop playback can be safely restarted if placement cannot be confirmed. The feature film is never interrupted mid-show.

New: Validation PLAY ANYWAY override

After a failed FILM VALIDATION the operator can choose PLAY ANYWAY to continue without a clean pass. The override is acknowledged on screen and cleared automatically if the film changes on disk.

New: Waveshare double-tap navigation toggle

NEXT and BACK on the 800 px Waveshare touchscreen now require a guarded double-tap to prevent accidental mid-show track skips. Larger screens and the simulator are unaffected.

New: Video fade to black on show end

When the final video track fades out its audio, the video brightness ramps to black over the same duration — a clean visual ending without a hard cut.

New: Enlarged SHOW transport buttons

BACK, PLAY/PAUSE, and NEXT are larger and easier to tap on the touchscreen. The hold-fill animation no longer overflows the button boundary.

New: Reset-to-Top stops all media immediately

Confirming RESET TO TOP OF SHOW now stops the main video engine and the background music bed before the transition begins.

Fixed: Sponsor intro no longer blocked by film validation

The Showtime lock now gates only the feature-film track. The sponsor intro and countdown play freely even on a Pi that has not yet validated its feature film.

Fixed: Hold-to-pause on final reel fades video to black

The manual end-of-show pause now starts the video brightness ramp at the same time as the audio fade, matching the automatic fade behaviour for finite tracks.

Fixed: MONITOR floating window positioning

The browser monitor overlay is positioned at the document body level so it is never clipped or hidden by a view section’s overflow boundary.

Playback Pi™ — Version 3.7 — August 5, 2026

Native app boot

Playback Pi™ — Version 3.3 — August 5, 2026

Fixed: Monitor Always Stays in Front

The floating browser monitor now uses a top UI layer above panels and modals, so it cannot disappear behind the Playback Pi application. Touchscreen open/close behavior is reliable, and tapping the monitor closes it.

Fixed: TEST AUDIO No Longer Cycles the Monitor

TEST AUDIO is isolated from normal monitor synchronization, so starting a tone cannot unexpectedly open, close, or cycle monitor content.

Fixed: Pi Volume Curve Across the Full 0–100% Range

Hardware volume remains at its reference level while Playback Pi applies attenuation once, making low and mid-range volume usable.

Improved: Automatic Projector Placement After Boot

Startup now verifies the projector output and corrects its placement when needed.

Improved: Offline Operation Guidance

The operator guide now documents which operations need internet access and which continue working offline.

Fixed: Stale UPDATE AVAILABLE Banner

A client that is newer than the server no longer gets trapped in a persistent update banner loop.

Playback Pi™ — Version 3.2 — August 5, 2026

New (August 5, 2026): Confirm the Folder Before an Upload Lands

Uploaded files now wait in a holding area until the operator confirms the destination folder on screen — no more files landing in the wrong place. Unconfirmed uploads are cleaned up automatically.

New (August 5, 2026): Built-in VOB-to-MP4 Converter

A feature film supplied as a DVD .VOB is recognised everywhere media is handled, and a new CONVERT tab in the MEDIA modal re-encodes it to MP4 with live progress. The show switches to the converted file automatically; an unconverted VOB is a validation warning, not a failure.

Fixed (August 5, 2026): Headphone Jack Silent on Pi OS Bookworm

The app now detects the sound server at startup and routes audio correctly on Bookworm (PipeWire), unmutes the jack, and adds a TEST TONE button (SETUP → VOLUME DEFAULTS) so the output can be verified in seconds. The DIAG screen shows the audio stack, sink, mute state, and level.

New (August 5, 2026): Venue Passcode From the Console

CHECK FOR NEW FILES now uses the passcode typed in the MEDIA screen, so a fresh Pi can authenticate immediately; a passcode that works is remembered. A clear “enter the venue passcode” message replaces “Forbidden”.

New (August 5, 2026): Hide Music Tracks a Venue Doesn’t Use

A missing background-music track can be marked NOT USED — HIDE in the assign screen, clearing the warning banner. Undo any time with FLAG IF MISSING; the warning returns automatically if the venue starts using the track.

New (August 5, 2026): Recent Transfer History

The MEDIA modal’s UPLOAD and DOWNLOAD tabs now list the most recent successful transfers in each direction.

Improved (August 5, 2026): Clearer Validation Feedback and Monitor Close Button

The FILM VALIDATION modal shows explicit working/failed states, the browser monitor window gained a large X close button, and TEST AUDIO now silences competing browser audio during the test.

Playback Pi™ — Version 3.1 — August 5, 2026

Fixed (August 5, 2026): Passcode Privacy on Firmware Downloads

The browser “Download zip” button no longer places the media passcode in the download URL (where it appeared in server access logs). The passcode now travels in a request header and the zip is saved via an in-browser download.

Fixed (August 5, 2026): Stale Browsers Auto-Reload After an Update

The operator interface now compares its own version against the server on every status poll. A browser left running an older cached interface reloads itself once automatically (and shows a tap-to-reload banner if that isn’t enough), so venues can never upload or operate through outdated code.

Changed (August 5, 2026): Upload Folder Label

The upload folder “Sponsor Thank You (A/V)” is now titled “Post-Show Sponsor Thank You (A/V)” for clarity.

Fixed (August 5, 2026): Imported Media Names No Longer Block Playback

Supported media now tolerates case, spaces, hyphens, underscores, small typos, descriptive imported names, and equivalent video containers such as .m4v versus .mp4. The real on-disk path is corrected automatically for validation, playback, previews, and music playlists. Selection is deterministic and entirely local, so venues do not need internet, Wi-Fi, or a manual rename.

New (August 5, 2026): Force Firmware Update Repairs Broken Installs

Pressing UPDATE NOW (or the new REINSTALL FIRMWARE button when versions already match) asks for one on-screen confirmation, then forces a full reinstall: the app, scripts, docs, and every file in the install root directory are refreshed from the release zip. Root files are backed up and restored automatically if the new version fails to start.

New (August 5, 2026): On-Screen File Assignment, Saved for the Future

When a filename can’t be matched confidently — or a slot’s file is missing — the console shows an ASSIGN FILE screen. The operator picks the correct file from the slot’s folder, confirms on screen, and playback continues. Confirmed choices are saved on the Pi and reused on every future boot, so the question is never asked twice. Entirely offline.

Improved: Validation Panel Overhaul

The PASSED/FAILED/RUNNING status badge now sits in the accordion header so it is always visible whether the panel is open or closed. QUICK CHECK and FULL CHECK are displayed side by side at full button size and never clip off the 800×480 screen. Fixed a crash that prevented any accordion in SETUP from opening (null header guard on the GEOMETRY panel).

Improved: SETUP Right Panel Always Fits at 800×480

The Geometry and System sections now reliably fit on one screen without scrolling. Scrollbar hidden; Swap Displays hint shortened to “Projector ↔ Control Interface”.

New: Feature Film Auto-Promotion

A 15-second demo film is generated on a fresh install so the show controller has something to play immediately. When the operator drops any video file (any filename) into media/20-showtime/, the app detects it on the next restart and promotes it to the feature film slot automatically — no renaming required. The demo is overwritten and its marker removed.

Safety guarantees: a real (non-demo) feature film is never overwritten by promotion, and files that belong to the show — the sponsor intro, countdown, or anything referenced by the show configuration — are never treated as dropped films.

New: Wayland Display Support

Projector and control-touchscreen pinning now works on Pis that boot into a Wayland session, not just X11: VLC fullscreen lands on the projector and the kiosk fills the control panel. The Swap Displays setting takes effect on Wayland sessions too.

New: Audio Status on the DIAG Screen

DIAG now shows the active audio output device and whether hardware volume sync is engaged, so audio routing problems are visible at a glance.

Fixed: False “Missing File” During Prep

Validation resolves harmless filename differences (case, spaces vs hyphens or underscores) to the real on-disk file — and playback uses the same resolved path. Checks that run while media is still downloading now say “Media still downloading — try again shortly” instead of reporting a missing file.

New: Simulator Banner

When the operator interface is opened from a browser on any device other than the Pi itself, a persistent amber banner reading “SIMULATOR — browser-based Playback Pi demo” appears below the header on every tab. The Pi’s own Chromium kiosk shows no banner.

New: Media Transfer for Sealed Enclosures

Show files (announcements, music, sponsor reels) can now be replaced without opening the enclosure or removing the SD card. Upload new files from any browser to the media server, then press CHECK FOR NEW FILES on the Pi (in SETUP → MEDIA, or PREP step 1) and DOWNLOAD. Replaced files are detected even when the filename is unchanged. The feature film is never transferred or overwritten by this path.

New: “Check for Updated Files” Prep Step

The prep checklist begins with a new step that asks the media server whether any show files changed. A clean check (or a completed download) confirms the step automatically; READY FOR SHOW now requires it.

New: Passcode Protection for Uploads & Downloads

All media uploads, media downloads, and firmware downloads are protected by a single passcode. Enter it once in SETUP → MEDIA; the Pi remembers it for its own update downloads. Venues still on pre-passcode firmware can continue to use one-button UPDATE during a grace period.

Changed: DVD RIP Panel Renamed to MEDIA

The SETUP accordion now groups DVD ripping and media transfer under one MEDIA panel.

Improved: SETUP Rebuilt as Full-Screen Section Panels

The SETUP tab now shows seven large tiles — MEDIA, FILM VALIDATION, VOLUME DEFAULTS, SWAP DISPLAYS, GEOMETRY, MUSIC DUCKING, and TRACK PREVIEW. Tapping any tile opens a near-full-screen panel; tap the X in the top-left corner to return to the tile grid. Each section now has room to breathe at 800×480 and nothing clips or requires horizontal scrolling. The MEDIA panel uses three tabs — DVD RIP, UPLOAD, and DOWNLOAD — so only one section is visible at a time.

Improved: Film Validation Buttons with Full Descriptions

Inside the FILM VALIDATION panel, QUICK CHECK and FULL CHECK are stacked vertically, each as a full-width button with a single-line description directly below it. QUICK CHECK spot-checks the start, middle, and end of the film (1–2 minutes); FULL CHECK decodes the entire film to rule out any corruption (about 2 minutes per hour). The result and progress bar appear below.

Changed: Validation Panel Renamed to Film Validation

The SETUP tile and panel heading now read FILM VALIDATION to make clear this step applies to the feature film specifically.

New: Track Preview as a Full-Screen Panel

TRACK PREVIEW is now a dedicated full-width tile that opens its own panel, keeping the main SETUP tile grid clean. Tracks are shown in a three-column card layout; pressing PLAY on any track opens a floating picture-in-picture monitor window (the same orange-bordered overlay used by the browser monitor on the SHOW tab). The window closes when the track ends, when the X is tapped, or when a modal is opened. The test pattern does not appear here — it is not a show track.

New: Operator Manual Accessible from the App

Tap the ? button in the header to open the tab guide, then tap OPERATOR MANUAL to view or download the full Installation & Operator Guide PDF.

Improved: Touchscreen Readability Throughout SETUP

All text inside the SETUP section panels has been enlarged for the 800×480 Waveshare touchscreen: section headings, button descriptions, hints, labels, and the upload controls (folder dropdown, file picker, password field) are now set at sizes that are easy to read and tap without squinting. Each panel is also explicitly bounded to 720×432 pixels so the header and close button always stay on screen and all content is reachable via scroll.

Improved: Upload Folder Names Now Human-Readable

The destination folder dropdown in SETUP → MEDIA → UPLOAD now shows plain names — Pre-Show, Showtime, Sponsor Thank You, Post-Show, Background Music — instead of the raw directory names (10-pre-show, 20-showtime, etc.) that were visible before.

New: Audio Output Device Shown at PREP Audio Step

The Audio audible at PA step now shows the VLC-resolved ALSA output device directly below the step hint, so the operator can confirm the TEST AUDIO tone is playing through the same PA output as the show audio — not a built-in speaker.

New: Veley Productions Favicon

The VP favicon now appears in browser tabs when the operator UI is open.

Playback Pi™ — Version 2.22 — August 1, 2026

Fixed: False "Missing File" During Prep

Validation now tolerates harmless filename differences (case, spaces vs hyphens) and resolves to the real on-disk file — playback uses it too. Checks run while media is still downloading say "Media still downloading — try again shortly" instead of "Missing file". Genuinely missing files list similarly named videos so a manifest typo is easy to spot.

Fixed: Validation Buttons Could Be Clipped Off the Pi Screen

QUICK CHECK and FULL CHECK are now always visible and tappable at 800×480 in every state; long failure messages expand on tap.

New: Swap Displays Button (SETUP → SYSTEM)

Switches the two screens’ roles at runtime for venues wired in reverse — always behind a confirmation dialog, never shown on the projector output, and persists across reboots.

New: Display Pinning on Wayland

Pis that boot into Wayland (Pi OS Bookworm default) now get the same touchscreen/projector layout automatically. X11 behavior unchanged.

Improved: DIAG Shows Real Audio Routing

New "Audio Output" and "HW Volume Sync" rows show the actually-resolved audio device and whether hardware level sync is active.

Hardening

2-second clock tolerance on the film staleness warning; DIAG audio row survives malformed rip records; installer temp-file race fixed; 228 regression tests.

Playback Pi™ — Version 2.21 — August 1, 2026

Headphone Jack Is the Default Audio Route

The Pi’s built-in 3.5mm headphone jack is auto-detected at startup and used for both the feature audio and the background music/announcement bed — no audio setup step. scripts/configure-audio.sh remains as an override for venues needing a different output.

Hardware Volume Follows the Master Volume

The jack’s hardware level tracks the app’s master volume at all times — UI changes, per-stage defaults, and startup are mirrored to the system level, and the link is re-established automatically after a reboot.

VLC Follows Operator Commands — Verified Continuously

The app checks once a second that VLC’s actual volume and play/pause state match what the operator commanded, and re-asserts the command if VLC drifted.

Installer

alsa-utils is now installed (provides the mixer tool for the level sync).

Playback Pi™ — Version 2.20 — August 1, 2026

New: Live Projector Output While Corner Pinning

Opening the Corner Pin editor now immediately puts the alignment test pattern on the projector, so every corner drag is visible live against the physical screen — no more adjusting blind.

New: A Changed Feature Film Re-Checks Itself

If the film file changes after validation (new rip, replaced file), pressing PLAY no longer dead-ends on "revalidate before Showtime". The controller automatically starts a re-validation, keeps the cue staged, and unlocks Showtime as soon as the check passes — PLAY again and the show continues.

Fixed: Holding PLAY on a Cued Item Could Silently Do Nothing

When an item like the Intro was cued and PLAY was held to confirm, the command could be refused — most commonly because Showtime is locked until the feature film passes validation. The console showed CONFIRMED but nothing played, and the cue quietly disappeared.

Fixed: RESET Touch Reliability

The RESET (top of show) button could drop its press-and-hold on touchscreens when the browser treated the hold as a scroll. Touch handling corrected.

Bug-fix release only — no show-night behavior changes.

Playback Pi™ — Version 2.19 — July 31, 2026

Fixed: "Download failed: not found" During One-Button Update

The server advertised version 2.18, but the firmware file itself was missing from the published app — the publish process had been configured to leave it out. Pressing UPDATE NOW failed with "Download failed: not found" while the old version stayed installed. The publish configuration now always includes the firmware file.

Fixed: Release-Notes Date and Focus

The v2.18 notes carried the wrong date (July 30 instead of July 29) and described multi-model compatibility that doesn't apply to this single Raspberry Pi 4B installation. Notes corrected; all releases are now dated in U.S. Central Time.

New Safeguards

Bug-fix release only — no show-night behavior changes.

Playback Pi™ — Version 2.18 — July 29, 2026

Boots Automatically on Power-Up

Playback Pi™ now starts itself every time the Raspberry Pi 4B powers on. Previously the show controller was running in the background, but the touchscreen stayed blank after a cold power cycle — requiring a manual restart before the operator console would appear.

The root cause was a misconfigured system service registered against a boot trigger that never fires. The installer now uses the correct boot target so the console is ready within about 90 seconds of power-up, with no keyboard, mouse, or remote access needed.

Acceptance Check — Cold Power-Cycle

This is a reliability release only — no show-night behavior changes. The fix applies automatically via install.sh or the one-button FIRMWARE update.

Playback Pi™ — Version 2.17 — July 25, 2026

One-Button Self-Update

The Pi can now update its own firmware in the studio without a computer, terminal, or SD card.

How it works (v2.18 and later):

Total time: approximately 3–5 minutes, unattended after pressing UPDATE NOW.

A red UPDATE badge appears on the FIRMWARE button automatically whenever a newer version is available.

What updates automatically

What is never touched

Safety interlocks

Important: Because self-update is new in v2.17, this version still requires the manual install process. After this one-time install, all future updates can be done using the one-button UPDATE flow.
cd ~
rm -rf playback-pi
unzip -o playback-pi-v2.17.zip
cd playback-pi
bash install.sh

Playback Pi™ — Version 2.16 — July 24, 2026

Firmware Download from Console

A new FIRMWARE button in the footer lets the operator download the latest firmware zip directly from the Playback Pi web interface. This means a technician can update the Pi without switching to a laptop to fetch the release file.

The server exposes this through the same API the console already uses:

GET /api/firmware/download

If the firmware zip is not present on the server, the button shows a clear "Firmware download unavailable" message instead of failing silently.

Playback Pi™ — Version 2.15 — July 24, 2026

DVD Rip Polish & Reliability

This release refines the DVD rip workflow introduced in v2.14, adds pre-show visibility for the ripped audio track, and fixes reliability edge cases.

Playback Pi™ — Version 2.14 — July 24, 2026

DVD Rip

New weekly workflow: insert a commercial DVD into an Apple USB SuperDrive connected to the Pi, rip the feature film directly to the show's media slot, and have it validated automatically — all without leaving the operator UI.

How it works:

Commercial DVD Decryption

The installer now sets up the CSS decryption library (libdvd-pkg) and lsdvd so VLC can read commercial retail DVDs. Both are installed automatically by install.sh.

Playback Pi™ — Version 2.13 — July 22, 2026

Field-Install Reliability

This release fixes field-install failures on fresh Raspberry Pi OS (Bookworm) systems. No show-night behavior has changed.

Playback Pi™ — Version 2.1 — July 20, 2026

Resume Seek, Music Shuffle, and Pause Fade

Playback Pi™ — Version 2.0 — July 19, 2026

Mid-Show Recovery, Backup-Config Banner, and Validation Redesign