Journal Lollypop: un autre lecteur audio pour GNOME

54
29
oct.
2014

Bonjour,

il y'a quelques mois, j'ai commencé à me lasser de certains bugs présents dans KDE, en particulier dans KDEPIM.

J'ai donc du coup migré pour test sous Elementary OS mais la version stable n'offre pas d'outils de PIM satisfaisants…

Puis je me suis dit que gnome shell + plank (le dock d'EOS) ce serait peut être pas mal… Puis je me suis habitué au workflow de gnome-shell et maintenant je l'utilise sans dock ni extensions. Comme quoi, c'est vrai que on finit par prendre ses repères… Le seul truc que je trouve relou, c'est qu'il est vraiment plus lent que Kwin, y'a pas photo!

Bref, ça c'est pour ceux qui auraient suivi mes quelques contributions sur le projet KDE, rien de neuf pour moi, j'ai suivant les années utilisé l'un puis l'autre environnement.

Par contre pour lire de la musique, j'avais un problème:

  • gnome-music rame complètement pour utiliser ma bibliothèque, genre avec le 3.14, il faut juste 10 minutes pour que je puisse accéder à quoi que ce soit… Je suis pas sur que de bombarder tracker de requêtes soit très efficace, en regardant le code source, je n'ai vu que ce goulot d'étranglement.
  • rhythmbox rame lui aussi, pas étonnant vu que le bibliothèque est stockée dans un fichier xml, j'ai envie de dire: WTF?
  • Le player de Elementary OS rame moins mais je n'aime pas l'IHM et Budgie, lui, ne termine jamais le scan de ma bibliothèque…

J'ai donc utilisé clementine un petit moment puis en voyant les nouveaux concepts présents (lié à la nouvelle headerbar) dans les applications GNOME, il y'a un mois, je me décide à coder mon propre lecteur basé sur python, SQLite et gstreamer: Lollypop
https://github.com/gnumdk/lollypop

Screenshot

C'est un mélange entre certains concepts d'Amarok et d'autres de GNOME music, c'est sûrement encore bourré de bugs mais chez moi ça marche et hier il a gobé la collection de mon colloc macosxiste sans broncher, je pense donc qu'il est temps de faire un peu de pub ;)

Au menu:

  • Navigation par style/artist/album ou artist/album
  • Téléchargement des pochettes d'albums via un simple click
  • Vue contextuelle de l'artiste en cours de lecture
  • Mode soirée configurable en fonction du style
  • Vue des albums populaires
  • Recherche dans la bibliothèque
  • La liste de lecture courante est seulement contextuelle (où j'étais quand j'ai chargé le morceau)
  • Liste d'attente
  • Replay gain/gapless

Voilà, merci de votre attention et n'hésitez pas à faire des rapports de bug sur github ;)

  • # Ah oui, j'ai oublié

    Posté par (page perso) . Évalué à 8. Dernière modification le 29/10/14 à 20:09.

    Pourquoi choisir lollypop alors que le prochain Android s'appelle lollipop…

    1) Je le savais pas :)
    2) Le nom vient de ce voilier qui a bercé mon enfance:
    http://i.imgur.com/4fC68Mf.jpg

    Du coup tant pis, je vais manquer de visibilité dans Google :)

    • [^] # Re: Ah oui, j'ai oublié

      Posté par . Évalué à 2.

      Merci pour ce beau lecteur qui utilise l'IHM des dernières versions de Gnome mais qui est surtout utilisable, pas comme gnome-music.
      Je suis en train de le tester depuis le AUR de ArchLinux et pour l'instant que du bon !!
      Juste une petite remarque sur l'icône de l'application qui n'est pas très explicite.

      Bonne continuation.

    • [^] # Re: Ah oui, j'ai oublié

      Posté par (page perso) . Évalué à 9.

      T'as qu'à l’appeler sucette ;)

  • # Exaile ?

    Posté par . Évalué à 3.

    Bonjour,

    Bravo pour ton boulot sur lollypop, ça à l'air de roxer les pingouins ce truc !

    J'utilise pour ma part exaile comme lecteur de musique, qui est bien intégré à gnome et utilise aussi sqlite comme base de données. Il a été pensé au départ comme "amarok pour gnome". Je avais abandonné quand ils ont changé le mode de fonctionnement du GUI, il y a plusieurs années de ça, pour exaile et depuis je n'ai pas changé…

    Connais-tu cette application ? Elle est relativement rapide, gère les playlists, la sélection d'un morceau sans le jouer immédiatement (c'est le truc rébarbatif dans banshee et consors)

    Bon développement !

    • [^] # Re: Exaile ?

      Posté par (page perso) . Évalué à 4.

      Je connais Exaile, je l'utilisais en 2007 sous GNOME 2 ;)

      Mais je ne suis plus très fan de ce genre d'IHM… Alors que pourtant, j'ai défendu Amarok 1 comme un fou vers 2005….

      Je trouve que la vu de la liste de lecture d'Amarok 2 est vraiment ce qui se fait de mieux… Mais là, j'ai voulu un autre concept, merci aux devs de gnome music de m'avoir donné plein d'idées :)

      • [^] # Re: Exaile ?

        Posté par . Évalué à 6.

        Je viens de tester et je suis assez enthousiaste. L'intégration dans GNOME 3 est très intéressante, ce qui est moins le cas pour Exaile. Cela donne pour moi une véritable plus-value à Lollypop.

        Ça va donc intéresser, entre autres, tout ceux qui se sente un peu à l'étroit avec GNOME Music.

        Je vais même, de ce pas, commencer l'écriture de lollypop-0.8.0.ebuild.

        Bravo!

  • # Et du coup…

    Posté par (page perso) . Évalué à 3.

    Tu utilises quoi de satisfaisant pour le PIM sous Gnome?
    KDE PIM est une des raisons qui me donnent envie de passer à KDE.

    • [^] # Re: Et du coup…

      Posté par (page perso) . Évalué à 4.

      J'ai pas des besoins de ouf, geary comme client mail et california comme calendrier…

      Et ça juste marche…

      En 1 ans, j'avais eu trois plantages silencieux de CALDAV dans akonadi qui m'ont fait loupé 3 rendez vous…

  • # Albums et tag genre

    Posté par (page perso) . Évalué à 3.

    Vraiment très chouette; ce que je trouve être un petit bug, si un album contient des pistes de différents genres, il est créé plusieurs fois dans la table des albums; j'ai patché en local pour ignorer genre_id dans DatabaseAlbums::get_id_var mais j'imagine qu'il y a une raison qui te fait prendre le genre. (de mon côté, je n'utilise pas les genres mais certains de mes fichiers se sont trouvés, je ne sais comment, avec "inconnu" plutôt qu'une chaîne vide comme genre).

    Concernant rhythmbox, ça rame peut-être à cause du GtkTreeview, il y avait un grave soucis de performance quand l'accessibilité était activée (https://bugzilla.gnome.org/show_bug.cgi?id=730118).

    • [^] # Re: Albums et tag genre

      Posté par (page perso) . Évalué à 2. Dernière modification le 29/10/14 à 16:53.

      Ca tombe bien, je suis en train de revoir le code vu que ça bug grave si tu joues un poil trop avec easytag et la mise à jour de la base…

      Je vais ignoré le genre à la création des albums, merci, j'avais pas vu le bug chez moi ou un album == un genre ;)

    • [^] # Re: Albums et tag genre

      Posté par (page perso) . Évalué à 2.

      Sinon je connaissais aussi ce bug de rhythmbox…

      Mon problème est que ca rame avant que rhythmbox se lance, après, c'est pas terrible mais ça va…

      En gros, il lui fait une bonne minute pour charger ma bibliothèque…

    • [^] # Re: Albums et tag genre

      Posté par (page perso) . Évalué à 3.

      En fait, si c'est normal que j'ai pris le genre en compte pour la création des albums…

      Je viens de modifier le code afin lors de la présentation sans le filtrage par genre de réunir les albums d'un même artiste ayant le même genre et un style différent.

      Si tu peux tester le git pour me dire si ca roule ;)

      • [^] # Re: Albums et tag genre

        Posté par (page perso) . Évalué à 2.

        L'album apparaît toujours deux fois, mais toutes les pistes sont disponibles peu importe l'album choisi (avant cliquer sur un album n'affichait que les pistes dont le genre correspondait à la "version" de l'album). (je pourrai sans doute tester plus avant ce soir).

        • [^] # Re: Albums et tag genre

          Posté par (page perso) . Évalué à 2. Dernière modification le 30/10/14 à 12:56.

          S'il apparaît deux fois dans la vue avec les genres, c'est normal…

          S'il apparaît deux fois dans la vue avec QUE les artistes, c'est le bug.

          • [^] # Re: Albums et tag genre

            Posté par (page perso) . Évalué à 4.

            C'est dans la vue "Tous les artistes" qu'il apparaît deux fois. La modification suivante corrige ça. (et group by albums.name doit être suffisant, pas besoin du artists.rowid derrière) :

            - result = sql.execute("SELECT albums.rowid FROM albums,artists WHERE artists.rowid=albums.artist_id ORDER BY artists.name COLLATE NOCASE")
            + result = sql.execute("SELECT albums.rowid FROM albums, artists WHERE artists.rowid=albums.artist_id GROUP BY albums.name, artists.rowid ORDER BY artists.name COLLATE NOCASE")

  • # Ohrwurm

    Posté par . Évalué à 2.

    C'est malin j'ai ça dans la tête depuis ce midi…
    https://archive.org/details/OldPop_791

    Depending on the time of day, the French go either way.

  • # Souci choix image pochette

    Posté par (page perso) . Évalué à 2.

    Salut, très bon boulot, lollypop c'est gnome music en mieux en fait ;-).

    Juste un petit souci, quand je choisi la pochette pour un album, rien ne se passe. J'ai un message dans la console de type :

    gdk-pixbuf-error: Erreur d'interprétation du fichier d'image JPEG (Improper call to JPEG library in state 201) (0)

    Pour info je suis sous debian sid, et j'ai la libturbo-jpeg installée. J'essaierai de tracer plus précisément le problème dès que j'ai un moment…

    Sinon ce serait sympa d'essayer de lire les images pouvant correspondre aux pochettes dans les répertoire des albums. J'ai depuis des années des fichier type cover.jpg, folder.jpg, etc. dans mes dossiers de zik. Ça m'éviterait de devoir spécifier ces pochettes à la mano.

  • # Installation sous Debian ?

    Posté par . Évalué à 3.

    Bonjour,
    Merci pour l'information !
    Malheureusement je ne sais pas comment l'installer sur Debian…
    Quelqu'un a-t-il une idée de la procédure, sachant que le paquet n'est pas présent sur les dépôts officiels de Debian jessie (testing) - que j'utilise ?

    • [^] # Re: Installation sous Debian ?

      Posté par . Évalué à 2.

      Il faut construire l'application avec autoconf, mais ça ne marche pas sous debian :

      ./configure: line 13569: syntax error near unexpected token 1.35.9' 
      ./configure: line 13569:GOBJECT_INTROSPECTION_REQUIRE(1.35.9)'
      

      J'ai posté le bogue sur github.

      Bon courage !

      • [^] # Re: Installation sous Debian ?

        Posté par (page perso) . Évalué à 3.

        Installe les build deps de gnome-music, ca suffit sous Ubuntu

        • [^] # Re: Installation sous Debian ?

          Posté par . Évalué à 0.

          Ha, euh merci aussi gnumdk,
          Étant juste assez bon pour profiter des bien-fait de GNU-Linux, j'essaye d'extrapoler ta solution :

          l'idée serait d'avoir toutes les dépendances de gnome-music installées, puis d'installer manuellement le paquet source de lollypop ? (chose que je ne sais pas vraiment faire au demeurant…)

          • [^] # Re: Installation sous Debian ?

            Posté par (page perso) . Évalué à 2.

            A part tracker, grilo et libmediaart, toutes les autres dépendance sont nécessaire.

            • [^] # Re: Installation sous Debian ?

              Posté par (page perso) . Évalué à 2.

              Les nouvelles versions de gnome-music dépendendent de gir1.2-totem-plparser-1.0, est-ce que lollypop en dépend aussi ?

              ce commentaire est sous licence cc by 4 et précédentes

            • [^] # Re: Installation sous Debian ?

              Posté par (page perso) . Évalué à 2.

              Je n’arrive pas à l’installer avec fakeroot checkinstall --fstrans :

              /bin/mkdir -p '/usr/lib/python3.4/site-packages/lollypop/'
              /bin/mkdir: impossible de créer le répertoire «/usr/lib/python3.4/site-packages»: Aucun fichier ou dossier de ce type
              

              Cela vient très probablement d’un bug ailleurs que chez toi vu que :

              1. fakeroot est sensé simuler des droits root
              2. checkinstall --fstrans est sensé simuler une arborescence écrivable
              3. mkdir -p est conçu spécialement pour agir sans se plaindre en cas de dossier manquant

              Mais si ton Makefile ne comptait pas sur la tolérance de mkdir -p aux dossiers manquants, ça marcherait certainement. ;-)

              ce commentaire est sous licence cc by 4 et précédentes

      • [^] # Re: Installation sous Debian ?

        Posté par . Évalué à 1.

        Ah d'accord, mince… Je ne connaissais pas autoconf, donc j'irai voir et peut-être tester au cas où ça marche sur mon ordi (et ferai un retour auquel cas).

        En attendant je vais me rabattre sur rhythmbox ou music, aucun des 2 ne m'enchante plus que ça mais avec l'extension "media player indicator" les 2 marchent quand même très bien.

        Merci pour ta réponse !

  • # Fondu Enchaîné

    Posté par (page perso) . Évalué à 2.

    Le truc ultime de clementine pour moi, c'est le fondu enchaîné de 10 secondes, c'est magique pour les fêtes. As-tu prévu ça dans le mode party?

    ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Fondu Enchaîné

      Posté par (page perso) . Évalué à 2.

      On verra plus tard :)

      La prochaine étape c'est un moyen simple de modifier les tags d'un album…

      Mais je vais déjà faire un petit temps de correction de bug :)

      • [^] # Re: Fondu Enchaîné

        Posté par . Évalué à 3.

        Ce n'est que mon avis, mais la gestion de tags est une tâche assez pénible (enfin, surtout en ce qui concerne les tags ID3) et qui peut s'avérer assez vaste si tu veux faire quelque-chose de complet (import CDDB/MusicBrainz, pseudo langage de script pour renommer les fichiers…).

        Dans un esprit KISS, je te conseillerai bien de laisser ça aux logiciels qui ne font que ça, mais qui le font bien (enfin, je dis ça, je n'en ai trouvé aucun qui satisfasse mes besoins).

        • [^] # Re: Fondu Enchaîné

          Posté par (page perso) . Évalué à 1. Dernière modification le 31/10/14 à 15:44.

          J'ajoute qu'une fonctionnalité de ce genre m'a fait perdre beaucoup de temps : j'utilisais Rhythmbox pour assigner des pochettes à mes albums (soit via le greffon Last.fm fourni, soit en glissant-déposant un JPG de la pochette désirée sur le cadre prévu dans Rhythmbox). Puis est venu le temps de changer d'environnement de bureau, et de lecteur audio… et toutes mes pochettes avaient disparu.

          Alors qu'avec Easytag ou Musicbrainz Picard (pour peu qu'on ait pris la peine de cocher la case dans les préférences), on peut intégrer directement le JPG de la pochette aux tags du fichier audio. (Presque) tous les lecteurs savent afficher cette pochette, qui restera intégrée aux musiques pour toujours. Si j'avais procédé ainsi à l'époque, au lieu de faire confiance à Rhythmbox (qui doit stocker tout ça dans sa propre base de données), j'aurais gagné beaucoup, beaucoup de temps. À bon entendeur…

    • [^] # Re: Fondu Enchaîné

      Posté par . Évalué à 2.

      J'aime bien l'application Android de contrôle à distance de Clementine. Et elle permet également de télécharger la playlist (bien que je n'ai jamais essayé ce dernier point).

      Dans un milieu KDE, Clementine fait un très bon remplaçant d'Amarok.

    • [^] # Re: Fondu Enchaîné

      Posté par . Évalué à 2.

      C’est ultime en quoi par rapport à ce qui se faisait, par exemple, il y a 10 ans sous winamp ?

      • [^] # Re: Fondu Enchaîné

        Posté par (page perso) . Évalué à 3. Dernière modification le 01/11/14 à 17:57.

        Winamp, j'ai arrêté quand Amarok 1 m'a proposé une splendide bibliothèque…

        M'enfin, pour moi c'est ultime car Amarok 2.x n'a jamais réussi à réincorporer cette fonctionalité, du coup je suis resté avec Clementine…

        ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

  • # Whoa!

    Posté par (page perso) . Évalué à 2.

    Hé, moi aussi j'ai codé un player audio en Python / Gtk / Gstreamer, tout pareil ;)

    Oooh, un portail vers une autre dimension =>[]

  • # Packaging Python

    Posté par (page perso) . Évalué à 1.

    J'ai un peu regardé les sources, et j'ai vu que tu j'utilisais pas les setuptools (qui permettent de générer automatiquement les .tar.gz, les rpm et les Deb). Y a-t-il une raison ?

    • [^] # Re: Packaging Python

      Posté par (page perso) . Évalué à 2.

      qui permettent de générer automatiquement les .tar.gz, les rpm et les Deb

      Alors, déjà, un truc qui génère automatiquement un .deb et un .rpm, ça me fait peur ;)

      Ensuite, j'avais déjà utilisé les setuptools dans le temps pour un autre projet qui ressemblait:
      http://gnomefiles.org/content/show.php/mpdBrowser?content=86327

      Je me suis basé sur gnome-music pour débuter le logiciel qui utilise les autotools et qui permettent aussi de générer les .tar.xz ;)

      • [^] # Re: Packaging Python

        Posté par (page perso) . Évalué à 3.

        Alors, déjà, un truc qui génère automatiquement un .deb et un .rpm, ça me fait peur ;)

        Je ne vois pas pourquoi, le deux format ne sont que des makefile un peu plus contraint.

        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

      • [^] # Re: Packaging Python

        Posté par (page perso) . Évalué à 2.

        Ce sont des commandes différentes.

        python setup.py sdist -> ça fait un tar.gz avec les sources
        python setup.py bdist -> un tar.gz « compilé » (avec les .pyc, voire les modules C compilés)
        python setup.py bdist_deb -> un deb !
        python setup.py bdist_rpm -> un rpm !
        python setup.py bdist_msi -> un .msi

        après, il y a d'autres commandes pour tester, uploader sur pypi, etc.

  • # Alors comme ça, tu aimes les vieilles salopes ?

    Posté par . Évalué à 3.

    Bah oui, Aime-moi tendre, aime-moi vrai est dans ta liste d'albums populaires :).

    LinuxFr, parfois c'est bien de la MERDE : http://linuxfr.org/news/cpp17-exprime-la-virgule-flottante-en-hexadecimal-et-offre-des-cadeaux-aux-lecteurs-de-linuxfr-org#comment-1686201

  • # Merci + Bug

    Posté par . Évalué à 1.

    Bonjour, tout d'abord merci pour ton travail! Un player simple, pratique, esthetique et convivial! Exactement ce que j'espérai…j'ai même l'impression que tu l'as fait pour moi…

    Cependant j'essaye de l'installer sur mon fixe (sur Voyager 14.04 basée sur Xubuntu 14.04) et lors de l'autogen j'ai l'erreur suivante: "cheking for gobject-introspection… configure: error: gobject-introspection-1.0 is not installed".
    J'ai pourtant le paquet installé…en version 1.40. Faut il que j'installe la version 1.0? Cela me parait étrange.

    Encore merci!!

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.