Skip to content
A scrobbling plugin for the XMPlay audio player.
C# C++ C
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

XMPlay Sharp Scrobbler

A scrobbling plugin for the XMPlay audio player.

This project started just after the debacle of the new website (summer of 2015), which, among other things, broke the xmp-scrobbler plugin I was using at the time. The xmp-scrobbler plugin, still in beta, unmaintained since 2010, its source code almost lost, was using a multiple time obsolete version of the scrobbling API. Someone at somehow thought it would be a good idea to change the behaviour of this old API, and since then, xmp-scrobbler crashes upon start...

After 10 days of unbearable scrobbling withdrawal, hoping it would get fixed, nothing changed. So I started working on my own scrobbler form scratch.

This is the result.


Warning: the .Net 4.6 dependency means this plugin won't work on XP or lower.

This plugin was developed with the XMPlay 3.8 API. It is likely to work with an older version, but I make no guarantee.


(compared to the original xmp-scrobbler plugin)

  • Uses the up to date, still maintained by, and unlikely to break scrobbling web API
  • Does not require you to enter your username or password in clear text in the configuration (OAuth support)
  • Correctly updates the Now Playing track in real time on your profile
  • As per the 2.0 API documentation, seeking in the track is allowed
  • Can store an infinite amount of tracks waiting to be scrobbled in case or your connection is down
  • Comprehensive logging
  • Actually works!


This plugin is open source and released under the MIT license.


Yes, I'm using .Net. Most of the useful stuff in this plugin is actually written in C#. I don't think C or C++ are really appropriate for high level asynchronous code querying a REST web API, so I created a native C++ wrapper around a C# library handling most of the web related stuff. There remains a relatively small part in pure C++ handling the track playing duration detection and the tag extraction from XMPLay.

You can’t perform that action at this time.