From 29a7a625716a9b10bc4b03d5c0ac30aeff534023 Mon Sep 17 00:00:00 2001 From: emeric Date: Mon, 9 Oct 2023 13:55:24 +0200 Subject: [PATCH] Subsonic API: extensions WIP --- README.md | 8 ++------ SUBSONIC.md | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 SUBSONIC.md diff --git a/README.md b/README.md index 11ffd899..0629073f 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ A [demo instance](http://lms-demo.poupon.dev) is available. Note the administrat * Synchronizing 'love' feedbacks * ReplayGain support * User management, with several [authentication backends](INSTALL.md#authentication-backend) -* Subsonic API +* [Subsonic API](http://www.subsonic.org/pages/api.jsp) / [OpenSubsonic API](https://opensubsonic.netlify.app/docs/opensubsonic-api/) ## Music discovery _LMS_ provides several ways to help you find the music you like: @@ -35,11 +35,7 @@ _LMS_ provides several ways to help you find the music you like: * ... ## Subsonic API -The API version implemented is 1.16.0 and has been tested on _Android_ using _Subsonic Player_, _Ultrasonic_, _Symfonium_, and _DSub_. -Since _LMS_ uses metadata tags to organize music, a compatibility mode is used to browse the collection when using the directory browsing commands. -The Subsonic API is enabled by default. - -__Note__: since _LMS_ may store hashed and salted passwords or may forward authentication requests to external services, it cannot handle the __token authentication__ method. You may need to check your client to make sure to use the __password__ authentication method. +See [Subsonic API](SUBSONIC.md) dedicated page. ## About tags _LMS_ relies exclusively on tags to organize your music collection. diff --git a/SUBSONIC.md b/SUBSONIC.md new file mode 100644 index 00000000..856a68fa --- /dev/null +++ b/SUBSONIC.md @@ -0,0 +1,32 @@ +# Subsonic API +The API version implemented is 1.16.0 and has been tested on _Android_ using _Subsonic Player_, _Ultrasonic_, _Symfonium_, and _DSub_. +Since _LMS_ uses metadata tags to organize music, a compatibility mode is used to browse the collection when using the directory browsing commands. +The Subsonic API is enabled by default. + +__Note__: since _LMS_ may store hashed and salted passwords or may forward authentication requests to external services, it cannot handle the __token authentication__ method. You may need to check your client to make sure to use the __password__ authentication method. + +## OpenSubsonic API +The following extra fields are implemented: +* `Album` response: + * `musicBrainzId` + * `genres` + * `artists` + * `releaseTypes` + * `moods` + * `originalReleaseDate` + * `isCompilation` + * `discTitles` +* `Child` response: + * `musicBrainzId`: note this is actually the recording MBID + * `genres` + * `artists` + * `albumArtists` + * `contributors` + * `moods` + * `replayGain` +* `Artist` response: + * `musicBrainzId` + * `sortName` + * `roles` + +The timeOffset parameter