package scrobbler import ( "strconv" "time" "github.com/fhs/gompd/v2/mpd" "github.com/google/uuid" ) type Record struct { Id uuid.UUID Title string Album string Artist string Duration time.Duration } func NewRecord(attrs mpd.Attrs) (*Record, error) { record := Record{ Id: uuid.New(), Title: attrs["Title"], Album: attrs["Album"], Artist: attrs["Artist"], } dur, err := strconv.ParseFloat(attrs["duration"], 32) if err != nil { return nil, err } record.Duration = time.Second * time.Duration(dur) return &record, nil }