Subscription date : 30 November 2007
Messages : 17118
|
et aucune insulte de DBus lors de l'initialisation de l'applet ?
est-ce que ton ordi est vieux ou particulièrement lent ? |
matttbe, Friday 04 June 2010 à 13:58
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Vu la carte graphique, peut-être mais même, pourquoi est-ce que ça ne fonctionnerait pas? |
Subscription date : 06 September 2009
Messages : 1635
|
et aucune insulte de DBus lors de l'initialisation de l'applet ? Non, ça n'avait pas l'air.
est-ce que ton ordi est vieux ou particulièrement lent ? Il a environ 5 ans, mais n'est pas spécialement lent : je n'ai jamais eu de soucis avec les jeux (autre que lié à la carte graphique) et les logiciels de stats ou de cartographie ont une bonne performance. |
Subscription date : 30 November 2007
Messages : 17118
|
non je pensais plus à une latence dans Dbus et/ou le lancement de l'appli.
j'essaierais Guayatruc alors, car j'avais pas réussi à installer le dernier qmmp |
lylambda, Wednesday 09 June 2010 à 23:12
|
|
Subscription date : 06 September 2009
Messages : 1635
|
J'ai du neuf pour ce bug de MP. J'avais remonté le problème sur la page Sourceforge de Guayadeque:
I read in Glx-dock forum Guayadeque is include in the Music-Player applet (I discovery G. in this forum
So it's true for all controls (play, stop, etc.) but the cover and music information stay empty or the last song when I relaunch Glx-dock.
It's maybe a bug in the dock (the bug was explain in the forum), but I prefer add a report here too.
Sorry if it's because I didn't add a special plugin (as MPRIS in Exaile).
Otherwise, congratulation ! It's a very useful software !
That should be fixed in svn. Can you confirm that the problem persist?
Thanks for your bug report.
That work almost perfectly, thanks !
The time counter can appear just if the dock (or only the applet) are
restart after Guayadeque was launched.
Otherwise, I didn't see an other problem.
I will explain the situation to CD dev. Maybe they can do something.
Du coup, c'est presque réglé (du moins pour ce lecteurs précis).
Quand au problème restant (l'obligation de redémarrer l'applet pour que tout soit bien affiché), Network-Monitor présente exactement le même soucis (je l'avais remonté il y a un moment). Cela pourrait-il venir de la conception même de ce type d'applet (afficheurs d'infos) ? |
Subscription date : 30 November 2007
Messages : 17118
|
j'aurais tendance à dire que non, vu que les autres lecteurs n'ont pas ce problème.
mais si tu lances le lecteur à partir du dock, il faut relancer l'applet quand même ? |
matttbe, Thursday 10 June 2010 à 01:49
|
|
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 ? |
Subscription date : 06 September 2009
Messages : 1635
|
on s'éloignerait pas un peu de la proposition de nouvelles vues pour MP ? Très juste. On pourrait peut être migrer/copier ces messages dans un fil spécifique.
Sinon, je suis rassuré de ne pas être le seul à avoir le bug (par contre, tes rapports sont plus complets ).
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.
Edit : Je ne comprend plus rien, je viens de me rendre compte que les covers ne sont plus mise à jour à nouveau ... Je ne sais pas si c’est arrivé suite à la recompilation de CD hier soir ou à une mise à jour du svn de Guayadeque. |
matttbe, Thursday 10 June 2010 à 09:50
|
|
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 ""
)
]
|
matttbe, Friday 11 June 2010 à 19:40
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Voilà, pour ne pas perdre de vue cette idée de nouvelles vues pour MP car ça pourrait vraiment bien donner, il ne manque pas grand chose... (uniquement écrire les tags de l'artiste, le titre et l'album ) |
matttbe, Saturday 19 June 2010 à 17:32
|
|
Subscription date : 24 January 2009
Messages : 12573
|
En tombant par hasard sur cette image:
Je me dis qu'il manque qqs trucs pas trop compliqué à réaliser:
- Pouvoir avoir de nouvelles vues pour MP avec la possibilité d'afficher le nom de l'artiste, le titre et l'album (les contrôleurs, c'est déjà possible, il pourrait aussi y avoir la barre d'avancement)
- Un simple calendrier en desklet (où on peut changer la police)
- Un simple post-it : où on peut afficher une image perso en fond, une police perso, un retour auto à la ligne, sans dépendances externes => on clique, on édite (sur la fenêtre où dans une boite avec un éditeur) et c'est tout!
|
Subscription date : 29 November 2007
Messages : 7408
|
Un simple post-it : où on peut afficher une image perso en fond, une police perso, un retour auto à la ligne, sans dépendances externes => on clique, on édite (sur la fenêtre où dans une boite avec un éditeur) et c'est tout!
çà, on doit pouvoir le faire facilement en repartant du code de rssreader ou de doncky .... |
matttbe, Sunday 20 June 2010 à 01:11
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Idem pour l'affichage des auteurs, etc. pour la vue de MP je pense  |
Subscription date : 30 November 2007
Messages : 17118
|
à propos de MP, je pense qu'il faudrait réaliser un petit programme de test qui ne ferait que se connecter au signal TrackChange, et afficher un message. |
matttbe, Saturday 31 July 2010 à 15:24
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Maintenant que le bug avec DBus semble être réglé avec la dernière version , je fais un petit up pour ne pas oublier ce topic.
Et j'agrémente le tout de quelques nouvelles idées (tjs tirée du même projet):
(donc, il manque essentiellement la possibilité d'ajouter certaines info (du texte, voir des *) dans les vues de MP en desklet) |
lylambda, Tuesday 03 August 2010 à 00:00
|
|
Subscription date : 06 September 2009
Messages : 1635
|
il manque essentiellement la possibilité d'ajouter certaines info Tout à fait, cette fonctionnalité enrichirait beaucoup MP. (Matttbe, certaine des vues que tu proposes sont très sympa !)
Maintenant que le bug avec DBus semble être réglé avec la dernière version Je confirme
Petits détails cependant:
- Lorsque le lecteur utilise un mode "lancement auto de la musique au démarrage", la couverture de la 1ère chanson n'est pas affiché et surtout le compteur n’apparaît pas du tout (même au changement de morceau). Une pause, suivis d'une lecture permet de le récupéré.
- De plus, au démarrage de CD sans de lecteur lancé, le desklet de MP affiche toujours l'image "Pause" au lieu de l'image "Par défaut".
- Enfin relancer le dock avec de la musique en cour et MP activé, crée une boucle de crash. Il faut remettre MP à la main et cela finis par passer. |
matttbe, Tuesday 03 August 2010 à 07:53
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Ouh, pas totalement réglé donc! Avec quelle lecteur ça crash? Plusieurs utilisant mpris? |
lylambda, Tuesday 03 August 2010 à 09:58
|
|
Subscription date : 06 September 2009
Messages : 1635
|
Avec quelle lecteur ça crash? Mes derniers essais étaient avec Guayadeque (qui, à propos, a sacrément bien évolué).
Je viens de tester avec Clementine (basé sur Exaile, lui même basé sur Amarok). Je crois qu'il utilise aussi MPRIS, mais MP est ici peu fonctionnel :
- pas de récupération de jaquette ni des tags du morceau (comme avant avec le bug DBus).
- le clic pour mettre en pause relance la musique au début, par contre la roulette fait bien passer au suivant.
- crash si relancement du dock ou mise en desklet de MP initialement intégré dans le dock (comme Guayadeque).
- la jaquette n'est pas contenu dans la bulle de Notify OSD malgré l'option validée(à priori, rien à voir avec CD). |
fabounet, Tuesday 03 August 2010 à 12:53
|
|
Subscription date : 30 November 2007
Messages : 17118
|
- De plus, au démarrage de CD sans de lecteur lancé, le desklet de MP affiche toujours l'image "Pause" au lieu de l'image "Par défaut".
oui car j'ai l'impression qu'il reste sur le bus, donc le dock le voit comme étant lancé.
faudrait rajouter un test.
Lorsque le lecteur utilise un mode "lancement auto de la musique au démarrage",
quel lecteur peut faire ça ?
- Enfin relancer le dock avec de la musique en cour et MP activé, crée une boucle de crash. Il faut remettre MP à la main et cela finis par passer.
tu pourrais récupérer la ligne du crash avec ddd stp ?
Je crois qu'il utilise aussi MPRIS, mais MP est ici peu fonctionnel :
peut-être que son plug-in mpris n'est pas au point, car à priori tous les lecteurs sont gérés de la même façon par le dock. |
lylambda, Tuesday 03 August 2010 à 15:03
|
|
Subscription date : 06 September 2009
Messages : 1635
|
oui car j'ai l'impression qu'il reste sur le bus, donc le dock le voit comme étant lancé.
faudrait rajouter un test. Je te crois sur parole .
quel lecteur peut faire ça ? Entre autre, Guayadeque (c'est sûr), Amarok (autant que je me souvienne) et ses dérivés (Exaile si je ne m'abuse).
Par contre, Rythmbox ne le fait pas (plus ? Je crois me souvenir que j'avais cette fonctionnalité pendant Hardy et qu'il y avait eu régression avec Lucid).
tu pourrais récupérer la ligne du crash avec ddd stp ? Je te ferais ça ce soir ou demain.
peut-être que son plug-in mpris n'est pas au point Sans doute, il n'y a pas de raison que ce soit de la faute de MP si cela fonctionne correctement avec le MPRIS de Guayadeque et pas celui de Clementine. |
|