Skip to main content
Topic: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles (Read 27801 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #250
I would like to make 2 feature requests with regards to the lastfm integration. Currently in these cases lastfm plays are stuck on 0 in my library.

The first one is for custom field mappings. For example, I use '$if2([%conductor%],[%artist%])' as artist field in foo_scrobble. Obviously the artist that foo_enhanced_playcount retrieves from lastfm does not match up anymore with the artist tag in the song. Ideally your component copies the field mappings from foo_scrobble or at least allows to set them manually.



Second request is to take into account lastfm autocorrected tags. There are many cases where lastfm incorrectly autocorrects to a different title/artist, when foo_enhanced_playcount retrieves those scrobbles back they do not match up with the tags in my library and thus remain on a playcount of 0.

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #251
I really like the first idea. I'll take a look at implementing that in the near future.

As for the 2nd, I don't think there's a way to know what the originally played artist/title was to track them back. If you can give me an example from your own getRecentTracks call that you can point me to of a track that was corrected I can verify this. I've just looked through about 2000 tracks looking for something that was designated as autocorrected and couldn't find anything.

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #252
Finally this feature seems ready to go:

v4.1.1
 - Option to defeat auto pull in configuration
 - Autopull pulls 1000 songs at a time again
 - Config shows when the next historical pull will start from, and allows you to restart from most recent scrobble
 - It was possible in some weird confluence of events for you be to pulling historical scrobbles from 2019 and the next pull could be years previously (despite thousands of songs in between). This should be impossible now
 - Once we reach the end of the scrobble list, start over from most recent date
 - Better prevention of querying last.fm for the same song twice
 - Prevent unnecessary last.fm queries for songs that were pulled back in versions 1.5 to 2.0.2

This is a soft release and if nobody reports any issues, I'll update it in the official registry.

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #253
If you can give me an example from your own getRecentTracks call that you can point me to of a track that was corrected I can verify this.

Here is a query to an autocorrected scrobble: http://ws.audioscrobbler.com/2.0/?method=user.getTrackScrobbles&api_key=a1685abe5265b93cf2be4a70d181bf6b&user=Odinoss&artist=Kelela&track=Guns%20%26%20Synths&limit=200&format=json&page=1

You can see the track parameter in the query is "Guns & Synths", which is the title in my library. However the query returns 3 scrobbles for "Guns & Synths (Prod. Bok Bok)". These scrobbles are not recognized and applied atm.

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #254
v4.1.2 is up in the component registry. Fixes two issues:
 - Songs with an apostrophe in the album or title were not having scrobbles automatically checked
 - If you started up foobar and there were no songs scrobbled since the last check, the historical scrobble check would reset

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #255
Here is a query to an autocorrected scrobble: http://ws.audioscrobbler.com/2.0/?method=user.getTrackScrobbles&api_key=a1685abe5265b93cf2be4a70d181bf6b&user=Odinoss&artist=Kelela&track=Guns%20%26%20Synths&limit=200&format=json&page=1

You can see the track parameter in the query is "Guns & Synths", which is the title in my library. However the query returns 3 scrobbles for "Guns & Synths (Prod. Bok Bok)". These scrobbles are not recognized and applied atm.
I think the solution here is to stop checking to see if the song title matches. This was required when we had to do artist queries, but now that the plugin does getTrackScrobbles instead it *should* be okay to skip this comparison. i'm gonna do a little more testing and then roll this out if I can't find any conflicts.


 

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #257
I found a bug with retrieving scrobbles, when the title of a track contains a "+" the query doesn't return scrobble data. Two examples:
http://ws.audioscrobbler.com/2.0/?method=user.getTrackScrobbles&api_key=a1685abe5265b93cf2be4a70d181bf6b&user=Odinoss&artist=Thee Oh Sees&track=Strawberries 1+2&limit=200&format=json&page=1
http://ws.audioscrobbler.com/2.0/?method=user.getTrackScrobbles&api_key=a1685abe5265b93cf2be4a70d181bf6b&user=Odinoss&artist=Varg&track=(+46) Placing My IPhone X Facing Up To See When U Answer My Texts&limit=200&format=json&page=1

And here the query works correctly:
http://ws.audioscrobbler.com/2.0/?method=user.getTrackScrobbles&api_key=a1685abe5265b93cf2be4a70d181bf6b&user=Odinoss&artist=Thee Oh Sees&track=Strawberries 1%2B2&limit=200&format=json&page=1
http://ws.audioscrobbler.com/2.0/?method=user.getTrackScrobbles&api_key=a1685abe5265b93cf2be4a70d181bf6b&user=Odinoss&artist=Varg&track=(%2B46) Placing My IPhone X Facing Up To See When U Answer My Texts&limit=200&format=json&page=1

In this case I changed "+" with the uri encoded version "%2B". I'm not aware of any more cases like this with other characters, but it may be worth investigating.
Thanks!

Fixed in 4.1.3 which is available now.

BTW: while doing sanity checks of other "special" characters, I found 3 songs that last.fm refuses to allow to be scrobbled. Check out Song #7 here: https://www.last.fm/music/Psychostick/Do
I thought things were broken on my end until I checked the # of scrobbles on that page. Pretty sure they're ignoring them as they think that whatever last.fm client being used is sending bogus data (i.e. a filename).

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #258
Thank you MordredKLB for the active development :-)

Question aka Feature Request:

can we have some more information in the console, like

Code: [Select]
[19:10:41] Found 1 scrobbles in last.fm of "Renegades Of Acid Trance"

will be shown as

Code: [Select]
[19:10:41] Found 1 scrobbles in last.fm of "Renegades Of Acid Trance (01.02.2003)"

I like to see some sort of date, when looking at the console. We can display the dates in a panel, so displaying it in the console too would be easy and nice too 8-]

What to do, if 15 dates are found?
Just display the first and the last.

Code: [Select]
[19:10:41] Found 15 scrobbles in last.fm of "Renegades Of Acid Trance (01.02.2003 ... 04.05.2006)"

Thanks and Keep up the good work ;-)

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #259
The first one is for custom field mappings. For example, I use '$if2([%conductor%],[%artist%])' as artist field in foo_scrobble. Obviously the artist that foo_enhanced_playcount retrieves from lastfm does not match up anymore with the artist tag in the song. Ideally your component copies the field mappings from foo_scrobble or at least allows to set them manually.
I'd prefer the at least allows to set them manually part to have maximum freedom :-)

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #260
BTW: while doing sanity checks of other "special" characters, I found 3 songs that last.fm refuses to allow to be scrobbled. Check out Song #7 here: https://www.last.fm/music/Psychostick/Do
I thought things were broken on my end until I checked the # of scrobbles on that page. Pretty sure they're ignoring them as they think that whatever last.fm client being used is sending bogus data (i.e. a filename).
Yes, I noticed that too. I have no idea how people are scrobbling this album (I can't) https://www.last.fm/music/ESPRIT+空想/virtua.zip

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #261
v4.1.4 - No longer comparing song titles since we search by song titles. This should handle the issue with last.fm auto-correcting songs.

Not publishing this one just yet cause I'd like to get a few more eyes on it first and make sure I didn't miss anything.

Re: foo_enhanced_playcount - Record all song plays and Last.fm scrobbles

Reply #262
Hi, I'm using v4.1.4 with f2k1.5b15 and
my historical scrobble pull is stuck on 2018-07-14 for days.

I had experienced another "stuck" some weeks before and pressed the "reset pull date" button and then it worked for some days and get stucked again.

Also, if I deactivate the
  • wait to retrieive scrobbles option, nothing changed.

I found this on the console. Not sure, if it relays to the problem.
Code: [Select]
[01:01:06] Found 0 scrobbles in last.fm of "Heavy Gruts"
[01:01:07] Track scanned in 1349.001 ms
[01:01:09] last.fm Error: Operation failed - Most likely the backend service failed. Please try again.
and
Code: [Select]
[01:18:13] Opening track for playback: "C:\Users\mp3\frog pocket\04.mp3"
[01:18:14] Querying last.fm: http://ws.audioscrobbler.com/2.0/?method=user.getTrackScrobbles&api_key=mykey&user=myuser&artist=Frog Pocket&track=Windy Goule&limit=200&format=json&page=1
[01:18:14] Found 0 scrobbles in last.fm of "Windy Goule"
[01:18:35] Opening track for playback: "C:\Users\mp3\few nolder - no mo EP (2008)\few_nolder-no_mo.mp3"
[01:18:35] Querying last.fm: http://ws.audioscrobbler.com/2.0/?method=user.getTrackScrobbles&api_key=mykey&user=myuser&artist=Few Nolder&track=No Mo&limit=200&format=json&page=1
[01:18:36] Found 0 scrobbles in last.fm (since last known scrobble at 2019-09-18 01:12:15) of "No Mo"
[01:19:52] Opening track for playback: "C:\Users\mp3\few nolder - no mo EP (2008)\few_nolder-brenn.mp3"
[01:19:53] Querying last.fm: http://ws.audioscrobbler.com/2.0/?method=user.getTrackScrobbles&api_key=mykey&user=myuser&artist=Few Nolder&track=Brenn&limit=200&format=json&page=1
[01:19:53] Found 0 scrobbles in last.fm of "Brenn"
[01:20:28] Opening track for playback: "C:\Users\mp3\few nolder - no mo EP (2008)\few_nolder-no_mo.mp3"
[01:20:28] Querying last.fm: http://ws.audioscrobbler.com/2.0/?method=user.getTrackScrobbles&api_key=mykey&user=myuser&artist=Few Nolder&track=No Mo&limit=200&format=json&page=1
[01:20:29] Starting to pull legacy scrobbles (before 1531568361)
[01:20:29] Querying last.fm: http://ws.audioscrobbler.com/2.0/?method=user.getRecentTracks&api_key=mykey&user=myuser&limit=200&format=json&to=1531568361&page=1
[01:20:29] Found 0 scrobbles in last.fm (since last known scrobble at 2019-09-18 01:12:15) of "No Mo"
[01:20:30] Querying last.fm: http://ws.audioscrobbler.com/2.0/?method=user.getRecentTracks&api_key=mykey&user=myuser&limit=200&format=json&to=1531568361&page=2
[01:20:32] Querying last.fm: http://ws.audioscrobbler.com/2.0/?method=user.getRecentTracks&api_key=mykey&user=myuser&limit=200&format=json&to=1531568361&page=3
[01:20:34] Querying last.fm: http://ws.audioscrobbler.com/2.0/?method=user.getRecentTracks&api_key=mykey&user=myuser&limit=200&format=json&to=1531568361&page=4
[01:20:36] Querying last.fm: http://ws.audioscrobbler.com/2.0/?method=user.getRecentTracks&api_key=mykey&user=myuser&limit=200&format=json&to=1531568361&page=5
[01:21:04] Opening track for playback: "C:\Users\mp3\few nolder - no mo EP (2008)\few_nolder-brenn.mp3"
[01:21:04] Querying last.fm: http://ws.audioscrobbler.com/2.0/?method=user.getTrackScrobbles&api_key=mykey&user=myuser&artist=Few Nolder&track=Brenn&limit=200&format=json&page=1
[01:21:05] Found 0 scrobbles in last.fm of "Brenn"
Any Ideas?

 
SimplePortal 1.0.0 RC1 © 2008-2019