mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-02-10 07:58:39 -05:00
fix: getCoverArt now handles album and artist IDs, not just tracks
This commit is contained in:
@@ -278,12 +278,40 @@ public class SubsonicController : ControllerBase
|
||||
}
|
||||
}
|
||||
|
||||
// Cover externe - récupérer l'URL depuis les métadonnées
|
||||
// Cover externe - essayer track, album, puis artist
|
||||
string? coverUrl = null;
|
||||
|
||||
// Essayer en tant que track
|
||||
var song = await _metadataService.GetSongAsync(provider!, externalId!);
|
||||
if (song?.CoverArtUrl != null)
|
||||
{
|
||||
coverUrl = song.CoverArtUrl;
|
||||
}
|
||||
|
||||
// Si pas trouvé, essayer en tant qu'album
|
||||
if (coverUrl == null)
|
||||
{
|
||||
var album = await _metadataService.GetAlbumAsync(provider!, externalId!);
|
||||
if (album?.CoverArtUrl != null)
|
||||
{
|
||||
coverUrl = album.CoverArtUrl;
|
||||
}
|
||||
}
|
||||
|
||||
// Si pas trouvé, essayer en tant qu'artiste
|
||||
if (coverUrl == null)
|
||||
{
|
||||
var artist = await _metadataService.GetArtistAsync(provider!, externalId!);
|
||||
if (artist?.ImageUrl != null)
|
||||
{
|
||||
coverUrl = artist.ImageUrl;
|
||||
}
|
||||
}
|
||||
|
||||
if (coverUrl != null)
|
||||
{
|
||||
// Proxy l'image
|
||||
var response = await _httpClient.GetAsync(song.CoverArtUrl);
|
||||
var response = await _httpClient.GetAsync(coverUrl);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
var imageBytes = await response.Content.ReadAsByteArrayAsync();
|
||||
|
||||
Reference in New Issue
Block a user