diff --git a/engine/scrobbler.go b/engine/scrobbler.go index 931156203..a55a2b97e 100644 --- a/engine/scrobbler.go +++ b/engine/scrobbler.go @@ -6,6 +6,7 @@ import ( "fmt" "time" + "github.com/deluan/navidrome/log" "github.com/deluan/navidrome/model" ) @@ -42,6 +43,9 @@ func (s *scrobbler) Register(ctx context.Context, playerId int, trackId string, err = s.ds.Artist(ctx).IncPlayCount(mf.ArtistID, playTime) return err }) + + log.Info("Scrobbled", "title", mf.Title, "artist", mf.Artist, "user", userName(ctx)) + return mf, err } @@ -56,6 +60,8 @@ func (s *scrobbler) NowPlaying(ctx context.Context, playerId int, playerName, tr return nil, errors.New(fmt.Sprintf(`ID "%s" not found`, trackId)) } + log.Info("Now Playing", "title", mf.Title, "artist", mf.Artist, "user", userName(ctx)) + info := &NowPlayingInfo{TrackID: trackId, Username: username, Start: time.Now(), PlayerId: playerId, PlayerName: playerName} return mf, s.npRepo.Enqueue(info) } diff --git a/server/subsonic/media_annotation.go b/server/subsonic/media_annotation.go index 9a6fab347..9223dbde6 100644 --- a/server/subsonic/media_annotation.go +++ b/server/subsonic/media_annotation.go @@ -125,19 +125,17 @@ func (c *MediaAnnotationController) Scrobble(w http.ResponseWriter, r *http.Requ t = time.Now() } if submission { - mf, err := c.scrobbler.Register(r.Context(), playerId, id, t) + _, err := c.scrobbler.Register(r.Context(), playerId, id, t) if err != nil { log.Error(r, "Error scrobbling track", "id", id, err) continue } - log.Info(r, "Scrobbled", "id", id, "title", mf.Title, "timestamp", t) } else { - mf, err := c.scrobbler.NowPlaying(r.Context(), playerId, playerName, id, username) + _, err := c.scrobbler.NowPlaying(r.Context(), playerId, playerName, id, username) if err != nil { log.Error(r, "Error setting current song", "id", id, err) continue } - log.Info(r, "Now Playing", "id", id, "title", mf.Title, "timestamp", t) } } return NewResponse(), nil