add ratingID3 extension to support user ratings for AlbumID3 and ArtistID3#184
add ratingID3 extension to support user ratings for AlbumID3 and ArtistID3#184dweymouth wants to merge 6 commits into
Conversation
✅ Deploy Preview for opensubsonic ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Need another naming concept. ID3 is the tag format. But the current endpoint already says it supports ratings for albums and artists no? So we just need new fields as optional and so no need for extension ? |
We need the extension because the existing endpoint only supports IDs for |
|
Ok, still find the extension naming ultra confusing but the old API is confusing anyway :) |
|
On my own server implementation, I have distinct ID space for each different entity type (songs, albums, folders, playlists...) by having a type-specific prefix on each ID. I have been accepting different kinds of IDs on the |
|
Most servers have different ids without possible clash, but since the API was undefined some server have or had possible clashes. So now additions to OS should be explicit to what the ids refers to. |
|
Subsonic and its direct forks (e.g. airsonic-advanced) did not support ArtistID3 and AlbumID3 IDs for this endpoint. Some servers and clients accept the newer tag-based IDs here, but it needs to be made explicit so that clients and servers can know exactly what is supported (hence the need for this extension). This is following the pattern for accepting the id3-based IDs introduced by the OG API in |
| categories: | ||
| - Media annotation | ||
| description: > | ||
| Sets the rating for a music file. |
There was a problem hiding this comment.
Also this description should be extended. E.g. "Sets the rating for a music file, folder, album, or artist".
| `http://your-server/rest/setRating` Since [1.6.0](../../subsonic-versions) | ||
|
|
||
| Sets the rating for a music file. | ||
| Sets the rating for a music file, folder, album, or artist. |
There was a problem hiding this comment.
This change went to wrong place. Here it wouldn't have been necessary as the sentence below already covers the artist and album. Now there's unnecessary repetition. My previous comment was targeted to the summary in the header on the line 7 of this file.
| | `artistId` | No | **Yes** | | The ID of an artistID3 to rate. Multiple parameters allowed. Supported by servers implementing the ratingID3 extension. | | ||
| | `albumId` | No | **Yes** | | The ID of an albumID3 to rate. Multiple parameters allowed. Supported by servers implementing the ratingID3 extension. | |
There was a problem hiding this comment.
Is the "Multiple parameters allowed" here on purpose? Unlike in the star and unstar endpoints, the original specification doesn't allow multiple target items in setRating. It might be a sensible extension to allow multiple targets also here but then we should apply this also to the id parameter.
|
Still regarding the naming of the extension, do you see it plausible that we would someday want to add rating for other kinds of items? Like podcast channels, radio streams, and/or playlists? If yes, then it might make sense to give the extension a more generic name like "Extended rating" to accommodate those other types in the future version(s) of the extension. Of course we can do those also as a separate extension, but would it be better to bundle similar changes under various versions of one extension? I have no strong opinion either way. |
|
Any plans on finalizing this PR? |
This extension allows setting user ratings to artists and albums in the ArtistID3/AlbumID3 system. The existing endpoint only supported rating artists and albums using the old folder-based IDs and organization, which isn't used by most modern clients.