Settings

Configure display, playback, and downloads

{#if loading}

Loading settings...

{:else}

Display

How your library and collections are laid out

Layout

Crossfade

Fade between tracks for seamless transitions

{settings.crossfadeDuration.toFixed(1)}s
0s (Off) 12s (Max)

Gapless Playback

Eliminate silence between tracks in albums

Volume Normalization

Automatically adjust volume levels for consistent playback

{#if settings.normalizeVolume}

Target Volume Level

{/if}

Equalizer

Shape the sound with presets or custom bands (Linux)

{#if settings.equalizerEnabled}

Presets

{#each eqPresets as [name, gains] (name)} {/each} {#if activeEqPreset === null} Custom {/if}

Bands (dB)

{#each EQ_BAND_LABELS as label, i (label)}
{eqBands[i] > 0 ? "+" : ""}{eqBands[i]} handleEqBandInput(i, e)} onchange={(e) => handleEqBandChange(i, e)} class="eq-slider" aria-label="{label} Hz gain" /> {label}
{/each}
{/if}

Video Playback

Auto-play Next Episode

Automatically start the next episode when one finishes

{#if videoSettings.autoPlayNextEpisode}

Countdown Duration

Time before next episode starts automatically

{videoSettings.autoPlayCountdownSeconds}s
5s 30s

Episode Limit

Stop auto-playing after this many consecutive episodes

{#each episodeLimitOptions as option} {/each}
{/if}

Streaming Quality

Limit how much bandwidth video streams may use. Lower settings ask the server to transcode before sending, which saves data on metered or slow connections at the cost of picture quality. You can also change this for a single video from the player's quality menu.

{#each streamingQualities as [quality, label, detail]} {/each}

Applies to videos started from now on; a video already playing keeps the quality it started at.

{#if supportsNativeVideo}

Native Video Experimental

Decode video with the device's hardware decoder instead of the built-in web player. Better performance and battery life in principle, but incomplete: on some devices the picture does not appear at all and only the sound plays. Leave this off unless you are helping test it.

Takes effect the next time you start a video.

{/if}

Search

Result Group Order

Drag or use the arrows to choose the order search result groups appear in. Empty groups are hidden automatically.

Waiting to sync

Image Cache

Cache Usage

{#if cacheLoading} Loading... {:else if cacheStats} {formatBytes(cacheStats.totalSizeBytes)} / {cacheStats.limitBytes === 0 ? "Unlimited" : formatBytes(cacheStats.limitBytes)} {/if}
{#if cacheStats && cacheStats.limitBytes > 0}
{/if}

{#if cacheStats} {cacheStats.itemCount} images cached {:else} Thumbnails and artwork are cached locally for faster loading {/if}

Storage Limit

{#each cacheLimitOptions as option} {/each}

Clear Image Cache

Remove all cached thumbnails and artwork

Downloads

Storage Limit

Maximum storage for offline downloads

Smart Caching

Automatically download albums you're listening to

Queue Pre-caching

Download the next {cacheConfig.queuePrecacheCount} tracks in the queue automatically

WiFi Only

{#if networkDetectionSupported} Hold downloads unless on an unmetered network. Cellular and metered hotspots are excluded; WiFi and Ethernet are allowed. {:else} Only available on Android — this device has no metered connection to detect. {/if}

About these settings:

  • Crossfade smoothly blends the end of one track with the beginning of the next
  • Gapless removes silence between tracks for continuous album playback
  • Normalization evens out loudness between tracks in real time, toward your selected level
{/if}