Skip to content

Jukebox

The Jukebox plays every soundtrack in your library as one collection. It's currently a beta feature, so expect parts of it to change between releases.

Tracks are audio files in a soundtrack/ subfolder of a game's folder, one of the recognised subfolders alongside manual/ and walkthrough/:

roms/snes/chrono trigger/
├─ chrono trigger.sfc
└─ soundtrack/
   ├─ 01 - Chrono Trigger.flac
   └─ 02 - Memories of Green.flac

Supported formats are .mp3, .ogg, .oga, .opus, .m4a, .aac, .wav and .flac.

Scanning reads each file's tags (title, artist, album, genre, year, track number, duration) and grabs the embedded cover if there is one. Drop in a properly tagged rip and it'll display correctly, while untagged files just show their filename.

Browsing

Tracks can be browsed several ways:

What it groups by
Album The album tag
Game The game the tracks belong to, which is the jukebox's album list
Platform The game's platform
Artist The artist tag
Genre The genre tag
Game genre The genre of the game, not of the music
Year The year tag

Mixes and playlists

Four mixes are generated for you:

  • Free Radio, about an hour of tracks picked at random but balanced across albums
  • Decade Mix, grouped by release decade.
  • Recently added, the newest tracks in the library.
  • Favourites, whatever you've starred.

You can also build your own playlists. They're ordered, you can rename them, keep them private, or make them available to everyone on the instance.

API

Browsing and the facets above:

Method Path Description
GET /music/tracks Flat, filterable, paginated track list
GET /music/games, /music/platforms, /music/game-genres Library facets over the soundtracks
GET /music/albums, /music/artists, /music/genres, /music/years Tag facets, each with counts
GET /music/stats Library-wide track count and total duration
GET /music/favorites The requester's favourite tracks
POST /music/favorites Mark tracks as favourites

Playlists are under /music/playlists with the usual create, read, update and delete. /{id}/tracks lists, appends and removes, and /{id}/tracks/order reorders.

  • Uploads: adding tracks through the web UI