#51 Le 21/02/2011, à 09:59
- masterbox
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Idem pour la progress bar, aucun succès... :-/
Et côté plugin le faisant déjà, ce sont tous des Sources, et ils font appels à une methode d'update, que je n'ai pas encore trouvé dans les classes... Rageant !
MasterBOX
------------------------------------------------------------------------------------
Mon blog, avec mes créations sur Ubuntu et ma vision du futur :
http://utopievirtuelle.wordpress.com
Hors ligne
#52 Le 21/02/2011, à 11:14
- masterbox
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Je l'ai choppé la progressbar, je fais quelques tests et je commit ça
MasterBOX
------------------------------------------------------------------------------------
Mon blog, avec mes créations sur Ubuntu et ma vision du futur :
http://utopievirtuelle.wordpress.com
Hors ligne
#53 Le 21/02/2011, à 13:40
- masterbox
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Merci aux vaillants testeurs de vérifier que la progress bar est bien fonctionnelle.
Pour l'instant c'est un peu "sale", je n'ai pas encore trouvé de meilleure méthode pour la récupérer...
Et elle s'update tous les 5 fichiers compte tenu du rythme d'update GTK choisi par Vysserk3. je ne pense pas que ce soit génant, sur les petits update elle est quasi invisible, et sur les gros la progression sera bien régulière tout de même.
Vos avis sont les bienvenus !
MasterBOX
------------------------------------------------------------------------------------
Mon blog, avec mes créations sur Ubuntu et ma vision du futur :
http://utopievirtuelle.wordpress.com
Hors ligne
#54 Le 21/02/2011, à 14:22
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Bien joué pour le get_children()...Ca marche parfaitement chez moi sur la suppression des tags sur 3000 fichiers environ
Bon par contre, je vais remettre le statusbar.pop() à la fin du traitement, parce que sinon là le message "Traitement en cours..." reste à la fin.
Je vais par ailleurs passer les variables globales statusbar et progressbar en champs de la classe
Aussi je changerai :
float(iel)/float(len(selected))
en
iel/size
où size=float(len(selected)) déclaré avant la boucle, ce qui économisera 2 appels à la fonction float() et 1 appel à len() à chaque itération
Ce qui me fait penser d'ailleurs que dans la condition du while, on devrait aussi mettre ce size là pour éviter un appel à len() à chaque vérification.
Edit : j'ai commité les modifs
Résultat :
suppression des tags de 3028 fichiers déjà traitées, 17 secondes
sauvegarde de 2878 fichiers (de tout type), 483 secondes
Dernière modification par Vysserk3 (Le 21/02/2011, à 14:34)
Hors ligne
#55 Le 21/02/2011, à 14:53
- masterbox
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Oui j'avais oublié de retirer le commentaire sur le pop désolé...
de même pour les float et len, allé un peu trop vite en commit, je voulais nettoyer ça et puis j'ai oublié :-/
Et oui pour les "global" bien entendu.
Sinon le get_children marche bien, mais bon ce n'est pas super clean d'y accéder par un indice je trouve (quick and dirty quoi), peut-être faudrait-il boucler et tester la classe ?
MasterBOX
------------------------------------------------------------------------------------
Mon blog, avec mes créations sur Ubuntu et ma vision du futur :
http://utopievirtuelle.wordpress.com
Hors ligne
#56 Le 21/02/2011, à 18:46
- samfuzz
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
je viens de tester la progress bar : pas de problème
concernant le champ popm pour banshee :
Banshee écrit la valeur email, avec une majuscule
POPM(email=u'Banshee'
Hors ligne
#57 Le 21/02/2011, à 19:58
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Oui j'avais oublié de retirer le commentaire sur le pop désolé...
de même pour les float et len, allé un peu trop vite en commit, je voulais nettoyer ça et puis j'ai oublié :-/
Et oui pour les "global" bien entendu.Sinon le get_children marche bien, mais bon ce n'est pas super clean d'y accéder par un indice je trouve (quick and dirty quoi), peut-être faudrait-il boucler et tester la classe ?
Si on a une garantie que l'indice ne change pas selon l'exécution, je ne vois pas où est le problème d'y accéder comme ça plutôt que de parcourir la liste des children à la recherche du bon truc...non ?
je viens de tester la progress bar : pas de problème
concernant le champ popm pour banshee :
Banshee écrit la valeur email, avec une majuscule
POPM(email=u'Banshee'
Merci c'est corrigé
Sinon, des idées d'amélioration supplémentaires ?
Je verrai bien un truc qui coupe la lecture (si nécessaire) lors de l'exécution avec pourquoi pas une reprise automatique à la fin (j'ai constaté que ca ralentissait beaucoup le processus).
Dernière modification par Vysserk3 (Le 21/02/2011, à 20:04)
Hors ligne
#58 Le 22/02/2011, à 10:22
- masterbox
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
masterbox a écrit :Oui j'avais oublié de retirer le commentaire sur le pop désolé...
de même pour les float et len, allé un peu trop vite en commit, je voulais nettoyer ça et puis j'ai oublié :-/
Et oui pour les "global" bien entendu.Sinon le get_children marche bien, mais bon ce n'est pas super clean d'y accéder par un indice je trouve (quick and dirty quoi), peut-être faudrait-il boucler et tester la classe ?
Si on a une garantie que l'indice ne change pas selon l'exécution, je ne vois pas où est le problème d'y accéder comme ça plutôt que de parcourir la liste des children à la recherche du bon truc...non ?
samfuzz a écrit :je viens de tester la progress bar : pas de problème
concernant le champ popm pour banshee :
Banshee écrit la valeur email, avec une majuscule
POPM(email=u'Banshee'Merci c'est corrigé
Sinon, des idées d'amélioration supplémentaires ?
Je verrai bien un truc qui coupe la lecture (si nécessaire) lors de l'exécution avec pourquoi pas une reprise automatique à la fin (j'ai constaté que ca ralentissait beaucoup le processus).
Bah est-ce qu'on a cette garantie en fait ? Si oui ça me va très bien
Comme evol, une petite boite de configuration permettant d'écrire ce que l'on veut (banshee ou autre justement) comme origine. Et le choix du / des standards écrits dans les fichiers.
Tu couperais la lecture dans quels cas ?
MasterBOX
------------------------------------------------------------------------------------
Mon blog, avec mes créations sur Ubuntu et ma vision du futur :
http://utopievirtuelle.wordpress.com
Hors ligne
#59 Le 22/02/2011, à 10:53
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Je pense que l'indice est stable, sachant que ca a quand même marché sur 3 config différentes et après plusieurs exécutions, je vois pas pourquoi ils changeraient ça en fait, c'est une liste, pas un ensemble ou un dictionnaire, donc c'est ordonné.
Je mettrai en pause à chaque fois qu'on lance une des trois actions. Et refaire lecture à la fin des opérations.
Pour la boîtes de dialogue, oui ca pourrait être pas mal, je crois qu'on peut utiliser gconf pour stocker des paramètres (ou un truc plus moderne qui remplacera bientôt gconf). Reste à définir précisément ce qui est nécessaire dans cette boîte de dialogue histoire de couvrir le maximum de cas avec un minimum de code
Sinon, j'ai testé Amarok (version 2.4.0) , et il reconnait effectivement bien le tag FPMS pour les notes par contre, le nombre d'écoutes n'a pas été reconnu...
Hors ligne
#60 Le 22/02/2011, à 11:08
- masterbox
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Dans les autres fonctions à ajouter, comme on avait dit précédemment (éventuellement en option):
- lecture de ces tags au moment de l'importation
- Écriture de la note au moment de sa modification
- Écriture du nombre de lectures à la fin de la lecture d'un fichier (comme précisé dans la spec)
MasterBOX
------------------------------------------------------------------------------------
Mon blog, avec mes créations sur Ubuntu et ma vision du futur :
http://utopievirtuelle.wordpress.com
Hors ligne
#61 Le 23/02/2011, à 14:39
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
- Écriture de la note au moment de sa modification
- Écriture du nombre de lectures à la fin de la lecture d'un fichier (comme précisé dans la spec)
C'est fait, en fait c'était beaucoup plus simple que ce que je pensais, il suffisait de se connecter au bons signaux (j'ai du aller regarder le code C pour trouver les bons noms de signaux cette fois).
En gros, à chaque fois qu'une entrée de la DB de rhythmbox est modifiée, on appelle une méthode qui appelle notre méthode saveRhythmDBToFile.
Il se peut même que ca marche pour l'importation car en fait le truc est lancé même lors d'une nouvelle lecture (car il change aussi la valeur de la date de dernière écoute).
Pour l'instant, je l'ai désactivé par défaut, il faut décommenter la bonne ligne (dans la méthode _on_entry_change) pour l'activer.
Finalement concernant la pause automatique, en y réfléchissant bien c'est pas une si bonne idée que ça, il vaut mieux laisser l'utilisateur le faire à la main, car il se peut qu'un utilisateur veuille toujours continuer à écouter sa musique pendant les opérations de sauvegarde/restauration (quitte à ce que ce soit plus lent).
Ah aussi il manque les FMPS_PLAYCOUNT pour TXXX pour les mp3
Dernière modification par Vysserk3 (Le 23/02/2011, à 14:41)
Hors ligne
#62 Le 25/02/2011, à 17:05
- samfuzz
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
merci, ça fonctionne très bien, vraiment pratique
pour les autres lecteurs voila ce que j'ai constaté,
clementine importe les notes 'fmps' uniquement pour les mp3 (apparement il y a un bug pour les vorbiscomment, problème de casse sur FMPS_RATING )
pour Banshee, là aussi il y a un bug : https://bugs.launchpad.net/ubuntu/+sour … bug/617017
impossible d'importer les notes et playcount inscrit dans les tags quelques soit le format
de plus j'ai remarqué que pour les vorbiscomment les rating et playcount etait inscrit dans les tags de cette façon : rating:banshee et playcount:banshee
quodlibet : utilise le même schema que banshee pour les vorbiscomment, mais il devrait passer à la specs FMPS
http://code.google.com/p/quodlibet/wiki … isComments
http://code.google.com/p/quodlibet/issues/detail?id=105
http://code.google.com/p/quodlibet/sour … il/fmps.py
gmusicbrowser, là ça fonctionne pour les ratings et playcounts (vorbis, id3, apev2)
XBMC : l'import fonctionne pour les mp3 avec le tag popm
pour le flac et ogg et musepack (et aussi le mp3)là encore c'est un autre schema
Le champ RATING avec les 1 2 3 4 5 uniquement, (1.0 par exemple ne fonctionnera pas)
d'ailleurs comme il n'y a aucune specs concernant le champ RATING c'est un peu le bordel (voir le lien ci dessous)
http://forum.xbmc.org/showthread.php?t=56009&page=2
des idées mais pas sur que ce soit simple à implémenter :
une boite de configuration ça serait pas mal avec des options comme :
-choisir d'inscrire le rating et/ou playcount dans les tags (dissocier rating et playcount)
- activer désactiver l'inscription automatiques dans les tags
- et pourquoi pas choix des standards à écrire
j'espère que la specs FMPS sera massivement adoptée ça simplifiera les choses
Dernière modification par samfuzz (Le 25/02/2011, à 17:08)
Hors ligne
#63 Le 26/02/2011, à 22:29
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Alors, j'ai commité quelques trucs :
- changement des variables globales qui restaient en attributs de classe (c'est plus proche de la POO quand même)
- implémentation de la boîte de dialogue des préférences avec un backend gconf pour stocker les booléens. Pour l'instant, seule l'autosave est pris en compte.
samfuzz, concernant la distinction rating/playcount, c'est possible en faisant comme pour l'autosave, il y a normalement 4 méthodes à changer pour prendre en compte ça. Je vais voir si ca ne change pas trop de chose. Par contre, il faudra empêcher de décocher les deux en même temps (il y aura donc 3 choix possible : rating seul , playcount seul et ratings+playcount. Pour l'instant ce réglage se répercutera sur l'autosave aussi (car l'autosave ne fait qu'appeler une fonction déjà écrite)
Le plus compliqué ca reste le choix des standards, ou alors si ca concerne juste là où il y a de l'indéterminisme (genre écrire/lire POPM ou TXXX) ca peut être faisable, mais ca va réduire la lisibilité du code.
Dernière modification par Vysserk3 (Le 27/02/2011, à 18:49)
Hors ligne
#64 Le 27/02/2011, à 18:50
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Voilà, tout est implémenté normalement
Hors ligne
#65 Le 28/02/2011, à 18:38
- samfuzz
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
super
un petit problème étrange à la première activation du plug-ins
impossible de valider les options séparément,
j'ai du toutes les validés et ensuite desactiver:réactiver le plugins pour pouvoir disssocier les options
j'ai ce message d'erreur lorsque j'active une option :
(rhythmbox:13769): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
(rhythmbox:13769): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.25.14/gobject/gsignal.c:2392: instance `0x900f000' has no handler with id `2460'
(rhythmbox:13769): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.25.14/gobject/gsignal.c:2392: instance `0x900f000' has no handler with id `2460'
Hors ligne
#66 Le 28/02/2011, à 21:29
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Bizarre en effet, ca doit être une incompatibilité avec certaines librairies. Tu as quoi comme version de rhythmbox,gtk,glibc ?
En tout cas, certainement due à l'interface graphique et au fichier .ui ...
Hors ligne
#67 Le 28/02/2011, à 21:53
- masterbox
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Belles avancées les gars!
Je teste et regarde ça demain, concernant la compatibilité je serais partisan de respecter les standards, aux autres appli d'en faire autant non? Quitte a logger un bug di nécessaire.
MasterBOX
------------------------------------------------------------------------------------
Mon blog, avec mes créations sur Ubuntu et ma vision du futur :
http://utopievirtuelle.wordpress.com
Hors ligne
#68 Le 01/03/2011, à 15:15
- samfuzz
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
pour les versions:
gtk: gtk2-engines : 1:2.20.0-0ubuntu (lucid1)
glibc : 2.11.1
rhythmbox 0.13.1
Hors ligne
#69 Le 01/03/2011, à 17:34
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
masterbox > oui je pense que ca risque de compliquer beaucoup, il vaut mieux donc s'en tenir au FMPS
samfuzz > tu peux retester là ? En fait je faisais un disconnect d'un signal, même lorsque celui-ci était déjà désactivé, d'où l'erreur GLib-GObject-WARNING, par contre l'autre GLib-GObject-CRITICAL, je ne l'ai pas...
Hors ligne
#70 Le 01/03/2011, à 19:10
- samfuzz
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
ok plus de problème, concernant la validation des options
ça fonctionne parfaitement: beau travail
merci
par contre j'ai toujours le message d'erreur lorsque je valide ou dévalide les options
"prendre en charge les notes"
"prendre en charge le nombre de lectures"
je ne l'ai pas avec l'option "écrire automatiquement les tags dans les fichiers"
(rhythmbox:5691): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.25.14/gobject/gsignal.c:2392: instance `0x9ed3000' has no handler with id `24814'
(rhythmbox:5691): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.25.14/gobject/gsignal.c:2392: instance `0x9ed3000' has no handler with id `24814'
(rhythmbox:5691): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.25.14/gobject/gsignal.c:2392: instance `0x9ed3000' has no handler with id `24814'
(rhythmbox:5691): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.25.14/gobject/gsignal.c:2392: instance `0x9ed3000' has no handler with id `25422'
(rhythmbox:5691): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.25.14/gobject/gsignal.c:2392: instance `0x9ed3000' has no handler with id `25422'
Hors ligne
#71 Le 01/03/2011, à 19:51
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Bon j'ai (encore) corrigé la chose...cette fois j'espère que c'est bon
Hors ligne
#72 Le 01/03/2011, à 20:03
- samfuzz
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
nickel, c'est bon !!!!!!!!!!
Hors ligne
#73 Le 01/03/2011, à 20:38
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Ouf.
Bon alors sinon, il reste à virer la dépendance à pynotify en la transformant en dépendance optionnelle. Si l'import de pynotify échoue, on met un booléen à False, et à la fin des opérations, si ce booléen est à False au lieu d'appeler les fonctions de pynotify, on écrit les stats dans la barre de statut en bas. Ca permettra de faire tourner le plugin sur des rhythmbox chez des gens qui n'ont pas pynotify
Après ça, ce sera bon pour une release
Hors ligne
#74 Le 02/03/2011, à 09:05
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Bon il y a un autre problème, apparemment les traductions du fichier glade prennent le pas sur les traductions originales de rhythmbox...(au lieu de s'ajouter), du coup certaines partie de l'interface redeviennent en anglais (car non traduite dans uiglade.po).
edit : problème corrigé
Dernière modification par Vysserk3 (Le 02/03/2011, à 10:28)
Hors ligne
#75 Le 03/03/2011, à 11:51
- Vysserk3
Re : [PLUGIN RHYTHMBOX] synchronisation de vos notes dans vos fichiers MP3
Bon alors, j'ai implémenté les TXXX:FMPS_Playcount pour les tags ID3v2. J'en ai profité pour virer les tags PCNT.
J'ai aussi changé tous les getall en get car dans tous les cas on recherchait un tag unique (j'ai rendu unique le POPM en cherchant 'POPM:Banshee' ), ca évitera de renvoyer une liste qui ne contenait qu'un seul élément à chaque fois, et de renvoyer plutôt directement l'élément en lui même.
Hors ligne