package ca.ksamad.encore.playback

/**
 * A request for a piece of MPD cover art, used as the model handed to Coil. The concrete type
 * doubles as the cache key (see the keyer in [ArtImageLoader]), so the same song/album resolves to
 * the same cached image.
 */
sealed interface MpdArtData

/** Cover art for a specific song URI (used for now-playing and the notification). */
data class SongArt(val uri: String) : MpdArtData

/** Cover art for an album (a representative track is resolved server-side). */
data class AlbumArt(
    val album: String,
    val albumArtist: String?,
) : MpdArtData
