Git Version | Version Git
matttbe, Friday 11 June 2010 à 19:37
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Pour ne pas polluer le sujet MP: Nouvelles vues, je rapporte les problèmes avec DBus ici (uniquement avec les appli utilisant MPRIS)
D'ailleurs, avec Rhythmbox, tout fonctionne à merveille! (donc pour moi, pas un problème de "lag" mais plutôt de réception des données)
Je recopie mes deux derniers commentaires à ce sujet: |
matttbe, Friday 11 June 2010 à 19:37
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Il y a p-ê un problème avec DBus car je confirme le problème sur mon portable
Pour moi, le problème viendrait de l'écoute des signaux. Pour Clementine (un petit bug sur Maverick m'empêche d'en tester d'autres...), il envoie une notification avec l'image par dbus (presque 90.000 lignes avec byte XXX...) method call sender=:1.1052 -> dest=org.freedesktop.Notifications serial=450 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify D'un autre côté, la notification est bien affichée et il me semble que Qmmp ne faisait pas ceci... => pas d'embouteillage dans le bus à cause de ceci
Juste après l'envoi, des signaux sont envoyés: signal sender=:1.1052 -> dest=(null destination) serial=474 path=/TrackList; interface=org.freedesktop.MediaPlayer; member=TrackChange
array [
dict entry(
string "artist"
variant string "Artiste"
)
dict entry(
string "location"
variant string "file:///..."
)
dict entry(
string "time"
variant int32 132
)
dict entry(
string "title"
variant string "Titre"
)
]
method return sender=:1.17 -> dest=:1.1052 reply_serial=473
uint32 44
signal sender=:1.1052 -> dest=(null destination) serial=475 path=/TrackList; interface=org.freedesktop.MediaPlayer; member=StatusChange
struct {
int32 2
int32 1
int32 0
int32 1
}
signal sender=:1.1052 -> dest=(null destination) serial=476 path=/TrackList; interface=org.freedesktop.MediaPlayer; member=CapsChange
int32 115
signal sender=:1.1052 -> dest=(null destination) serial=477 path=/TrackList; interface=org.freedesktop.MediaPlayer; member=CapsChange
int32 115
Pour info, voici ce qui est envoyé si je modifie la playlist: signal sender=:1.2374 -> dest=(null destination) serial=46 path=/TrackList; interface=org.freedesktop.MediaPlayer; member=TrackListChange
int32 4
method call sender=:1.2367 -> dest=org.mpris.clementine serial=24 path=/TrackList; interface=org.freedesktop.MediaPlayer; member=GetCurrentTrack
method return sender=:1.2374 -> dest=:1.2367 reply_serial=24
int32 0
Petit détail, dbus-monitor me dit que le path est /TrackList pour tous alors qu'il devrait l'être uniquement pour TrackListChange (confirmation par d-feet). Cependant, je viens d'essayer en passant tous les signaux en /TrackList mais pas de changement
Sinon, en démarrant CD sans l'option de debug, j'obtiens uniquement ceci:*** first container
cd_dbus_register_module_in_dir: assertion `pKeyFile != NULL' failed Avec le debug, j'obtiens cette erreur après l'enregistrement de toutes les applets. Avant ça, j'obtiens ceci: $ cairo-dock -ol debug |grep -i dbus
message : (/opt/cairo-dock_bzr/cairo-dock-core/src/gldit/cairo-dock-dbus.c:cairo_dock_dbus_detect_application:229)
cairo_dock_dbus_detect_application (org.gtk.vfs.Daemon)
message : (/opt/cairo-dock_bzr/cairo-dock-core/src/gldit/cairo-dock-dbus.c:_dbus_detect_application:212)
VFS Deamon found on DBus.
message : (/opt/cairo-dock_bzr/cairo-dock-core/src/gldit/cairo-dock-dbus.c:cairo_dock_dbus_detect_application_async:187)
cairo_dock_dbus_detect_application_async (org.mpris.clementine)
cairo_dock_activate_module (Dbus)
cairo_dock_instanciate_module (/home/matttbe/.config/cairo-dock/current_theme/plug-ins/Dbus/Dbus.conf)
message : (/opt/cairo-dock_bzr/cairo-dock-plug-ins/Dbus/src/applet-init.c:init:41)
init (/home/matttbe/.config/cairo-dock/current_theme/plug-ins/Dbus/Dbus.conf)
message : (/opt/cairo-dock_bzr/cairo-dock-plug-ins/Dbus/src/applet-dbus.c:cd_dbus_launch_service:156)
dbus : Lancement du service
message : (/opt/cairo-dock_bzr/cairo-dock-plug-ins/Dbus/src/applet-dbus.c:cd_dbus_main_class_init:52)
message : (/opt/cairo-dock_bzr/cairo-dock-plug-ins/Dbus/src/applet-dbus.c:cd_dbus_main_init:56)
message : (/opt/cairo-dock_bzr/cairo-dock-core/src/gldit/cairo-dock-dbus.c:_on_detect_application:148)
debug : (/opt/cairo-dock_bzr/cairo-dock-core/src/gldit/cairo-dock-dbus.c:_free_detect_application:166)
Puis en lançant Clementine: message : (/opt/cairo-dock_bzr/cairo-dock-core/src/gldit/cairo-dock-dbus.c:cairo_dock_dbus_detect_application:229)
cairo_dock_dbus_detect_application (org.mpris.clementine)
message : (/opt/cairo-dock_bzr/cairo-dock-core/src/gldit/cairo-dock-dbus.c:_dbus_detect_application:212)
Donc pas d'erreur apparemment...
Mais si je change de chanson, rien du côté des fonctions onChangePlaying_mpris et onChangeSong_mpris (j'ai décommenté des cd_debug dans mpris mais même, j'ai aucun message...). Par contre, si j'ajoute une musique à la playlist, c'est bien détecté par le dock...
Donc, si TrackListChange est détecté, c'est qu'il a qqc de spécial par rapport aux deux autres. Il est sur un path différent et il reçoit des info différentes, ce qui est correcte dans le code. myData.dbus_enable = cd_musicplayer_dbus_connect_to_bus ();
myData.dbus_enable_shell = musicplayer_dbus_connect_to_bus_Shell ();
dbus_g_proxy_add_signal(myData.dbus_proxy_player, "StatusChange",
MP_DBUS_TYPE_PLAYER_STATUS_MPRIS,
G_TYPE_INVALID);
dbus_g_proxy_connect_signal(myData.dbus_proxy_player, "StatusChange",
G_CALLBACK(onChangePlaying_mpris), NULL, NULL);
dbus_g_proxy_add_signal(myData.dbus_proxy_player, "TrackChange",
MP_DBUS_TYPE_SONG_METADATA,
G_TYPE_INVALID);
dbus_g_proxy_connect_signal(myData.dbus_proxy_player, "TrackChange",
G_CALLBACK(onChangeSong_mpris), NULL, NULL);
dbus_g_proxy_add_signal(myData.dbus_proxy_shell, "TrackListChange",
MP_DBUS_TYPE_TRACKLIST_DATA,
G_TYPE_INVALID);
dbus_g_proxy_connect_signal(myData.dbus_proxy_shell, "TrackListChange",
G_CALLBACK(onChangeTrackList_mpris), NULL, NULL);
J'ai testé en changeant le path de dbus_proxy_player à dbus_proxy_shell mais ce n'est pas mieux. Serait-ce au niveau du type de données?
Pour le Status: #define MP_DBUS_TYPE_PLAYER_STATUS_MPRIS (dbus_g_type_get_struct ("GValueArray", G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INVALID)) Et D-Feet me dit que c'est Struct of (Int32, Int32, Int32, Int32) Ce serait donc bon et d'ailleurs, si Clementine est lancé avant CD, la récupération via la méthode GetStatus est bonne (debug à l'appuie)
À noté aussi qu'il y a deux appels à la fonction cd_mpris_dbus_connect_to_bus dans ce fichier applet-mpris.c, la deuxième étant dans la fonction cd_mpris_configure. Peux-être un blocage à cause du double appel? Enfin, non, je ne vois pas la cause...
PS: on s'éloignerait pas un peu de la proposition de nouvelles vues pour MP ? |
matttbe, Friday 11 June 2010 à 19:38
|
|
Subscription date : 24 January 2009
Messages : 12573
|
mais si tu lances le lecteur à partir du dock, il faut relancer l'applet quand même ? Oui, que je le lance du dock ou via le menu, le problème est présent. En fait, si le lecteur est lancé avant le dock, les info sont correctes mais uniquement pour la première chanson. Pour l'init, il regarde si le lecteur est présent et si oui, il récupère les info via la méthode GetMetadata. Mais il reste sourd (mauvaise écoute des signaux)
Idem avec qmmp en fait, il ne capte que le signal du TrackListChange: method call sender=:1.32 -> dest=org.mpris.qmmp serial=84 path=/Player; interface=org.freedesktop.MediaPlayer; member=Next
signal sender=:1.96 -> dest=(null destination) serial=81 path=/TrackList; interface=org.freedesktop.MediaPlayer; member=TrackListChange
int32 2
signal sender=:1.96 -> dest=(null destination) serial=82 path=/TrackList; interface=org.freedesktop.MediaPlayer; member=TrackListChange
int32 2
method call sender=:1.32 -> dest=org.mpris.qmmp serial=85 path=/TrackList; interface=org.freedesktop.MediaPlayer; member=GetCurrentTrack
method call sender=:1.32 -> dest=org.mpris.qmmp serial=86 path=/TrackList; interface=org.freedesktop.MediaPlayer; member=GetCurrentTrack
signal sender=:1.96 -> dest=(null destination) serial=83 path=/Player; interface=org.freedesktop.MediaPlayer; member=CapsChange
int32 43
signal sender=:1.96 -> dest=(null destination) serial=84 path=/Player; interface=org.freedesktop.MediaPlayer; member=StatusChange
struct {
int32 2
int32 1
int32 0
int32 1
}
signal sender=:1.96 -> dest=(null destination) serial=85 path=/Player; interface=org.freedesktop.MediaPlayer; member=CapsChange
int32 39
signal sender=:1.96 -> dest=(null destination) serial=86 path=/Player; interface=org.freedesktop.MediaPlayer; member=StatusChange
struct {
int32 0
int32 1
int32 0
int32 1
}
signal sender=:1.59 -> dest=(null destination) serial=65 path=/org/ayatana/indicator/sound/service; interface=org.ayatana.indicator.sound; member=SinkInputWhileMuted
boolean false
method return sender=:1.96 -> dest=:1.32 reply_serial=85
int32 1
method return sender=:1.96 -> dest=:1.32 reply_serial=86
int32 1
signal sender=:1.96 -> dest=(null destination) serial=89 path=/Player; interface=org.freedesktop.MediaPlayer; member=CapsChange
int32 55
signal sender=:1.96 -> dest=(null destination) serial=90 path=/Player; interface=org.freedesktop.MediaPlayer; member=StatusChange
struct {
int32 0
int32 1
int32 0
int32 1
}
signal sender=:1.96 -> dest=(null destination) serial=91 path=/Player; interface=org.freedesktop.MediaPlayer; member=TrackChange
array [
dict entry(
string "album"
variant string "The Very Best of the Blues Brothers"
)
dict entry(
string "artist"
variant string "Blues Brothers"
)
dict entry(
string "arturl"
variant string ""
)
dict entry(
string "audio-bitrate"
variant int32 128
)
dict entry(
string "audio-samplerate"
variant uint32 44100
)
dict entry(
string "comment"
variant string ""
)
dict entry(
string "genre"
variant string "Rock"
)
dict entry(
string "location"
variant string "file:///home/matttbe/Musique/21-Peter Gunn Theme.mp3"
)
dict entry(
string "mtime"
variant int64 227710
)
dict entry(
string "time"
variant int64 227
)
dict entry(
string "title"
variant string "Peter Gunn Theme"
)
dict entry(
string "tracknumber"
variant string "21"
)
dict entry(
string "year"
variant string ""
)
]
|
Subscription date : 06 September 2009
Messages : 1635
|
Je vais de nouveau remonter le bug aux devs de Guayadeque.
C'est énervant, cela a fonctionné quelques jours puis finis ... |
Subscription date : 30 November 2007
Messages : 17118
|
j'ajoute une tache, mais franchement je ne vois pas quoi faire, car chez moi j'ai pas ces problèmes.
C'est énervant, cela a fonctionné quelques jours puis finis
fini suite à une maj du dock ou du lecteur ? |
matttbe, Tuesday 15 June 2010 à 15:32
|
|
Subscription date : 24 January 2009
Messages : 12573
|
As-tu testé avec qmmp 0.4.0? |
Subscription date : 30 November 2007
Messages : 17118
|
non j'ai pas pu l'installer.
j'ai cru comprendre que ça le faisait avec guayadeque sous Lucid aussi. |
Subscription date : 06 September 2009
Messages : 1635
|
Voila le lien du rapport de bug que j'ai fait pour Guayadeque.
fini suite à une maj du dock ou du lecteur ? Impossible à dire : à l'époque, les deux se sont mis à jour en même temps.
j'ai cru comprendre que ça le faisait avec guayadeque sous Lucid aussi. Oui, ainsi que pour Quod Libet (testé à l'instant) et pour Exaile (testé il y a quelques semaines).
mais franchement je ne vois pas quoi faire Arf , si c'est pas réparable, ça rend l'applet inutilisable avec les lecteurs en questions (autant contrôler le lecteur au raccourcis clavier). |
matttbe, Tuesday 15 June 2010 à 19:14
|
|
Subscription date : 24 January 2009
Messages : 12573
|
j'ai cru comprendre que ça le faisait avec guayadeque sous Lucid aussi. Oui, il y a un ppa et tu peux prendre la version guayadeque-svn |
Subscription date : 06 September 2009
Messages : 1635
|
Autre chose que j'ai noter avec Guayadeque, mais qui n'a vraisemblablement rien à voir avec MP : Lorsque le logiciel est lancé et fenêtré (donc pas minimisé dans le systray), son icône n’apparaît pas dans la zone dédié aux applications en cour. Par contre, elle apparaît dans l'applet "Selecteur de Bureau". Ce serait dut à un problème de classe ? |
Subscription date : 30 November 2007
Messages : 17118
|
c'est pas l'applet qui vole l'icône de la fenetre ? |
Subscription date : 06 September 2009
Messages : 1635
|
Si c'était le cas, pourquoi cela me le ferait que pour Guayadeque ? Dans le doute j'ai supprimer Switcher, mais toujours pas d'icône. |
Subscription date : 30 November 2007
Messages : 17118
|
la classe qui serait pas la bonne ?
"guayadeque" dans le code (les majuscules comptent pas) |
matttbe, Friday 18 June 2010 à 12:50
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Chez moi, le lanceur est correct. Mais pas du côté des info des chansons...
As-tu essayé fab? sudo add-apt-repository ppa:anonbeat/guayadeque
sudo apt-get update
sudo apt-get install guayadeque-svn |
Subscription date : 30 November 2007
Messages : 17118
|
rappelle-le moi si on se croise sur IRC |
matttbe, Friday 18 June 2010 à 18:48
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Voilà (normalement tu seras chez toi en lisant ce message ) |
Subscription date : 30 November 2007
Messages : 17118
|
tests pas très concluant car lecteur très buggué, faudrait voir avec genre Amarok2 (oui je sais ... mais c'est pour la bonne cause ) |
Subscription date : 06 September 2009
Messages : 1635
|
tests pas très concluant car lecteur très buggué C'est vrais, il est clairement en beta. Mais je le trouve prometteur.
Pour cette histoire de classe, cela vient de lui aussi ? Si c'est le cas, je remonte aussi. Ce sera le 4ème bugs que je leur rapporterais . |
Subscription date : 06 September 2009
Messages : 1635
|
Je continus ma quête du lecteur de musique parfait : utilisant majoritairement des lib gnome, ayant des fonctionnalités intéressantes et compatible avec MP.
Jusqu'à maintenant j'ai échoué .
- Dernièrement j'ai de nouveau testé Exaile (dans une rev, j'ai cru voir qu'un bug avait été réglé avec ce lecteur), mais toujours les même problèmes de communication avec MP (plus quelques autres bug internes). Pourtant j'ai utilisé la dernière version en dev fournis par le ppa de WebUp8.
- Sinon, j'ai essayé Clementine pour la première fois. Petit Amarok like trés bien fichu, il présente lui aussi les même soucis avec MP.
Du coup je me demande si ça viendrais pas de chez moi : à part Rythmbox, tout foire |
matttbe, Tuesday 22 June 2010 à 00:32
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Du coup je me demande si ça viendrais pas de chez moi : à part Rythmbox, tout foire Oui, les autres que tu as cité utilise MPRIS...
Au fait, es-tu en 64bits? Sinon, il y a aussi Banshee ou Quotlibet |
Git Version | Version Git
|