Whenever you skip over parts of a track last.fm Mobile takes the new position in the track to determine whether it is ready for scrobbling or not. Thus it is possible to have tracks scrobbled immediately by simply skipping into the second half of the song. This issue occurs both with Windows Media Player and with TCPMP.
As there seems to be a timer running in last.fm Mobile for updating the progress bar you might take the elapsed playtime from there and only check the elapsed time reported by the media playing software to determine whether playback is paused or still running.
An issue that's most probably related to that: When you set Windows Media Player to display the remaining time of a track instead of the elapsed time every track gets scrobbled immediately.
The only valid measurement for code quality: WTFs per minute.
der_Karl said: Whenever you skip over parts of a track last.fm Mobile takes the new position in the track to determine whether it is ready for scrobbling or not. Thus it is possible to have tracks scrobbled immediately by simply skipping into the second half of the song. This issue occurs both with Windows Media Player and with TCPMP.
As there seems to be a timer running in last.fm Mobile for updating the progress bar you might take the elapsed playtime from there and only check the elapsed time reported by the media playing software to determine whether playback is paused or still running.
No, there isn't any timer involved. The application registers an event handler with the Notification API of Windows and waits for WM to indicate that the track/the position of the track changed. Nevertheless, of course it would be possible to save the time a track started and determine whether to scrobble or not using a comparison of the current and the saved timestamp.
An issue that's most probably related to that: When you set Windows Media Player to display the remaining time of a track instead of the elapsed time every track gets scrobbled immediately.
I hope to fix both of these issues in the next release.
picaresque_ said: No, there isn't any timer involved. The application registers an event handler with the Notification API of Windows and waits for WM to indicate that the track/the position of the track changed.
Silly me. Of course the regular updates by the Notification API make a timer unnecessary. :D
I hope to fix both of these issues in the next release.
Great to hear. Keep up the good work. :)
The only valid measurement for code quality: WTFs per minute.
Scrobbling too early