Subscription date : 13 June 2009
Messages : 15
|
Hi,
it seems that the applet musicPlayer doesn't work with Exaile, although you can select in the menu. I suppose musicPlayer uses the dbus interface, so it shouldn't be a problem to support Exaile, which is written in Python. I would be delighted to see it in the next Cairo-Dock version.
Have a nice day! |
matttbe, Saturday 14 November 2009 à 21:05
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Hello Ubuntuxer.
I tested one month ago and it worked. Which version of Exaile do you use ? |
Subscription date : 13 June 2009
Messages : 15
|
I'm using the version 0.3.0.2 of Exaile, which is the latest stable version. Exaile was rewritten with the release 0.3.0, so it could be that musicPlayer just works with the releases till 0.2.14.
I enabled also the dbus plugin in Cairo-Dock. I'm using version 2.1.1-2 of Cairo-Dock. |
matttbe, Sunday 15 November 2009 à 01:32
|
|
Subscription date : 24 January 2009
Messages : 12573
|
It's done on BZR (rev 1413) (-> so next week on our Weekly PPA).
But you have to activated MPRIS plug-in in Exaile.
@ Fabounet : j'ai remarqué deux problèmes :
- la détection n'est pas encore super au point. Il trouve le bon lecteur mais il ne met pas à jour le panneau de configuration : il garde l'ancienne étiquette et dans les choix des lecteurs, il y a toujours l'ancien. Autre chose, Exaile 0.2 et 0.3 doivent certainement avoir la même classe (E/exaile.py) -> pas de problème à ce niveau ?
- Pour les pochettes, on ne voit pas les mêmes dans le dock que dans Exaile -> Y a-t-il moyen de les récupérer avec MPRIS?
Exaile utilise en priorité Last.fm pour les pochettes, si Jackass sait nous ajouter son support, ce serait vraiment pas mal |
Subscription date : 13 June 2009
Messages : 15
|
Wow, that was fast, thank you very much. |
fabounet, Monday 16 November 2009 à 12:27
|
|
Subscription date : 30 November 2007
Messages : 17118
|
@Matttbe : Matttbe t'avais oublié d'ajouter les fichiers, d'où mon revert
aussi je te proposais de remplacer le code pour Exaile (on bashe le vieux)
pour la pochette faudra que je teste, je crois que ça ne fait pas partie de MPRIS exactement. |
matttbe, Monday 16 November 2009 à 14:50
|
|
Subscription date : 24 January 2009
Messages : 12573
|
@ fabounet : Arf, je dois être maudit, j'étais pourtant certain d'avoir regardé avant, désolé . Voilà, c'est corrigé.
Sinon, personnellement, je ne pense pas que ce soit intéressant de déjà virer le support d'Exaile 0.2 car il n'est dans aucun dépôts stables de versions stables (bref, pour Ubuntu Karmic, faut passer par le ppa)
Sinon, pour MPRIS, il faut p-ê regarder du côté du champ "arturl". Je vais regarder aux signaux DBus
=> http://wiki.xmms2.xmms.se/wiki/MPRIS_Metadata#.22arturl.22 |
fabounet, Monday 16 November 2009 à 15:22
|
|
Subscription date : 30 November 2007
Messages : 17118
|
ok, mais à ce moment là il ne faut pas demander à l'utilisateur de choisir, mais détecter nous-mêmes la version à l'init du backend (0.2 ou mpris)
PS : le paquet Karmic est 0.3.0 et probablement pour les autre (pour Fedora1, Suse, etc) |
matttbe, Monday 16 November 2009 à 19:02
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Arf, déso, j'ai regardé les mauvais trucs -> vais aller dormir un peu moi ! EDIT : message envoyé après avoir résolu de sales problèmes de connexion... |
Subscription date : 13 June 2009
Messages : 15
|
There are new problems with the communication between Cairo-Dock and Exaile.
The MusicPlayer does not use Exaile covers, instead it downloads the cover themself, although I disabled this.
I've written a simple example how to get Exaile's cover data with D-Bus.http://www.exaile.org/wiki/index.php?title=PluginDevelopment#Exaile_D-Bus
The MPRIS plugin isn't needed to get the cover data or the general information, like title, artist or genre.
It's needed to control Exaile from Cairo-Dock; e.g. next track. |
Subscription date : 30 November 2007
Messages : 17118
|
thanks for the tip !
so Exaile is not going to support MPRIS ?
reading the wiki, it seems it sends the cover pixels; is it a gdkpixbuf ? or how could I convert it into an image ? |
Subscription date : 13 June 2009
Messages : 15
|
Exaile's core support D-Bus and you get general track informations and also the cover data, but you can't control Exaile.
Exaile supports MPRIS just with a plugin. I think it would be great if the musicPlayer supports the basic D-Bus system of Exaile as well as Exaile's MPRIS plugin.
It's the raw image data of a cover stored in a string. I don't know how to handle this with C.
Besides I don't think it makes sense that the musicPlayer plugin is able to search for covers. It's the task of the music player and I don't know any player who doesn't support it. |
matttbe, Friday 09 April 2010 à 16:41
|
|
Subscription date : 24 January 2009
Messages : 12573
|
In fact, we can do many things with D-Bus Exaile API :
But there are many advantages to use MPRIS:
- it's a standard (it'll not change)
- it's really easy to add a new player (+/- 10 lines)
- it's complete
But yes, it can be interesting to use the 'official' Exaile API... |
Subscription date : 13 June 2009
Messages : 15
|
Uups sorry, I had mixed things up.
The methode GetCoverData returns a dbus.Array. In Python you convert it to a string with the following code:
coverdata = "".join(chr(byte) for byte in dbusArray)
This is, as I said the raw image data stored in a string.
You can create a pixbuf object from the raw image data.
http://library.gnome.org/devel/gdk-pixbuf/stable/GdkPixbufLoader.html |
fabounet, Saturday 10 April 2010 à 01:18
|
|
Subscription date : 30 November 2007
Messages : 17118
|
Exaile supports MPRIS just with a plugin. I think it would be great if the musicPlayer supports the basic D-Bus system of Exaile as well as Exaile's MPRIS plugin.
it would be better to have only one interface, since we probably can't guess if the second one is present or not.
Besides I don't think it makes sense that the musicPlayer plugin is able to search for covers. It's the task of the music player and I don't know any player who doesn't support it.
sure, but it was not the case 1 year ago. now this method is only used if the player doesn't provide a cover, which should happen less and less. |
|