Desktop Overview
br\u016bhi Desktop (v0.12.0) is a native application built with Tauri 2 (Rust + WebView). It is designed for solo broadcast operators running a single station from their own machine with professional audio hardware.
Workspace Tabs
Section titled “Workspace Tabs”The app is organised into five workspaces, accessible from the top navigation bar:
| Tab | Purpose |
|---|---|
| Live Broadcast | Main on-air screen — decks, crossfader, microphones, show clock, broadcast output status |
| Content Library | Music discovery — folder scanning, full-text search, genre filter, track table, queue management |
| Playlists | Playlist authoring — regular and smart playlists, rule builder, script editor |
| Schedule | Broadcast planning — horizontal month grid, drag-and-drop blocks, automation rules |
| System | Configuration — audio devices, MIDI mapping, DSP chain, broadcast outputs, recording settings |
Feature Summary
Section titled “Feature Summary”Audio Engine
Section titled “Audio Engine”- Dual-deck player with crossfader (linear and equal-power curves)
- 3 microphone input slots (Mic 1, Mic 2, Remote) with per-slot gain, mute, and 80 Hz HPF
- Master mix with soft limiter and master gain control
- Peak + RMS VU metering per deck and on the master bus (IEC 60268-17 compliant)
- PFL/cue bus with split-cue mode (L=PFL, R=master)
- Talkback push-to-talk (routes to MON only)
Content & Playlists
Section titled “Content & Playlists”- Media library: recursive folder scan, SQLite FTS5 full-text search, genre filter, sort, stats
- Regular playlists: track reordering, loop modes (None/Playlist/Single), gapless crossfade
- Smart playlists: visual rule builder and br\u016bhi Script mode
- 128-pad Cart Wall soundboard with named banks, MIDI + keyboard triggers
Scheduling & Automation
Section titled “Scheduling & Automation”- Visual month-grid scheduler with drag-and-drop blocks (Audio File, Playlist, Live Session)
- Automation rules: clock/position/queue-empty/recurring triggers; load/play/record/script actions
- br\u016bhi Script language for advanced automation programs
Broadcast Outputs
Section titled “Broadcast Outputs”- Icecast (HTTP/1.0 PUT), Shoutcast (ICY), HLS (segment-based), RTP (UDP unicast/multicast), SRT (optional)
- Encoders: MP3 (LAME), AAC-LC (FDK-AAC), Opus, OGG Vorbis, FLAC, WAV
- Multi-output fan-out — all outputs run simultaneously with zero-copy buffer sharing
- 7-processor reorderable master chain: HPF, LPF, 5-band parametric EQ, Compressor, Limiter, Noise Gate, Stereo Enhancer
- Independent 7-processor chain per microphone slot with 3 built-in voice presets
System
Section titled “System”- MIDI mapping with MIDI Learn mode — map any control to a MIDI CC/note
- Per-device device selection (Output, MON, PFL, Mic 1, Mic 2, Remote)
- Device hot-plug — USB audio interfaces can be swapped without restarting
- JACK audio support on Linux
- In-app auto-update with code-signing verification
System Requirements
Section titled “System Requirements”| Component | Minimum | Recommended |
|---|---|---|
| OS | macOS 12 / Windows 10 / Ubuntu 22.04 | Latest stable |
| Architecture | x86_64 or Apple Silicon | Apple Silicon |
| CPU | 2 cores | 4+ cores |
| RAM | 4 GB | 8 GB |
| Disk | 150 MB (app) | SSD |
| Audio | CoreAudio / WASAPI / ALSA device | Dedicated audio interface |
| Window size | 1280 × 768 | 1440 × 900 or larger |
Optional Features
Section titled “Optional Features”Some capabilities require additional software:
| Feature | Requirement |
|---|---|
| SRT output | libsrt installed separately (see Installation) |
| MIDI controllers | MIDI device connected; MIDI feature enabled at build time |
| JACK audio | JACK2 installed and running (Linux only) |
Where Settings Are Stored
Section titled “Where Settings Are Stored”All settings, playlists, schedules, and library data are stored in a single SQLite database:
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/com.bruhi.studio/bruhi.db |
| Windows | %APPDATA%\com.bruhi.studio\bruhi.db |
| Linux | ~/.local/share/com.bruhi.studio/bruhi.db |
The database uses WAL (write-ahead logging) and is backed up on every clean shutdown.