OrchardDocs

Playback and Queues

Real shuffle, repeat, autoplay, queue persistence, sleep timer, media keys, and how Orchard resolves and recovers streams.

Shuffle

Orchard’s shuffle is a real shuffle. It permutes the queue rather than repeatedly picking a random next track, so a 40-song playlist plays all 40 before repeating any.

Shuffle is off by default and persists across sessions.

Repeat

Three modes: off, repeat queue, and repeat one. Default is off.

Autoplay

When autoplay is on (the default) and the queue runs out, Orchard continues with related tracks from YouTube Music rather than stopping. Turn it off in Settings → Playback → Autoplay if you want playback to end when the queue does.

Queue persistence

Save queue and current song is on by default. Orchard writes the queue and playback position to disk, so relaunching restores where you were, including the queue’s origin (the album, playlist, or radio it came from).

Turn it off in Settings → Playback if you would rather start clean each launch.

Queue style

Two layouts, set in Settings → Playback → Queue style:

  • Up next shows only what is coming.
  • Continuous shows the full queue with history above the current track.

Queue history

Previously played tracks stay reachable from the queue, so skipping back goes to what you actually heard rather than to a re-derived list.

Sleep timer

Options are 15, 30, 45, and 60 minutes, plus off. There is also an end-of-track mode that stops after the currently playing song finishes rather than mid-song.

The timer counts down live and is visible while active.

Crossfade

Crossfade is on by default. Two modes:

  • Standard does an equal-power fade of the configured length, 1 to 12 seconds.
  • Smart analyzes both tracks and beat-matches where it can. See Smart Crossfade.

Consecutive tracks from the same album are recognized and are not crossfaded into each other, so albums intended to run continuously do.

Video playback

Tracks that have a music video can play as video rather than audio-only. Orchard falls back to the music video when an audio-only stream is unavailable, which also covers some age-gated cases.

Fullscreen playback is supported.

System integration

  • Media keys are registered globally.
  • System media controls expose title, artist, artwork, and transport to your operating system’s media widget and lock screen.
  • Tray controls offer play, pause, next, and previous without raising the window.
  • Close to tray is off by default. Turn it on in Settings → Application to keep Orchard running after closing the window.

Stream resolution and recovery

Playback resolution runs in the main process: Orchard picks a format, proxies the stream over loopback, and hands a URL to the renderer. Several recovery paths exist for when that goes wrong, including re-resolution on expired URLs, an authenticated retry for age-gated tracks, and a music-video fallback.

Age-restricted tracks get their own dedicated path, which is what lets Orchard play songs most YouTube Music clients refuse. See Explicit and Age-Restricted Tracks.

If playback keeps failing on a specific track, see Troubleshooting.

  • Best Mix reorders the queue by tempo and key.
  • Song Cache makes replays instant.
  • Replay turns your play history into statistics.

Source map

PathRole
src/app/playback/playbackControls.jsTransport, shuffle, repeat
src/app/playback/queuePersistence.jsQueue save and restore
src/app/playback/queueLayout.jsQueue style
src/app/playback/autoplayActions.jsAutoplay continuation
src/app/playback/sleepTimerActions.jsSleep timer
src/app/playback/playbackResolve.jsStream resolution in the renderer
src/app/playback/playbackRecoveryActions.jsFailure recovery
electron/playback/Main-process resolution, proxying, routing