From b0e58cb885122bb234654938d575962776dca243 Mon Sep 17 00:00:00 2001 From: Deluan Date: Wed, 8 Feb 2023 14:27:26 -0500 Subject: [PATCH] Use Navidrome's own public images endpoint for `getAlbumInfo`'s imageURLs --- server/subsonic/browsing.go | 13 +++++++------ server/subsonic/helpers.go | 4 ++-- server/subsonic/searching.go | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/server/subsonic/browsing.go b/server/subsonic/browsing.go index 47a39c06..240b1cd8 100644 --- a/server/subsonic/browsing.go +++ b/server/subsonic/browsing.go @@ -193,9 +193,10 @@ func (api *Router) GetAlbumInfo(r *http.Request) (*responses.Subsonic, error) { response := newResponse() response.AlbumInfo = &responses.AlbumInfo{} response.AlbumInfo.Notes = album.Description - response.AlbumInfo.SmallImageUrl = album.SmallImageUrl - response.AlbumInfo.MediumImageUrl = album.MediumImageUrl - response.AlbumInfo.LargeImageUrl = album.LargeImageUrl + response.AlbumInfo.SmallImageUrl = public.ImageURL(r, album.CoverArtID(), 150) + response.AlbumInfo.MediumImageUrl = public.ImageURL(r, album.CoverArtID(), 300) + response.AlbumInfo.LargeImageUrl = public.ImageURL(r, album.CoverArtID(), 600) + response.AlbumInfo.LastFmUrl = album.ExternalUrl response.AlbumInfo.MusicBrainzID = album.MbzAlbumID @@ -257,9 +258,9 @@ func (api *Router) GetArtistInfo(r *http.Request) (*responses.Subsonic, error) { response := newResponse() response.ArtistInfo = &responses.ArtistInfo{} response.ArtistInfo.Biography = artist.Biography - response.ArtistInfo.SmallImageUrl = public.ImageURL(r, artist.CoverArtID(), 160) - response.ArtistInfo.MediumImageUrl = public.ImageURL(r, artist.CoverArtID(), 320) - response.ArtistInfo.LargeImageUrl = public.ImageURL(r, artist.CoverArtID(), 0) + response.ArtistInfo.SmallImageUrl = public.ImageURL(r, artist.CoverArtID(), 150) + response.ArtistInfo.MediumImageUrl = public.ImageURL(r, artist.CoverArtID(), 300) + response.ArtistInfo.LargeImageUrl = public.ImageURL(r, artist.CoverArtID(), 600) response.ArtistInfo.LastFmUrl = artist.ExternalUrl response.ArtistInfo.MusicBrainzID = artist.MbzArtistID for _, s := range artist.SimilarArtists { diff --git a/server/subsonic/helpers.go b/server/subsonic/helpers.go index 25ca24bb..f7be628b 100644 --- a/server/subsonic/helpers.go +++ b/server/subsonic/helpers.go @@ -88,7 +88,7 @@ func toArtist(r *http.Request, a model.Artist) responses.Artist { AlbumCount: a.AlbumCount, UserRating: a.Rating, CoverArt: a.CoverArtID().String(), - ArtistImageUrl: public.ImageURL(r, a.CoverArtID(), 0), + ArtistImageUrl: public.ImageURL(r, a.CoverArtID(), 600), } if a.Starred { artist.Starred = &a.StarredAt @@ -102,7 +102,7 @@ func toArtistID3(r *http.Request, a model.Artist) responses.ArtistID3 { Name: a.Name, AlbumCount: a.AlbumCount, CoverArt: a.CoverArtID().String(), - ArtistImageUrl: public.ImageURL(r, a.CoverArtID(), 0), + ArtistImageUrl: public.ImageURL(r, a.CoverArtID(), 600), UserRating: a.Rating, } if a.Starred { diff --git a/server/subsonic/searching.go b/server/subsonic/searching.go index 3cafef34..ea57f5ae 100644 --- a/server/subsonic/searching.go +++ b/server/subsonic/searching.go @@ -107,7 +107,7 @@ func (api *Router) Search2(r *http.Request) (*responses.Subsonic, error) { AlbumCount: artist.AlbumCount, UserRating: artist.Rating, CoverArt: artist.CoverArtID().String(), - ArtistImageUrl: public.ImageURL(r, artist.CoverArtID(), 0), + ArtistImageUrl: public.ImageURL(r, artist.CoverArtID(), 600), } if artist.Starred { searchResult2.Artist[i].Starred = &as[i].StarredAt