Rust workspace for Proteus container playback and tooling.
proteus-lib: core library for container parsing, runtime planning, decode/mix orchestration, DSP effects, and peaks extraction.proteus-cli: command-line playback app and operational commands (info,peaks,verify,create,init).proteus-scripts: maintenance and utility scripts.
- CLI builds
Playerwith source input (.prot,.mka, file paths, or directory project files). containermodules parse metadata, play settings, and runtime source plans.playback::engine::mixspawns decode workers and routes decoded packets throughBufferMixer.BufferMixeraligns source windows and emits synchronized mixed chunks.- DSP effects process each mixed chunk before output sink append.
Primary entrypoints:
- CLI:
proteus-cli/src/main.rs - Player API:
proteus-lib/src/playback/player/mod.rs - Mix runtime:
proteus-lib/src/playback/engine/mix/
cargo checkcargo fmtcargo clippy -- -D warningscargo test
Run CLI:
cargo run -p proteus-cli -- <file.prot>cargo run -p proteus-cli -- info <file>cargo run -p proteus-cli -- peaks json <file>
.prot/.mkaplayback settings are read from container payload metadata.- Backward-compatible parsing for older play-settings/effects remains at deserialize boundaries.
- Real-time code paths should avoid blocking and unnecessary allocation in hot loops.
Historical context and earlier architecture transitions are documented in docs/history.md.
This project is licensed under the PolyForm Small Business License 1.0.0.
- Free for individuals and businesses under $1M USD annual revenue.
- Commercial license required for larger organizations.
- Contact Adam Howard for commercial licensing.