Releases: JustinWoodring/slatron
Release list
v1.3.0 - The "Reel Deal" Update
What's Changed
🚀 Release Notes: Slatron v1.3.0 - The "Reel Deal" Update
This release introduces Spot Reels — looping content carousels for ad breaks, rotating promotions, and digital signage playlists — along with improved schedule grid visuals and expanded bumper/branding documentation.
📺 Spot Reels
A brand-new content type that bundles small items into a continuously looping carousel, perfect for commercial breaks, rotating promos, or informational displays.
- Three Item Types: Images (static display), videos (short clips with duration cap), and web pages (live page capture to video)
- Full CRUD API: Create, update, delete reels and manage individual items with ordering support
- Drag-to-Reorder Editor: Dedicated editor page at
/spot-reels/:idwith inline editing, drag-to-reorder items, and live stats - Scheduled Like Any Content: Creating a spot reel auto-generates a companion content item — it shows up in the content picker with a purple badge and can be assigned to any schedule block
- Looping Playback: The node fetches the reel from the server API and cycles through items indefinitely until the schedule block ends, with cancellation token support for clean transitions
🌐 Web Page Capture (Linux Only)
Spot reels support a web item type that captures live web pages as video using a pipeline of Xvfb + Chromium + FFmpeg x11grab.
- Renders any URL to video at 1920x1080
- 5-minute capture cache to avoid re-rendering on every loop cycle
- Auto-detects Chrome/Chromium binary (
chromium,chromium-browser,google-chrome,google-chrome-stable) - Requires Linux with
xvfb,chromium, andffmpeginstalled — image and video items work on all platforms
🎨 Schedule Grid Enhancements
- Spot Reel Blocks: Distinct purple/violet styling on the schedule grid, differentiating them from regular video blocks (cyan), DJ blocks (orange), and other content types
- Type-Aware Rendering: The grid now properly reads content type from the content store instead of defaulting everything to "video" — this also fixes the DragOverlay showing incorrect colors while dragging blocks
📄 Documentation
- README.md: Added Spot Reels section with usage guide, item type reference table, web capture requirements, and full API endpoint listing. Updated prerequisites with web capture dependencies and platform notes.
v1.1.0
What's Changed
🚀 Release Notes: Slatron v1.1.0 - The "Ghost in the Machine" Update
This release brings Slatron to life with autonomous AI hosts, real-time visual monitoring, and a significantly matured scripting engine for advanced automation.
📜 Scripting Engine 2.0
The Rhai scripting engine has received major upgrades, making Slatron more programmable than ever.
- Script Tester: The in-browser script editor now includes a fully functional Test Runner. You can execute scripts with mock arguments and see the output immediately without saving or affecting live playback.
- Content Loader Scripts: You can now write scripts to programmatically find and import content.
Usecase: Write a script to fetch the latest videos from a YouTube channel or RSS feed.
Bulk Import: Return a JSON list of items to import them all at once into the Content Library. - Enhanced API: Improved stability and available functions for transform (metadata modification) and on_load (playback hooks) scripts.
🎙️ AI DJs & Orpheus
We've introduced a first-class AI DJ system capable of hosting your station.
- Orpheus (Local TTS): Support for running fully offline, zero-cost AI DJs using local LLMs (via LM Studio) and the orpheus-3b-0.1-ft model.
- Gemini TTS: Integrated Google's Gemini TTS for high-quality cloud-based voice synthesis.
- Context Injector Scripts: Use Rhai scripts to dynamically inject real-time data (weather, news, server stats) into the DJ's system prompt before they speak.
🎧 Audio & Playback Enhancements
- Audio Ducking: The node now automatically "ducks" (lowers) the volume of music/background content when the DJ starts speaking and restores it smoothly afterwards.
- Reliability Fixes: Resolved a race condition ensuring continuous playback during DJ generation.
📺 Live Monitoring
- Real-time Screenshots: Nodes capture and transmit a screenshot of their playback window every 60 seconds.
- Live Dashboard: The "TVs" grid now displays these live screenshots for at-a-glance monitoring.
🛠️ CI/CD & Platform Support
- Native ML Support: Builds now include the ml-support feature flag by default.
- Cross-Platform Fixes: Resolved cross-compilation issues for Linux ARM64 (Raspberry Pi) and ensured support for macOS Apple Silicon (aarch64-apple-darwin).
Full Changelog: v1.0.0-rc-beta...v1.1.0
v1.0.0-rc-beta
Full Changelog: v1.0.0-rc-alpha...v1.0.0-rc-beta
V1.0.0 RC Alpha
Full Changelog: https://github.com/JustinWoodring/slatron/commits/v1.0.0-rc-alpha
Mac Binaries (aarch64):