Access settings via the Config icon in the sidebar. Settings are organized into six tabs.
The Playback tab contains two sections: backend and playback options, and player behavior.
| Option | Description |
|---|---|
| Web (default) | Built-in Chromium audio engine |
| MPV | External MPV process - see MPV Backend |
See MPV Backend for full details.
| Setting | Description |
|---|---|
| MPV Binary Path | Leave empty to use the system MPV. Set a full path for a custom install |
| Gapless Mode | Weak (recommended), Yes, or No |
| ReplayGain | Off, Track, or Album |
| Audio Device | Select the audio output device. Click Refresh to update the list |
| Setting | Description |
|---|---|
| Crossfade Duration | Seconds before crossfading to the next track (0 = gapless) |
| Polling Interval | Milliseconds between position polls (lower = smoother) |
| Crossfade Type | The fade curve used during crossfade |
| Volume Fade | Whether the incoming track fades in from silence |
| Audio Device | Audio output device for the web player |
| Playback Presets | One-click presets for Gapless or Fade configurations |
| Setting | Description |
|---|---|
| Seek Forward | Number of seconds the seek forward button skips |
| Seek Backward | Number of seconds the seek backward button skips |
| Direct Previous Track | Previous button always goes to the previous song, never restarts |
| Preserve Play Next Order | Tracks added via Play Next queue in order rather than each at top |
| Persist queue across sessions | Restore the play queue when the app is reopened |
| Allow Transcoding | Request transcoded audio from the server (Jellyfin only) |
| Global Media Hotkeys | Use your keyboard’s media keys to control the player |
| Windows System Media Transport Controls | Integrate with Windows 10+ media controls in the taskbar (Windows only) |
| Setting | Description |
|---|---|
| Scrobble | Enable sending playback events to your server |
| Scrobble Threshold | Percentage of a track that must play before it is scrobbled |
See Scrobbling for more details.
Track filters let you exclude songs from the queue based on a regex pattern applied to the song’s filename or path. Useful for hiding interludes, skits, or other unwanted tracks.
See Equalizer for full details on the 10-band graphic EQ and 6-band parametric EQ.
| Setting | Description |
|---|---|
| Language | Interface language (9 available) |
| Theme | Application color theme |
| Font | Application font |
| Titlebar Style | Native OS titlebar or custom (macOS/Windows style) |
| Dynamic Background | Show a blurred version of the album art as background |
| Highlight On Hover | Highlight list rows on mouse hover |
| Setting | Description |
|---|---|
| Retain Window Size | Remember window size and position between launches |
| Default Window Width | Default width in pixels when not retaining window size |
| Default Window Height | Default height in pixels when not retaining window size |
| Setting | Description |
|---|---|
| Start page | Which page the app opens on at launch |
| Sidebar | Choose which items appear in the sidebar |
| Default to Album List on Artist Page | Show the album grid instead of top songs on artist pages |
| Setting | Description |
|---|---|
| Default Album Sort | Default sort order for the album list on startup |
| Default Song Sort | Default sort order for the song list (Jellyfin only) |
| Setting | Description |
|---|---|
| Card Size | Width of album/artist cards (100–350 px) |
| Gap Size | Space between cards (0–100 px) |
| Grid Alignment | Left or Center alignment |
Customize which columns appear in each list view (Songs, Albums, Playlists, Artists, Genres, Miniplayer) and their order. You can also set the row height and font size per view.
| Setting | Description |
|---|---|
| Highlight On Hover | Highlight rows when the mouse hovers over them |
| Setting | Description |
|---|---|
| Items per page (Songs) | Number of songs shown per page |
| Items per page (Albums) | Number of albums shown per page |
| Server-side pagination | Fetch pages from the server instead of paginating locally (Jellyfin only) |
See Keyboard Shortcuts for the full list of shortcuts and how to customize them.
The System tab combines server configuration, cache management, window behavior, and settings backup.
| Setting | Description |
|---|---|
| Media Folder | Filter the library to a specific media folder on your server |
The filter can be applied selectively per section (Albums, Artists, Songs, etc.).
| Setting | Description |
|---|---|
| Song Cache | Cache audio files locally for offline or faster playback |
| Image Cache | Cache album art locally |
| Cache Location | Folder where cached files are stored |
| Clear Cache | Remove cached songs or images (by type) |
| Setting | Description |
|---|---|
| System Notifications | Show a system notification when the track changes |
| Minimize to Tray | Minimize to system tray instead of taskbar (Windows/Linux) |
| Exit to Tray | Close button sends to tray instead of quitting (Windows/Linux) |
Export your settings to a JSON file or restore from a previously exported file. Server credentials are not included in exports.
After importing, the application reloads automatically.
Show the currently playing song as your Discord status.
| Setting | Description |
|---|---|
| Rich Presence | Enable or disable Discord Rich Presence |
| Discord Client ID | The Discord application ID used for Rich Presence |
| Display Album Art | Fetch album art from iTunes and display it in the Discord status |
The default Client ID uses the official Sonixd Redux Discord application. You can set your own if you have registered a custom Discord app.
Write currently playing track metadata to a file or a local webserver that OBS can read for overlays.
| Setting | Description |
|---|---|
| Mode | Local (writes a file) or Web (runs a webserver) |
| Polling Interval | How often metadata is updated (milliseconds) |
| File Path | Path to the output file (Local mode) |
| Tuna Webserver URL | URL of the Tuna OBS plugin webserver (Web mode) |
The bottom of the Settings panel shows:
If a newer version is available, a notification is shown automatically at launch.