[READ-ONLY] Mirror of https://github.com/FoxxMD/multi-scrobbler. Scrobble plays from multiple sources to multiple clients docs.multi-scrobbler.app
deezer docker jellyfin koito lastfm listenbrainz maloja mopidy mpris music music-assistant plex scrobble self-hosted spotify subsonic tautulli youtube-music
0

Configure Feed

Select the types of activity you want to include in your feed.

Add some snippers

FoxxMD (Oct 30, 2025, 3:21 PM UTC) a5d1cea9 3e3473f6

+54 -22
+2 -22
docsite/docs/configuration/configuration.mdx
··· 9 9 import SchemaLink from "../../src/components/SchemaLink"; 10 10 import AIOExample from "../../src/components/AIOExample"; 11 11 import FileExample from "../../src/components/FileExample"; 12 + import ScrobbleThreshold from "@site/src/components/snippets/_scrobble-threshold.mdx" 12 13 13 14 import AIOConfig from '!!raw-loader!../../../config/config.json.example'; 14 15 import AzuracastConfig from '!!raw-loader!../../../config/azuracast.json.example'; ··· 337 338 338 339 <h3 id="scrobble-thresholds">Scrobble Thresholds</h3> 339 340 340 - For Sources where multi-scrobbler monitors active listening, it uses one of two metrics to determine if a Song is scrobbable based on your listening: 341 - 342 - * **percent** of track listened to (50% or more) 343 - * or amount of time (**duration**) track was listened to (4 minutes or more) 344 - 345 - These default values are based on [last.fm's scrobble guidance.](https://www.last.fm/api/scrobbling#when-is-a-scrobble-a-scrobble) 346 - 347 - Each Source can have these values customized using values in the Source's `options` in [file or aio config](./?configType=file#configuration-types): 348 - 349 - ```json5 title="azuracast.json" 350 - { 351 - "data": { 352 - // ... 353 - }, 354 - "options": { 355 - "scrobbleThresholds": { 356 - "duration": 40, // scrobbable if listened to for 40 seconds or more 357 - "percent": 20 // scrobbable if listened to for 20% or more of the track's length 358 - } 359 - } 360 - } 361 - ``` 341 + <ScrobbleThreshold filename="spotify"/> 362 342 363 343 These can also be configured **globally** for all Sources using ENVs: 364 344
+27
docsite/src/components/snippets/_scrobble-threshold.mdx
··· 1 + import CodeBlock from '@theme/CodeBlock'; 2 + 3 + A **Source** that monitors active listening uses one of two metrics to determine if a Song is scrobbable based on your listening: 4 + 5 + * **percent** of track listened to (50% or more) 6 + * or amount of time (**duration**) track was listened to (4 minutes or more) 7 + 8 + These default values are based on [last.fm's scrobble guidance.](https://www.last.fm/api/scrobbling#when-is-a-scrobble-a-scrobble) 9 + 10 + These values can be customized in the `options` of Source's [file or aio config](/configuration#configuration-types): 11 + <CodeBlock 12 + language="json5" 13 + title={`${props.filename}.json`}> 14 + {`{ 15 + "data": { 16 + // ... 17 + }, 18 + "options": { 19 + // highlight-start 20 + "scrobbleThresholds": { 21 + "duration": 40, // scrobbable if listened to for 40 seconds or more 22 + "percent": 20 // scrobbable if listened to for 20% or more of the track's length 23 + } 24 + // highlight-end 25 + } 26 + }`} 27 + </CodeBlock>
+22
docsite/src/components/snippets/_should-scrobble.mdx
··· 1 + import CodeBlock from '@theme/CodeBlock'; 2 + 3 + This **Source** supports toggling scrobbling on or off manually. This action can be taken on the Web Dashboard by clicking the link next to **Should Scrobble** found in each Source's status card. 4 + 5 + Additionally, the default behavior for scrobbling can be explicitly set by adding the following value to a Source's `options` in [file or aio config](/configuration?configType=file#configuration-types): 6 + 7 + <CodeBlock 8 + language="json5" 9 + title={`${props.filename}.json`}> 10 + {`{ 11 + "data": { 12 + // ... 13 + }, 14 + "options": { 15 + // highlight-start 16 + // set to true to always scrobble automatically 17 + // set to false to never scrobble automatically 18 + "systemScrobble": true 19 + // highlight-end 20 + } 21 + }}`} 22 + </CodeBlock>
+3
docsite/src/components/snippets/ingress-short.mdx
··· 1 + This component **recieves data** from outside services, rather than actively contacting the outside service for data itself. 2 + 3 + In order for it to work multi-scrobbler must be accessible, on an open port or through reverse-proxy, to the service that will be sending data to it.