Skip to main content

Documentation Index

Fetch the complete documentation index at: https://rockboxzig.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

This is the canonical list of keys recognised by rockbox_settings::load_settings(). Keys not listed here are ignored.

Core

KeyTypeDefaultDescription
music_dirstringAbsolute path to your music library
audio_outputstring"builtin"builtin / fifo / airplay / squeezelite / chromecast / snapcast_tcp / upnp
player_namestring""Name advertised to MPD clients and the UI

FIFO / pipe sink

KeyTypeDefaultDescription
fifo_pathstring/tmp/rockbox.fifoNamed FIFO path, or "-" for stdout

Snapcast TCP sink

KeyTypeDefaultDescription
snapcast_tcp_hoststringsnapserver host
snapcast_tcp_portint4953snapserver TCP source port

AirPlay sink

KeyTypeDefaultDescription
airplay_hoststringSingle receiver IP
airplay_portint5000Single receiver port
airplay_receiversarray of tablesMulti-room. Each entry: host, optional port
[[airplay_receivers]]
host = "192.168.1.50"

[[airplay_receivers]]
host = "192.168.1.51"
port = 5000

Squeezelite sink

KeyTypeDefaultDescription
squeezelite_portint3483Slim Protocol TCP port
squeezelite_http_portint9999HTTP PCM broadcast port

Chromecast sink

KeyTypeDefaultDescription
chromecast_hoststringTarget Chromecast IP
chromecast_portint8009Cast control port
chromecast_http_portint7881WAV HTTP stream port

UPnP

KeyTypeDefaultDescription
upnp_renderer_urlstringAVTransport controlURL of the target renderer
upnp_http_portint7879WAV broadcast HTTP port (sink mode)
upnp_server_enabledboolfalseStart the ContentDirectory media server
upnp_server_portint7878Media server HTTP port
upnp_renderer_enabledboolfalseStart the MediaRenderer endpoint
upnp_renderer_portint7880MediaRenderer HTTP port
upnp_friendly_namestring"Rockbox"Display name shown to control points

Playback defaults

KeyTypeDefaultDescription
playlist_shuffleboolfalse
repeat_modeint10=Off 1=All 2=One 3=Shuffle 4=A-B
party_modebooltrue

Tone, stereo & channels

KeyTypeDefaultDescription
bassint0dB
trebleint0dB
bass_cutoffint0Hz
treble_cutoffint0Hz
balanceint0−100..+100
stereo_widthint1000..255 % (when channel_config = Custom)
stereosw_modeint0
channel_configint00=Stereo 1=Mono 2=Custom 3=ML 4=MR 5=Karaoke 6=Swap

Surround

KeyTypeDefaultDescription
surround_enabledint00/5/8/10/15/30 ms (0=off)
surround_balanceint00..99 %
surround_fx1int0HF cutoff, Hz
surround_fx2int0LF cutoff, Hz
surround_method2boolfalseSide-only processing
surround_mixint00..100 %

Crossfade

crossfade           = 5
fade_on_stop        = false
fade_in_delay       = 2
fade_in_duration    = 7
fade_out_delay      = 4
fade_out_duration   = 0
fade_out_mixmode    = 2

Equalizer

eq_enabled = true
eq_precut  = 3            # dB headroom

[[eq_band_settings]]
cutoff = 0   # Hz (per-band)
q      = 64  # × 10 fixed-point
gain   = 10  # × 10 dB fixed-point

# repeat for each of the 10 bands

ReplayGain

[replaygain_settings]
type   = 0    # 0=Track 1=Album 2=Track shuffle 3=Off
noclip = true
preamp = 0    # × 10 dB fixed-point

Compressor

[compressor_settings]
threshold    = -24   # dB
makeup_gain  = 0
ratio        = 4
knee         = 1
release_time = 300   # ms
attack_time  = 5     # ms

Where it’s parsed

The file is read by rockbox_settings::load_settings() in crates/settings/src/lib.rs. Unknown keys are silently ignored, so typos won’t crash startup — but they also won’t take effect.