TrevTV / mb_ScrobbleItem

MusicBee plugin that allows you to scrobble any album or track in your library without fully playing it.
Apache License 2.0
5 stars 0 forks source link

Make this plugin to be automatic #3

Open Nowena opened 1 year ago

Nowena commented 1 year ago

I was looking for ages for a way to scrobble songs shorter than 30 seconds and now I can do it manually from Musicbee but would it be possible to make it automatic?

I am tired of open scrobbler and such manual scrobblers. At least this is within Musicbee. Make it automatic and be everyone's hero.

bgaesslein commented 7 months ago

I made a plugin based on this one that automatically scrobbles songs shorter than 30 seconds. Check it out here.

Nowena commented 7 months ago

Hey @bgaesslein, your plugin does work. It scrobbles 30 seconds and under songs. However, it only does that. For the +30 seconds songs I need to maintain enabled the default last.fm scrobbler plugin and there is a conflict between it and your plugin.

Some songs are scrobbled twice, therefore I end up with many duplicates. If you could modify your plugin to just scrobble away everything, that'd be great. The years War against last.fm for not letting Hardcore music scrobblers get their short songs scrobbled would end.

I cannot even open an issue for this on your repository because you did not enable the ability for users to open issues there. So I hope you see this post.

"The hunt is on, the war is on We come for you in life We will take revenge, revenge Revenge Revenge"

bgaesslein commented 7 months ago

@Nowena I haven't seen double scrobbles in my tests but I might've missed some edge cases. I have opened my repo for issues so feel free to create one there.

But: There shouldn't be any conflicts; my plugin (just as this one) relies on the built-in last.fm plugin to actually send the scrobbles. So you'll always have to use the default plugin to log-in to last.fm.

What it does is this: whenever the currently playing track changes, the plugin checks the duration of the song. If it's shorter than 30 seconds, it will be force-scrobbled to last.fm (by faking a duration of 31 seconds). This is needed because the last.fm API simply rejects any scrobbles of songs shorter than 30s. If the plugin detects a song that is at least 30 seconds long, it simply does nothing, leaving the scrobbling to the default plugin in order avoid double scrobbles.

As I said, feel free to create an issue in my repo and give me some examples there.