Hi!
I've tried to patch the current song plugin to be able to:
1. Autodetect player:http://forum.emesene.org/index.php/topic,2978.0.html2. When we deactivate the plugin, be able to return to the previous avatar image:http://forum.emesene.org/index.php/topic,2996.msg21015.htmAs I changed some "important" things of the plugin, I also noticed some little mistakes in some "subplugins". To sum it up (just in case somebody wants to code another "subplugin"):
IsRunning should tell if player is running (seems obvious, but...)
getStatus should tell if the player module can be loaded (doesn't matter if player is running or not, simply must tell if player could run and we would be able to comunicate with it). In D-Bus subplugins this function must not be overriden (as it's explained in plugins_base/currentsong/currentsong.py)
Now the changes:
- plugins_base/CurrentSong.py: * Changed how stored the avatar, as it always stored the last one that "worked". Now it stores only the one that we were using before loading the plugin. With the media button we load/unload it. Try it!

* Added debug messages
* Added "autodetect" option. LastFM subplugin can't be autodetected, as it's web based always gives us an ok.
- plugins_base/currentSong/CurrentSong.py: * Added isRunning function that can be used by all D-Bus based subplugins.
- plugins_base/currentSong/QuodLibet.py: * This subplugin returned False in getStatus when the player wasn't running. Fixed.
- plugins_base/currentSong/Amarok2.py: * isPlaying function didn't check if D-Bus was available or not. Fixed.
* This subplugin returned False in getStatus when the player wasn't running. Fixed.
- plugins_base/currentSong/Spotify.py: * This plugin was wrongly based in CurrentSong.DbusBase when it does not use D-Bus. Fixed
* There was no isRunning function. Written a new one.
- plugins_base/currentSong/Banshee.py: * Something strange here. When plugin couldn't load the song info from the player it used a info variable, that was undeclared. I simply deleted it and emptied the song info.
- plugins_base/currentSong/Xmms2.py: (this bug is mine

)
* Don't try to connect with music server if we're already connected (yes, I know...)
- plugins_base/currentSong/Audacious.py: * Changed audtool name to audtool2 (newer version).
* Added isRunning function
* Fixed getStatus function (audacious can comunicate through D-Bus or the audtool2 program)
* Fixed a small identation mistake (nobody noticed?

)
- plugins_base/currentSong/Mpd.py: * Added isRunning function
In some files I added _() to be able to translate some strings (even when they are only debug messages, it's nice to show them in one's language

)
That's all folks! Diffs are against svn version 2264.
I'd like your feedback!!! Sure there are some bugs here and there...