Skip to main content

Overview

A Client is an application that stores the historical information about what songs you have played (scrobbles). Examples are Maloja, Last.fm, Listenbrainz...

Clients

NameNow Playing
Last.fm
Listenbrainz
Koito
Maloja
Rocksky

Features

Dead Scrobbles

If multi-scrobbler is unable to submit a scrobble to a Client then it places the scrobble into a queue which is retried every 5 minutes for a number of times before it gives up.

After it stops automatically retrying the scrobble still exists and can be retried from the dashboard. Dead scrobbles persist between restart so you will never lose a scrobble that hasn't been successfully submitted yet.

Now Playing

Multi-scrobbler can report the currently playing tracks it is monitoring to some Scrobble Clients via their individual Now Playing functionality.

Now Playing is default enabled for all Clients that support it.

The behavior multi-scrobbler uses for determining Now Playing reporting:

  • Now Playing can be explicitly enabled or disabled globally using ENV NOW_PLAYING=true or NOW_PLAYING=false
    • This only affects Clients that don't have behavior set via File/AIO (below)
  • Now Playing will be only be reported to the same Clients a Source is configured to scrobble to
  • A Source's Player status must be Playing, IE active, for reporting to occur
    • This status can be verified via Player UI on the Dashboard
  • If multiple Sources having active Players then the scrobble Client will default to reporting the track based on Source configuration name, alphabetically

Clients can customize the Now Playing behavior individually using File or AIO source configs:

CONFIG_DIR/lastfm.json
[
{
"name": "myLastFmClient",
"configureAs": "client",
"data": {
// ...
},
"options": {
// disable or enable
//"nowPlaying": true
//
// OR define a list of Source *config* names that should be allowed to report Now Playing
// order of the list determines priority for reporting Now Playing
//"nowPlaying": ["mySpotify1","myJellyfin2"]
}
},
]