RustIcedRodioAudioTheatre Tech
StageEngine
A specialized theatre sound cue management and playback application built with Rust.
Read moreOverview
StageEngine is a specialized desktop application designed for the high-stakes environment of live theatre. Developed during my time as a volunteer sound engineer, it solves the need for a reliable, low-latency, and deterministic cue playback system. Built entirely in Rust, it leverages the Iced GUI framework for a responsive interface and Rodio for a robust audio backend.
Technical Engineering
- Low-Latency Playback: Utilizing Rodio, the engine ensures sub-millisecond trigger precision. It manages multiple “Sinks” to allow for simultaneous multi-track playback without performance degradation.
- Dynamic Waveform Rendering: Implemented a custom waveform generation system (
src/audio/waveform.rs) that pre-processes audio data to provide real-time visual feedback, including zoom, pan, and interactive markers. - Automated Workflows: The system supports professional theatre features like Auto-Follow and Wait triggers, allowing complex sequences to be executed with a single button press.
- Non-Blocking Design: Leveraging Iced’s event-driven architecture and Tokio for asynchronous tasks, the UI remains perfectly responsive even when loading large audio assets or processing complex waveforms.
Tools & Technologies
- Language: Rust (2024 Edition).
- GUI Framework: Iced.
- Audio Stack: Rodio.