GLib.filename_from_utf8() returns bytes which is not really expected by Python's own path manipulation functions and is not practical actually anyway. This fixes some issues with songs containing non-ASCII characters, tested using various locales.
During the migration to GtkBuilder, most of the Glade files were edited by hand instead of using Glade, since it was much more convenient for the mass-changes that had to be done. However, Glade doesn't really agree with the XML ordering, and used to reorder everything, just upon saving an unmodified file (and removed some "useless" properties). I saved them again with Glade this time, fixed some properties which disapeared; now, files content should be more stable when edited with Glade.
Merge remote-tracking branch 'others/hobophobe/refactor_time_text'
Merge remote-tracking branch 'others/hobophobe/remove-mpdhelper-caching2'
An attribute of a song can be present several times on some song (for example, 'Genre'). In this case, python-mpd returns a list containing all the values of this attribute. This doesn't really fit in Sonata, so we keep only the first one.
The plugins now don't have to take care of saving the covers to the file system, to differentiate between getting one cover or many, nor to return special values depending on what they did. Previously, all those things had to be done in each and every cover-fetching plugins, which was redundant and not very practical. I believe this is now much easier.
This simplifies even more covers downloading.
The plugin doesn't have to handle the cover savings anymore, it just has to signal through a callback mechanism that it got some cover somewhere, and Sonata will save the cover at the right place with the right name.
Merge branch 'covers-lastfm'
For some reasons, it was working a long time ago, but didn't since a while. I couldn't bisect the changeset, too many non-working changesets during the Py3/Gtk3 migration branch :/ "162" is an arbitrary value, which is supposed to be the size of the image plus the size of the "spiner" on the left.