Playlists
Playlists are ordered collections of tracks. br\u016bhi supports both regular (manually ordered) playlists and smart playlists (rule-based). This page covers regular playlists. For smart playlists, see Smart Playlists.
Creating a Playlist
Section titled “Creating a Playlist”- Open the Playlists workspace tab.
- Click New Playlist (the
+button). - Enter a name and press Enter.
The new playlist appears in the left-hand list. Click it to open the track list on the right.
Managing Playlists
Section titled “Managing Playlists”| Action | How |
|---|---|
| Rename | Double-click the playlist name in the list |
| Duplicate | Right-click → Duplicate |
| Delete | Right-click → Delete (confirmation required) |
Adding & Loading Tracks Options Dropdown
Section titled “Adding & Loading Tracks Options Dropdown”In addition to drag-and-drop:
- Add Tracks Dropdown: The playlist toolbar provides a unified Add Tracks dropdown button with quick selection for:
- Local Files: Open local OS file picker to insert media files.
- Library Items: Browse and filter from your indexed content library.
- Existing Playlists: Append tracks from another regular or smart playlist.
Standby State Toggle
Section titled “Standby State Toggle”Playlists support a Standby state toggle:
- Pause without Deleting: Toggle a playlist into Standby mode to temporarily disable it from automated playout queues and scheduler triggers.
- Visual Indicator: Standby playlists display a distinct visual status badge in the left-hand navigation list.
UI Controls
Section titled “UI Controls”Playlist headers, selectors, and dropdowns use custom Select components with full dark mode support for consistent styling across studio workspaces.
Loop Modes
Section titled “Loop Modes”The loop mode determines what happens when the last track in the playlist finishes:
| Mode | Behaviour |
|---|---|
| None | Playback stops when the playlist ends |
| Playlist | Restarts from the first track |
| Single | Repeats the current track indefinitely |
Set the loop mode with the loop button in the playlist toolbar.
Shuffle
Section titled “Shuffle”Click the shuffle button to randomise the track order. br\u016bhi uses a Fisher-Yates shuffle with skip protection — previously played tracks are not repeated until the entire playlist has been played through.
Shuffle state is preserved across restarts.
Gapless Playback and Crossfade
Section titled “Gapless Playback and Crossfade”You can configure how one track transitions into the next:
| Setting | Description |
|---|---|
| Crossfade duration | How many seconds the two tracks overlap. Set to 0 for a hard cut. |
| Overlap | How far before the end of the current track the next track starts fading in |
These settings can be configured:
- Per playlist — applies a default crossfade to all transitions in the playlist.
- Per track — override the crossfade for a specific track within the playlist.
To set a per-track override, open the track context menu → Edit Transition.
Loading a Playlist to a Deck
Section titled “Loading a Playlist to a Deck”To play a playlist:
- Select the playlist in the Playlists workspace.
- Click Load to Deck A (or Deck B).
The playlist is now the source for that deck. The deck’s queue is replaced by the playlist tracks in order. Playback starts from the first unplayed track.
You can also load a playlist via the Schedule or Automation systems.
Persistence
Section titled “Persistence”Playlists and their track ordering are stored in the SQLite database:
- Desktop:
{app_data}/bruhi/bruhi.db, tablesplaylistsandplaylist_tracks - Cloud: Per-station SQLite database inside the container
Playlists survive app restarts with no action required.