Playback Pi™ — Version 3.13 — August 7, 2026
Fixed
- The console and the video land on the correct screens on new-OS (Bookworm/Wayland) Pis — on the OS venue Pis run, the operator console could open on the projector and START PROJ. could put the movie on the little touchscreen. Every placement step silently failed there: the layout service guessed its display system from settings that aren't present at boot, the console browser used a mode that ignores window-position instructions, and the video player picked its screen from a list that didn't match what it actually displays on. All screen placement now runs through the one display system both OS generations share, so the console lands on the touchscreen and the movie on the projector — on every boot, restart, and cable replug.
- Layout control now works on the new OS — the layout tool for the new display system (wlr-randr) is installed with the firmware and fetched automatically during self-update when missing, and the layout service finds the display connection on its own instead of relying on login-session settings.
- Swapped-screens mode keeps working on the new OS — with SWAP DISPLAYS on, the console finds the projector by its picture size when connector names aren't available.
Added
- The video player double-checks itself — a few seconds after the video window opens (or moves), the controller confirms it is really on the projector. If it landed anywhere else, the video is stopped and a clear warning appears instead of covering the console.
- Placement health readout — SETUP → SWAP DISPLAYS now shows which display system the Pi is running, each connected screen with its size and position, and where the console and video windows actually are. If anything is on the wrong screen, you see it there in ten seconds.
- Videos are automatically converted for the Pi — new videos arriving from the office are checked and, when needed, converted to a format the Pi plays smoothly, so sound stays in sync on clips like the Sponsor Thank You. The console shows conversion progress, and Validate warns about files that still need attention.
Playback Pi™ — Version 3.12 — August 7, 2026
Fixed
- A broken track no longer blocks the rest of the show — an active error card (e.g. FEATURE FILM MISSING) used to refuse PLAY for every track, so a feature-film problem made the intro and countdown unplayable too. Play blockers are now scoped to the track that raised them: playing a different track dismisses the stale card, and a genuinely broken track raises its own error the moment it loads.
- The console jumps from PREP to SHOW when showtime begins — the auto-switch compared the stage's display title instead of its id, so it never fired.
New
- A refused PLAY is never silent — when the controller refuses a play (validation lock, active error card, transition in progress), the reason appears in a persistent strip above the transport buttons and stays until the blocker clears or you navigate away. Red when an error blocks, amber otherwise; tapping it reopens the error card.
- CLOSE button on the error card — dismiss the full-screen error card and keep using the console while one track is broken; RETRY and ASSIGN FILE stay reachable by tapping the strip. A new error reopens the card automatically.
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
- Countdown no longer freezes with a flashing VALIDATING banner — when the countdown ended and the automatic advance to the feature film was blocked by film validation, the controller silently retried the blocked transition ten times a second: "Countdown" stayed on screen, VALIDATING flashed, and the film never started. A blocked advance now stops cleanly, shows the feature film as the cued next track, and starts the film automatically the moment validation completes. If validation fails, the show stays paused with the film cued so you can resolve it from the console.
- Video can no longer open on the operator touchscreen — every VLC launch and relaunch (START PROJ., projector hotplug, reconnect, forced screens) now refuses the Waveshare display by name and by its 800×480 footprint. If no safe display can be verified, the controller relaunches video-less instead of covering the console.
- Uploads work when the passcode lives only in system.json — upload endpoints previously checked just the environment variable, so a Pi whose passcode was saved in system.json reported "uploads disabled". All passcode checks now share one lookup: environment variable first, then system.json.
- The operator console can no longer open on the projector — the kiosk browser now finds the Waveshare by its 800×480 footprint among connected displays (the configured connector name is only a hint), verifies the window's actual position after launch and on every display change, and moves it back if it landed anywhere else. If only the projector is connected, the console waits for the touch panel instead of covering the projector; in other unverifiable setups it still opens and shows a clear placement warning instead of locking you out.
Changed
- Firmware updates are available during playback — UPDATE NOW is no longer refused while a show is running. The firmware panel warns that updating interrupts playback immediately and restarts the controller, so only use it mid-show when that is acceptable.
Playback Pi™ — Version 3.10 — August 6, 2026
Changed
- VLC no longer opens at boot — the video engine starts without a video window, so nothing can appear over the operator interface on the touchscreen. The projector shows its own "no signal" screen until you press START PROJ., which launches the fullscreen output on demand.
- START PROJ. always targets the external display — the Waveshare touchscreen is excluded both by its configured connector name and by its 800×480 pixel size, so the video output can never land on the little screen even if the display configuration is wrong. The first press performs a fresh video launch onto the resolved screen instead of a fullscreen re-assert (which cannot move the window between screens).
Added
- The START PROJ. button pulses orange until the projector output has been started, so it is obvious the video output is off.
Fixed
- Track previews now play in the kiosk app — the kiosk browser blocked media from starting with sound, so pressing PLAY on a SETUP preview did nothing. The kiosk now launches with an autoplay exemption, and the preview player retries muted-then-unmutes if a browser still blocks the first attempt. Previews gain sound in the kiosk after the Pi self-updates and the kiosk restarts.
- Preview failures are no longer silent — if a preview genuinely cannot play (unsupported format, missing or unreadable file), a brief error message appears instead of a dead PLAY button, and the details are logged to the browser console for diagnosis.
Playback Pi™ — Version 3.9 — August 6, 2026
Fixed
- Looping reel no longer eats a pending cue — cueing the next stage (e.g. Intro) while the pre-show reel plays was silently cancelled when the reel looped back to the start, so PLAY paused the reel instead of starting the cued track. Cues now persist across loop wraps.
- PLAY after RESET at the top of the show — since v3.8, RESET TO TOP stops all media; the restart path still assumed the file was loaded and did nothing. PLAY now reloads the track, and the restart cue shows as WAITING so the operator can see PLAY is armed.
- Browser monitor crash — a scripting bug broke the monitor's video window whenever it was open, and every screen refresh while TEST AUDIO was active.
- Stale interface after updates — the app could keep showing an outdated interface after a firmware update because the cached page shell was served first. The page now loads fresh from the Pi whenever it is reachable, with the cached copy kept only for offline startup.
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
- The Pi launches the local Playback Pi app in standalone fullscreen mode instead of opening a browser kiosk page.
- The service worker caches the frontend for offline startup, and every firmware update installs a Playback Pi desktop shortcut.
- Chromium now uses
--app + --start-fullscreen: the interface stays fullscreen without browser chrome, while still allowing an operator to exit if needed.
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.
- Closing the editor (EXIT) automatically returns the projector to whatever was showing before.
- If the feature film is on screen, it is left untouched — the pattern is never pushed mid-feature.
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.
- The reason is now shown on screen (e.g. "Showtime is locked until the feature film passes validation").
- The cued item stays staged — fix the blocker (run validation on the PREP tab), then hold PLAY again. No need to re-cue.
- A lost connection to the controller also shows an on-screen message instead of failing silently.
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
- An automatic check fails the build if the firmware file is ever excluded from publishing again.
- An automatic check fails if the built firmware's internal version disagrees with the source version.
- A post-publish check verifies the server actually serves the version it advertises.
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
- Pull the power cord (do not use the reboot command).
- Wait 10 seconds, plug back in.
- Within about 90 seconds the touchscreen must show the operator console — no intervention needed.
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):
- Connect the Pi to your studio Wi-Fi / network.
- Open the Playback Pi console in any browser on the same network (or on the Pi's own touchscreen).
- Press FIRMWARE in the footer.
- Press CHECK FOR UPDATE.
- If a newer version is available, press UPDATE NOW.
- The Pi downloads the new firmware, verifies it, applies it, and restarts the show controller automatically.
- The console reconnects and confirms the new version.
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
- App code and all features
- Operator interface
- Python dependencies
- Scripts, playlists, and docs
What is never touched
- Show configuration
- Geometry calibration
- Media files
- Validation history
Safety interlocks
- Update is refused during a live show. Return to Test Pattern first.
- The firmware zip is fully downloaded and verified before any existing file is changed.
- The current app is backed up before the swap. If the service fails to start after the update, the previous version is restored automatically.
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.
- Audio track visibility: The DVD RIP panel shows the ripped track's language, format, and channel count. A persistent "Last rip" line survives across sessions, and a matching row appears on DIAG.
- Post-rip geometry alert: If the automatic letterbox detection that runs after a rip fails, the operator is alerted in both the SETUP geometry panel and PREP Step 2. The alert survives a server restart and clears automatically after a successful analysis.
- Film staleness warning on DIAG: DIAG now displays a warning when the feature film file on disk appears newer than the last recorded rip.
- Recovery banner reliability fix: Fixed a stale .bak config edge case that could re-trigger the recovery banner unnecessarily.
- Geometry alert durability: The geometry auto-error flag is now stored in show.json so it survives accidental deletion of runtime-state.json.
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:
- Go to the SETUP tab and open the DVD RIP panel.
- Insert the DVD and press SCAN DISC.
- The longest title is selected automatically; tap a different title if needed.
- Press RIP TO FEATURE FILM.
- Progress bar and elapsed / estimated time update as the rip runs (45–90 minutes for a typical 2-hour film on a Pi 4).
- When finished, the file is written to media/20-showtime/020-feature-film.mp4 and full validation runs automatically.
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.
- Python package install failure fixed: Removed a cloud-only package that does not install on Raspberry Pi OS Bookworm (Python 3.13).
- Chromium support on current Pi OS: Detects both "chromium" and "chromium-browser" names so the kiosk touchscreen launches correctly.
- unzip included: Installed automatically for future use.
- Clearer copy instructions: The guide now states the scp copy command must be run from the folder containing the zip.
- Distribution cleanup: Removed a stray media folder and normalized the brand name to Playback Pi™.
Playback Pi™ — Version 2.1 — July 20, 2026
Resume Seek, Music Shuffle, and Pause Fade
- Resume seek accuracy warning: After accepting a resume offer, if VLC lands more than 10 seconds away from the saved position, an orange banner appears with options to SEEK AGAIN or DISMISS. Tolerance is configurable via system.json.
- Music bed shuffle: Pre-show and post-show background music now starts on a random track each time rather than always beginning at track 1.
- Pause fade fix: On sponsor-reel stages, the status now holds at "PAUSING" until both the main engine and music bed reach full silence.
- Projector always shows black: VLC loads a silent black frame at startup and falls back to it whenever a media file fails to load, eliminating the "No Signal" message between loads.
Playback Pi™ — Version 2.0 — July 19, 2026
Mid-Show Recovery, Backup-Config Banner, and Validation Redesign
- Automatic mid-show recovery after a power cut: On the next boot, the controller offers RESUME SHOW or START FRESH. Resume is skipped automatically if the interruption happened more than 5 hours ago.
- Pre-show loop survives a power cut: The loop engine restores its position and volume on restart.
- Backup-config recovery banner: Alerts the operator when the system falls back to a backup copy of the prep config. Clears once every prep step is re-confirmed.
- Validation panel redesign: QUICK CHECK and FULL CHECK sit side by side on one row; the panel no longer scrolls on the 800×480 touchscreen.