Tags give the ability to mark specific points in history as being important
-
v0.3.1-gamma
Release: orb v0.3.1-gammac474b3fb · ·v0.3.1-gamma Dashboard: shared fixture selection store, Color panel, StagePlan wiring. 48/40 grid + 6 workflow presets (layout v2). Sequences panel: NowPlayingCard + AffectsOverlay. Also includes 0.3.1-beta content: SetMicEffectBypass per-effect mic DSP bypass CueAction. AppImage build verified locally in orb-appimage-builder Docker image before tagging. See Changes.md for the full changelog.
-
v0.3.1-beta
Release: orb v0.3.1-betafd0b15e9 · ·v0.3.1-beta Per-effect mic DSP bypass via SetMicEffectBypass. A new CueAction variant lets cues flip a single DSP effect on a mic's chain on or off without bypassing the entire chain. Use case: bypass the head-mic compressor for non-vocal performance cues while keeping HPF / gate / de-esser / EQ / gain engaged. Sticky state — pair every bypass=true with a matching bypass=false on the cue that should re-engage the effect. Runtime only; setup.py wiring lives in show projects.
-
v0.3.1-alpha
Release: Release v0.3.1-alpha759e0998 · ·Release v0.3.1-alpha Added: project-level dmx.toml universe → device mapping. See Changes.md for details. Highlights: - <project>/dmx.toml encodes which DMX adapter drives which universe - 'serial:<USB_SERIAL>' resolves to a stable /dev/serial/by-id path - Two-pass resolution prevents auto-detect from stealing explicit bindings - --print-dmx-resolution CLI flag for verifying wiring - Workspace 0.3.0-rc2 -> 0.3.1-alpha
-
v0.3.0
28e4615c · ·v0.3.0 — First stable release: light, sound, and microphone 🎉 The first stable Orb release. After 14 phases, a full Python-to-Rust port, and a long road of release candidates (beta → delta → rc2 through rc10), the show control system is ready for real work. What works end-to-end in this release: 🎭 Light • Clean ECS core with priority layers (HTP dimmer/strobe, LTP color) • Sequence / Cue / Programmer / Executor model • Fade engine with easing, auto-advance (timed + song-position + song-end) • Fixture profiles (TOML) with typed channel mapping • DMX output: ENTTEC Pro serial, Art-Net, sACN/E1.31, BitWizard • 40 Hz frame loop: tick → resolve → render → send 🔊 Sound • Multi-deck music playback with per-deck fade-in/fade-out cues • Providers: local files, librespot (Spotify Connect), Spotify Web API search, WiiM stub • Per-source OS-mixed audio output with automatic device rebind • audio.toml schema v2, canonical 48 kHz internal sample rate • Crossfade, level control, transport (play/pause/stop/goto) from REPL, REST, MIDI, and motorized faders 🎤 Microphone • Multi-mic capture via cpal, named device matching, per-channel split • MultiMicMixer routed into the unified MultiLayerSoundDeviceSink • DSP graph: noise gate, compressor, limiter, filters • Per-channel volume actions and mute dispatch from cues 🎛 Control surfaces • Icon P1-M motorized faders with touch-gated bidirectional sync, per-strip buttons, V-Pot encoder, and per-executor speed modifier • Intech EN16 / PBF4 with hot-plug and a virtual MIDI control surface • Flic 2 buttons via vendored flicd (lazy-started) • BLE-MIDI, MIDI CC + Note dispatch, song-position events 🐍 Embedded Python • orb-daemon hosts CPython 3.13 via PyO3, no IPC • IPython REPL with GrandMA3-style command preprocessor • SmartLists, project API, fixture importer (OFL + GrandMA3 XML) 🌐 Web • actix-web REST + WebSocket • Svelte 5 dashboard auto-built and embedded into the daemon binary • Auto-open browser, --app mode for a standalone window • Playwright e2e suite (opt-in via ORB_TEST_UI=1) 📊 Tests • 1821 Rust tests + 363 Python tests = 2184 passing • Hardware-gated suites for DMX, Flic, P1-M, and real audio I/O Used in production for light, sound, and microphone control. On to v0.4. -
v0.3.0-rc10
083db0e8 · ·v0.3.0-rc10 - fix(web): AppImage/on-disk dashboard now serves consistently; embedded and on-disk dist no longer mix (blank-page fix); embed can't go stale/empty. - feat(daemon): --app desktop app-window mode (Chromium --app), default for GUI launches, off in a terminal / on headless boxes. - feat(daemon): primary binary renamed to 'orb' (orb-daemon alias retained).
-
v0.3.0-rc9
Release: orb v0.3.0-rc91d0e2753 · ·orb-daemon v0.3.0-rc9 fix(web): serve embedded dashboard at / inside the AppImage (handle_root fell back to JSON when no on-disk frontend/dashboard/dist existed).
-
v0.3.0-rc8
Release: orb v0.3.0-rc813450de6 · ·v0.3.0-rc8 — Raspberry Pi (homy) deploy + aarch64 release asset Same as rc7 plus: - ci(release): aarch64 Raspberry Pi bundle (orb-daemon-aarch64.tar.gz) is now a first-class GitLab Release asset (release_appimage needs build_aarch64) - chore(projects): homy audio.toml migrated to schema v2 Release assets: x86_64 AppImage + aarch64 Pi bundle (binary + libpython3.13 + stdlib + dashboard), each with SHA256.
-
v0.3.0-rc7
Release: orb v0.3.0-rc7c139c903 · ·v0.3.0-rc7 — Raspberry Pi (homy) deploy + aarch64 CI build - fix(midi): dispatch CC mappings via the World-resource registry, so PyO3/REPL-registered CC bindings (incl. Grid fader -> executor blend) actually dispatch on the daemon (+ regression tests) - feat(projects): homy project; rightmost Intech Grid fader (CC 39) -> warm_white executor blend; headless systemd unit (dashboard control surface) - ci(aarch64): Docker cross-build for Raspberry Pi as a GitLab pipeline job (orb-daemon-aarch64.tar.gz: binary + libpython3.13 + matching stdlib + dist) - chore(deploy): pin flake-cross.nix to flake.lock revs
-
v0.3.0-rc6
Release: orb v0.3.0-rc68fa96edd · ·orb 0.3.0-rc6 Fixes the AppImage 'Dashboard not built' bug: the dashboard is now reliably embedded (prebuild + ORB_SKIP_FRONTEND_BUILD; build fails loudly if the embed is empty). Includes rc5's GUI/browser/last-project fixes.
-
v0.3.0-rc5
Release: orb v0.3.0-rc57b65f189 · ·orb 0.3.0-rc5 AppImage desktop launch fixes: - GUI double-click runs headless + opens the dashboard in the browser (no longer exits immediately on missing terminal). - xdg-open no longer inherits the AppImage's LD_LIBRARY_PATH. - Reopens the last-loaded project on launch. Also: CI test_python/test_rust green, mkdocs --strict fixed.
-
v0.3.0-delta
f8e25186 · ·Release 0.3.0-delta DSP audio routing graph editor — major feature release. UI: - New 'Audio Routing' panel in dashboard - Rete.js v2 + Svelte 4 node-graph editor - 14 DSP effects + draggable palette - Live param inspector + per-node level meters - WebSocket-driven live updates with origin echo suppression - Bus creation flow Backend: - audio.toml schema v1 (replaces mic_config.toml; auto-migrates on boot) - Per-bus DSP chains via BusEffectChainRegistry (zero-alloc hot path) - Multi-deck MusicManager (4 decks, ≤1 librespot) - Deck-aware OnSongEnd / FireAtSongPosition cue triggers - Music routing through RoutingMatrix - 13 REST mutation endpoints + 5 new Audio* WS Event variants - All 10 fixture projects boot from audio.toml - Perf bench: full workload at 236µs (under 1% of 25ms frame budget)
-
v0.3.0-beta
664552fd · ·