Back to projects
RustIcedRodioAudioTheatre Tech

StageEngine

A specialized theatre sound cue management and playback application built with Rust.

Read more

Overview

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.