scrobble with brainz trackid, not album id
This commit is contained in:
@@ -78,6 +78,7 @@ type Track struct {
|
||||
TagDiscNumber int `sql:"default: null"`
|
||||
TagGenre *Genre
|
||||
TagGenreID int `sql:"default: null; type:int REFERENCES genres(id) ON DELETE CASCADE"`
|
||||
TagBrainzID string `sql:"default: null"`
|
||||
}
|
||||
|
||||
func (t *Track) Ext() string {
|
||||
|
||||
@@ -336,6 +336,7 @@ func (s *Scanner) handleTrack(it *item) error {
|
||||
track.TagTrackArtist = trTags.Artist()
|
||||
track.TagTrackNumber = trTags.TrackNumber()
|
||||
track.TagDiscNumber = trTags.DiscNumber()
|
||||
track.TagBrainzID = trTags.BrainzID()
|
||||
track.Length = trTags.Length() // these two should be calculated
|
||||
track.Bitrate = trTags.Bitrate() // ...from the file instead of tags
|
||||
//
|
||||
|
||||
@@ -34,6 +34,7 @@ func (t *Tags) firstTag(keys ...string) string {
|
||||
}
|
||||
|
||||
func (t *Tags) Title() string { return t.firstTag("title") }
|
||||
func (t *Tags) BrainzID() string { return t.firstTag("musicbrainz_trackid") }
|
||||
func (t *Tags) Artist() string { return t.firstTag("artist") }
|
||||
func (t *Tags) Album() string { return t.firstTag("album") }
|
||||
func (t *Tags) AlbumArtist() string { return t.firstTag("albumartist", "album artist") }
|
||||
|
||||
@@ -95,7 +95,7 @@ func Scrobble(apiKey, secret, session string, opts ScrobbleOpts) error {
|
||||
params.Add("track", opts.Track.TagTitle)
|
||||
params.Add("trackNumber", strconv.Itoa(opts.Track.TagTrackNumber))
|
||||
params.Add("album", opts.Track.Album.TagTitle)
|
||||
params.Add("mbid", opts.Track.Album.TagBrainzID)
|
||||
params.Add("mbid", opts.Track.TagBrainzID)
|
||||
params.Add("albumArtist", opts.Track.Artist.Name)
|
||||
params.Add("api_sig", getParamSignature(params, secret))
|
||||
_, err := makeRequest("POST", params)
|
||||
|
||||
Reference in New Issue
Block a user