Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile


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 smile
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 wink

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

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).

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

Vysserk3 a écrit :
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 smile

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 wink

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 wink

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) wink

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 wink

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 wink
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 wink

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 wink
Après ça, ce sera bon pour une release wink

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