simple-last-fm-scrobbler / sls

Simple Scrobbler, for Android -- last.fm, libre.fm & ListenBrainz
https://simple-last-fm-scrobbler.github.io
Apache License 2.0
549 stars 100 forks source link

Scrobbles are not submitted, but now playing is submitted #523

Open russellsanborn opened 4 years ago

russellsanborn commented 4 years ago

Simple Scrobbler Version: v1.6.4 Phone: Pixel 3 Adnroid version: 9 Music players tried: Google Play Music, YouTube Music, YouTube

I am successfully connected to last.fm with my credentials in Simple Scrobbler. When I play songs on any of the above music players, the "Now playing" information is successfully sent to my last.fm account and shows up in the Status page. However, scrobbles are never submitted.

All three of my music players show up in Enabled Apps are they are checked.

Things I have tried:

  1. Restarting the phone
  2. Restarting Simple Scrobbler
  3. Restarting each of the music players
  4. Unchecked "Notification Default" from Enabled Apps
  5. Unchecked "Active App Notification WARNING, may skip scrobbles" from Options
hans-juergen commented 4 years ago

There were some database lag issues recently on Last.fm, so it might work now.

FLiNT-13-7 commented 4 years ago

I'm currently having similar issues when using Qobuz on Android 9. Scrobbles from other apps like Neutron and Deezer work fine, though.

a-r-db commented 4 years ago

I had the same issue while this was occurring. It was a scrobbles database roll-out issue with last.fm

a-r-db commented 4 years ago

If the problem has persisted, please @ me in this thread.

a-r-db commented 4 years ago

Closing until further notice.

melink14 commented 4 years ago

@a93h I'm having the same problem on Pixel 3 Android 10; now playing shows up but no scrobbles.

Also tried selecting "Scrobble Now" from three dots menu. (Not sure if database issue re-occuring or another problem)

a-r-db commented 4 years ago

@melink14 Hello friend, is there any chance you would be willing to share a debug log of only the Simple Last.fm Scrobbler app? Please read the debuggin tutorial in the wiki section of simple scrobber

Thanks, Austin H.

melink14 commented 4 years ago

Here are the logs, after a song finished playing.

edit: one second logs weren't as I expected. edit: The instructions for filtering for the app don't appear to work since none of the logs are tagged with the sls's package name but I found some that seem related:

09-20 16:35:01.480 2984 2984 D ScrobblingService: State: RESUME 09-20 16:35:01.481 2984 2984 D ScrobblingService: Will try to queue track, played: 135942 vs 112210 09-20 16:35:01.481 2984 2984 E SQLiteLog: (1) table scrobbles has no column named albumartist 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: Error inserting duration=229 artist=Post Malone tracknr= rating= source=P albumartist= mbid= album=Hollywood's Bleeding track=Take What You Want (feat. Ozzy Osbourne & Travis Scott) musicapp=1 whenplayed=1569022365 trackartist= 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: android.database.sqlite.SQLiteException: table scrobbles has no column named albumartist (code 1 SQLITE_ERROR): , while compiling: INSERT INTO scrobbles(duration,artist,tracknr,rating,source,albumartist,mbid,album,track,musicapp,whenplayed,trackartist) VALUES (?,?,?,?,?,?,?,?,?,?,?,?) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:986) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:593) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:590) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:61) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:33) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1597) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1468) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at com.adam.aslfms.util.ScrobblesDatabase.insertTrack(ScrobblesDatabase.java:233) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at com.adam.aslfms.service.ScrobblingService.queue(ScrobblingService.java:412) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at com.adam.aslfms.service.ScrobblingService.tryQueue(ScrobblingService.java:398) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at com.adam.aslfms.service.ScrobblingService.onPlayStateChanged(ScrobblingService.java:268) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at com.adam.aslfms.service.ScrobblingService.handleCommand(ScrobblingService.java:178) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at com.adam.aslfms.service.ScrobblingService.onStartCommand(ScrobblingService.java:98) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4087) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.app.ActivityThread.access$1800(ActivityThread.java:219) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1891) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.os.Handler.dispatchMessage(Handler.java:107) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.os.Looper.loop(Looper.java:214) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at android.app.ActivityThread.main(ActivityThread.java:7356) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at java.lang.reflect.Method.invoke(Native Method) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 09-20 16:35:01.484 2984 2984 E SQLiteDatabase: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 09-20 16:35:01.484 2984 2984 E ScrobblingService: Could not insert scrobble into the db 09-20 16:35:01.484 2984 2984 E ScrobblingService: Track [mTrack=Take What You Want (feat. Ozzy Osbourne & Travis Scott), mArtist=Post Malone, mAlbum=Hollywood's Bleeding, mAlbumArtist=, mDuration=229, mMbId=, mMusicAPI=MusicAPI [clashWithScrobbleDroid=0, enabled=1, id=1, msg=null, name=Google Play Music, pkg=com.google.android.music], mQueued=false, mRating=, mRowId=-1, mSource=P, mTimePlayed=135942, mTracknr=, mUnknownDuration=false, mWhen=1569022365, mWhenToCountTimeFrom=23528482]

melink14 commented 4 years ago

I uninstalled the app and reinstalled and it seems to be working now. Maybe it got in a bad state somehow.

a-r-db commented 4 years ago

Yes. I am rebuilding the database right now.

Dare2python commented 4 years ago

The same issue started with a version auto-upgraded to 1.6.7. Re-installed to 1.6.9 manually and it helped only for the first scrobbled composition.

Dare2python commented 4 years ago

1.7.0 seems fixed the issue.

Rogee34 commented 4 years ago

I'm still having this issue on the latest version. But it's only with certain music apps and only with Last.fm. I have accounts with Last.fm, Listenbrainz, and Libre.fm.

When playing music from Google Play Music, both now playing and scrobbles are successfully submitted to all three services.

However, when playing tracks from YouTube Music and PlayerFM, only now playing is submitted to Last.fm. Scrobbles never reach Last.fm, even though Simple Scrobbler report that they were submitted. Strangely, scrobbles are submitted perfectly to Listenbrainz and Libre.fm.

a-r-db commented 4 years ago

@Rogee34 hmm.. this is strange. It must have something to do with how Last.fm Permits or denies some music track information.

If you would be willing to install the debuggable version maybe you can see exactly what YouTube Music and PlayerFM are receiving back from Last.fm. There should be response errors in the debug logs

quite commented 2 years ago

I have similar issue. Lastfm always (i think) shows "now playing" corrently. But songs that SLS lists in the cache as submitted never appears on the lastfm site. But actually occasionally a song does appear there (!).

jonpsp commented 2 years ago

I get this with some websites/apps, but not all. For example, the nts.live/NTS Radio app - the songs appear in the Scrobble Cache and last.fm shows them correctly as "Now Playing". The songs are apparently submitted, but never show up in last.fm as having been played. My scrobbles for Podcast Addict are correctly submitted and do show up as having been played.

Jon

On Thu, 15 Jul 2021, 11:42 Daniel Lublin, @.***> wrote:

I have similar issue. Lastfm always (i think) shows "now playing" corrently. But songs that SLS lists in the cache as submitted never appears on the lastfm site. But actually occasionally a song does appear there (!).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/simple-last-fm-scrobbler/sls/issues/523#issuecomment-880591122, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE6V7FVYAVMTHTEC77KWFWLTX23RDANCNFSM4IVNU2KA .