Skip to content

Commit 0825b87

Browse files
feat: ✨ improve subsonic search compatibility by artist and album ids and coverArt
1 parent b17b564 commit 0825b87

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

itunes.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,11 @@ type ExternalItem struct {
103103
Source string `json:"source"`
104104
RecordingID string `json:"recordingId,omitempty"`
105105
Title string `json:"title,omitempty"`
106+
ArtistID int64 `json:"artistId,omitempty"`
106107
Artist string `json:"artist,omitempty"`
107108
Album string `json:"album,omitempty"`
109+
AlbumID int64 `json:"albumId,omitempty"`
110+
Genre string `json:"genre,omitempty"`
108111
ReleaseID string `json:"releaseId,omitempty"`
109112
CoverArtURL string `json:"coverArtUrl,omitempty"`
110113
Confidence float64 `json:"confidence,omitempty"`
@@ -122,7 +125,10 @@ func WrapExternalSearch(items []ExternalItem) map[string]any {
122125
"id": "itunes-" + item.RecordingID,
123126
"title": item.Title,
124127
"artist": item.Artist,
128+
"artistId": item.ArtistID,
125129
"album": item.Album,
130+
"albumId": item.AlbumID,
131+
"genre": item.Genre,
126132
"coverArt": "itunes-cover-" + url.QueryEscape(item.CoverArtURL),
127133
"duration": item.Duration,
128134
"size": (item.Duration * 160000) / 8,

search.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,10 @@ func SmartSearch(upstreamBase string) http.HandlerFunc {
106106
RecordingID: fmt.Sprintf("%d", rec.TrackId),
107107
Title: rec.TrackName,
108108
Artist: rec.ArtistName,
109+
ArtistID: rec.ArtistId,
109110
Album: rec.CollectionName,
111+
AlbumID: rec.CollectionId,
112+
Genre: rec.PrimaryGenreName,
110113
ReleaseID: fmt.Sprintf("%d", rec.CollectionId),
111114
CoverArtURL: GetHighResArtwork(rec.ArtworkUrl100),
112115
Confidence: 1.0,

0 commit comments

Comments
 (0)