From 7026da3f6f147e47d42b23c922e2006d15170312 Mon Sep 17 00:00:00 2001 From: Arsen Musayelyan Date: Fri, 4 Mar 2022 12:04:37 -0800 Subject: [PATCH] Handle case where artists value is a single string rather than a slice. Fixes Arsen6331/itd#9. --- pkg/player/player.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkg/player/player.go b/pkg/player/player.go index 0d8e544..6f3e202 100644 --- a/pkg/player/player.go +++ b/pkg/player/player.go @@ -163,12 +163,17 @@ func OnChange(cb func(ChangeType, string)) { } cb(ChangeTypeAlbum, album) } else if strings.HasSuffix(name, "artist") { - artists := val.Value().([]string) - artistStr := strings.Join(artists, ", ") - if artistStr == "" { - artistStr = "Unknown " + ChangeTypeArtist.String() + var artists string + switch artistVal := val.Value().(type) { + case string: + artists = artistVal + case []string: + artists = strings.Join(artistVal, ", ") } - cb(ChangeTypeArtist, artistStr) + if artists == "" { + artists = "Unknown " + ChangeTypeArtist.String() + } + cb(ChangeTypeArtist, artists) } } } else if name == "PlaybackStatus" {