package mpd import ( "fmt" "github.com/fhs/gompd/v2/mpd" ) type Song struct { Path string Attrs mpd.Attrs stickers []mpd.Sticker } func newSong(attrs mpd.Attrs) *Song { return &Song{ Path: attrs["file"], Attrs: attrs, } } func (s *Song) GetStickers() ([]mpd.Sticker, error) { if s.stickers != nil { return s.stickers, nil } if connerror != nil { return nil, connerror } sticks, err := StickersGetFor(s.Path) s.stickers = sticks return s.stickers, err } func (s *Song) PrintAll(withStickers bool) { for k, v := range s.Attrs { fmt.Println(k, ":", v) } if withStickers { sticks, _ := s.GetStickers() for _, v := range sticks { fmt.Println(v.Name, "*:", v.Value) } } }