[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.

docs: Improve general transform docs

FoxxMD (Dec 17, 2025, 1:57 PM UTC) 98f045a7 419f7cf6

+31 -4
+30 -3
docsite/docs/configuration/transforms/transforms.mdx
··· 371 371 372 372 ::: 373 373 374 - ### Flow Control 374 + ## Stage Flow Control {#flow-control} 375 375 376 376 Stages may be optionally configured to **continue** to the next Stage or **stop** (end early) all subsequent Stages, based on the outcome of the currently running Stage. 377 377 ··· 444 444 445 445 </details> 446 446 447 - ### Conditional Modification 447 + ### Conditionally Run {#conditional-modification} 448 448 449 449 [Stages](#stage) within a [Hook](#hook), and [Rules](#stage-rules) within each Stage, support a `when` object for testing **if they should be run.** 450 450 ··· 452 452 453 453 All parts of an individual `when` clause must test true to "pass" but if **any** `when` clauses pass the Stage/Rule is processed. 454 454 455 + If the `when` test does not pass then the Stage is [**skipped (`onSkip`)**](#flow-control). 456 + 455 457 ```json5 456 458 { 457 459 "when": ··· 538 540 539 541 ## Logging 540 542 541 - MS can log the output of Stage transformations if/when they occur. In the `playTransform` object of a Source/Client config use `log`: 543 + MS can log a diff of Stage transformations if/when they occur. In the `playTransform` object of a Source/Client config use `log`: 542 544 543 545 * `"log": true` => Output original play + final transformed output of last Stage in the array 544 546 * `"log": "all"` => Output original play + final transformed output of **each** Stage in the array ··· 555 557 } 556 558 } 557 559 ``` 560 + 561 + <details> 562 + 563 + <summary>Example</summary> 564 + 565 + The output shows the diff between the previous stage (or original Play) and the current stage. In docker logs this is highlighted with diff syntax: 566 + 567 + ```diff 568 + [2025-12-17 08:53:10.467 -0500] DEBUG : [App] [Sources] [Lastfm - mylfm] [Play Transform] [preCompare] [VLDJJo] Transform Diff 569 + - Original 570 + + musicbrainz-MyMB 571 + 572 + Title : Demons Theme Part II (original 12" mix) 573 + Artists : LTJ Bukem 574 + Album Artists: (None) 575 + - Album : Producer 05: Rarities (Original 12" Version) 576 + + Album : Producer 05: Rarities (original 12" version) 577 + Meta : 578 + * brainz-album: 36759a8a-d3df-47da-a236-60f84fdc0cab 579 + + * brainz-artist: 28c1b7b7-355a-48b1-b2c4-75b8eb8080ef 580 + + * brainz-track: a0d51240-7ef1-4676-882e-be9f354075cb 581 + + * brainz-releaseGroup: e0cce74f-abcc-343b-9390-1673e4d57ce7 582 + ``` 583 + 584 + </details> 558 585 559 586 ## Examples 560 587
+1 -1
docsite/docusaurus.config.ts
··· 202 202 prism: { 203 203 theme: themes.themes.github, 204 204 darkTheme: themes.themes.dracula, 205 - additionalLanguages: ['json','json5','typescript', 'docker', 'bash', 'ini'] 205 + additionalLanguages: ['json','json5','typescript', 'docker', 'bash', 'ini', 'diff'] 206 206 }, 207 207 colorMode: { 208 208 defaultMode: 'dark',