mardi 7 avril 2009

Foobar2000: un lecteur audio au top

Salut les échidnés !

(Heu dites, ne reculez pas devant la taille de ce billet, il est en deux parties, la seconde est un tutorial.)

Tux dj musicAujourd'hui j'ai booté sous Linux histoire de schtroumfer quelques séries et films pour les vacances (le protocole torrent plante ma connexion au bout de 20 minutes précisément sous windows --'). Bref je me suis retrouvé avec Amarok pour lire ma musique. Amarok c'est ce qui m'a poussé à passer sous Kubuntu quand j'utilisais encore Winamp, c'est un peu ce que je pensais être la perfection incarnée... mais pas aujourd'hui, parcqu'il a un gros défaut ce programme, il supporte très mal les grosses bibliothèques (Non, ne fais pas cette blague noooooon...!!) un peu comme les enf~... hum... non. Bref, je me retrouve à attendre plusieurs secondes à chaque changement de piste et ça me gonfle bien vite (et la v2 qu'ils ont sortis et que je hais du plus profond de mon petit cœur me laisse peu d'espoir de voir mon problème arrangé). Je vous passe les heures vainement passées à chercher un meilleur programme et en vient au fait: le seul lecteur de musique parfait n'existe que sous Windows (il faut bien qu'il ait quelques trucs pour lui le pauvre) et ce programme c'est Foobar2000.

Je l'utilise depuis seulement quelques mois bien que j'en avais entendu parler il y a longtemps.
S'il est si super, pourquoi tout le monde utilise Winamp?
Tout simplement parce que Foobar2000 est considéré comme bien galère à configurer (ce qui n'est pas totalement faux). Ajoutez à cela que les gens utilisent Winamp parcque tout le monde l'utilise... =/

Mais revenons à Foobar. Dans un premier temps je vais vous expliquer pourquoi je le considère comme parfait (ou en tout cas bien proche de cet état) et on verra ensuite pourquoi la configuration n'est pas nécessairement ardue et longue.

Présentation

Foobar2000

Le pourquoi de sa roxitude tiens en un mot: Personnalisation. Pour peu qu'on s'y connaisse un peu, Foobar2000 est presque totalement personnalisable, tant au niveau graphique que fonctionnel. De base on peut déjà faire beaucoup mais en plus il existe divers plugins qui peuvent se greffer au programme pour le transformer petit à petit en votre programme ! (Hey j'ai de l'avenir en politique là non?)

Je ne me suis jamais considéré comme compliqué dans ma recherche de lecteur de musique, pourtant très peu me conviennent. J'attends juste quelques fonctions "de base". Devinez-quoi? Foobar les a^^. Les voici:

  • Raccourcis claviers globaux personnalisables: Là on élimine la moitié des lecteurs alors que c'est vraiment mon exigence la plus basique. J'entend par global un raccourci clavier accessible ailleurs que dans le programme même, je n'ai pas envie de devoir afficher la fenêtre du lecteur pour simplement passer à la chanson suivante (surtout que sans ces raccourcis, je ne peux pas afficher le programme rapidement). Imaginez que pour passer une piste sur votre lecteur mp3 vous deviez le sortir de sa pochette, ouvrir un boitier et appuyer sur un bouton... perte de temps. Ensuite il faut que ces raccourcis soient personnalisables pour avoir les même sous Windows et Linux et pour éviter tout conflit avec ceux d'un autre programme (je suis un fou du raccourcis moi^^). Quand on passe des mois à coder un programme, c'est pas la mort d'y rester 10-20 minutes de plus à rendre les raccourcis personnalisables.
J'apprécie grandement aussi de pouvoir afficher/cacher le programme avec un raccourcis clavier, gain de temps considérable (Amarok et Foobar le font tous deux).

  • Possibilité d'avoir un OSD (On-Screen-Display), c'est un petit message qui vous avertit du titre de la chanson, de l'artiste et de l'album (et de ce que vous voulez s'il est bien fait) au changement de piste. Le must est qu'il y ait un raccourci clavier pour l'afficher quand on veut (Amarok le fait mais pas Foobar2000).
  • Possibilité de changer rapidement de playlist sans interruption du morceau joué: Se charge d'éliminer tous les programmes qui ont survécu aux deux trucs précédents.

Voila c'est tout, je vous le dit je ne suis pas maniaque et pourtant après ça il ne reste qu'Amarok et Foobar.

Allez, voyons rapidement et en vrac les plus de Foobar2000

- Légèreté: démarre vite, s'affiche vite,...
- Mise en file d'attente facile avec raccourcis clavier (Amarok le fait aussi)
- Replay Gain inscrit dans le tag (un des gros défaut d'Amarok est de le faire pendant les premières secondes de la lecture et il le fait en réglant le volume, très dérangeant. Via plugin en plus et j'en ai jamais trouvé qu'un). Le replayGain c'est la mise à niveau du volume des pistes les unes par rapport aux autres.
- Changement de playlist instinctif et fluide.
- Mise à jour automatique et directe de la collection (fini les interminables minutes à attendre que la collection soit refaite, /hi Winamp)
- ...: Tout est plus simple avec "...", votez pour lui !!

Convaincu? Bien bien, passons à la suite dans ce cas.

Installation, configuration toussa toussa

Alors avant de commencer: Oui, Foobar2000 prend du temps à être configuré (j'y ai passé une soirée et une nuit)... Si vous le faites vous-même !. Pour ceux qui ne veulent pas se prendre la tête, rien ne vous empêche de prendre une config toute faite, il ne reste ensuite qu'a régler deux trois petits détails. Je vais donc vous entretenir dans votre flemmarderie en vous donnant mon fichier de thème et en faisant un tour rapide dans les options avec vous (et pour les plus paresseux, je donne mon dossier Foobar complet où tout est réglé: thème, raccourcis et options diverses).

Bon, je tourne sur VirtualBox pour le faire tourner là et je viens donc de me rendre compte que sans mon thème windows c'est beaucoup moins joli (on verra comment mettre vos propres couleurs). Mais avec le thème sa donne ça:
Cliquez pour agrandir.
Image hébergée par servimg.com
Au passage je vous met un aperçu de l'OSD qu'on installera tout à l'heure et vous encourage à écouter Girls In Hawaii (surtout Plan Your Escape), groupe belge qui déchire (c'est pas de l'electro), je ferai un billet là-dessus un de ces jours.

Elle est sobre, pratique, pas très belle mais parfaite. Elle parcque je parle de mon interface que j'aime très très fort... J'ai d'ailleurs -comme dit plus haut- passé une nuit sur elle... Non non, pas de remerciements.

Enfin, commençons par aller télécharger Foobar2000 ici. Lancez l'installation.
A moins de vouloir absolument installer le programme pour tous les utilisateurs de l'ordi, je vous conseille de choisir Portable Installation, ça vous permettra de déplacer Foobar d'un ordi à un autre sans avoir à tout reconfigurer. Sur l'écran suivant je vous conseille de tout laisser par défaut. ArchiveReader (dans Tools) peut être intéressant à la limite mais reste loin d'être indispensable. Il permet d'ajouter des albums compressés (.zip, .rar,...) dans sa médiathèque.

Image hébergée par servimg.com
Foobar au premier lancement, "méfiez-vous de l'eau qui dort".

Pas la peine de lancer le programme. Installez tout de suite mon thème (si le type de fichier n'est pas reconnu par Foobar faites un glisser/déposer dans la fenêtre principale du programme. Cochez tout et validez. Au fait, partagez ma config comme il vous plaira si vous avez des amis à convertir à Foobar^^ et n'hésitez pas à y chipoter quand même pour la personnaliser un peu.
Je met mon dossier d'installation en fin d'article pour les plus paresseux d'entre vous^^.

Présentation principale
Dans le grand rectangle de gauche, cliquez sur le truc pour ajouter des fichiers à votre bibliothèque, une fenêtre s'ouvre. En haut à droite vous ajoutez les dossiers à inclure. Tout changement dans ces dossiers sera par la suite pris en compte par Foobar sans que vous ayez à faire quoi que ce soit, vos nouvelles musiques seront donc ajoutées automatiquement à votre bibliothèque.
Dans la même fenêtre, en bas, cochez la case Enabled et laissez cochée la seconde. Désormais, dès que vous sélectionnerez un dossier ou une playlist dans le rectangle à gauche de la fenêtre principale (Pff... pff...), il le chargera automatiquement en tant que playlist à lire et une fois la piste en cours terminée il lancera cette playlist.

Vous remarquerez que cela ouvre un nouvel onglet dans la fenêtre principale. Dans l'onglet "Default" à gauche, vous pouvez mettre ce que vous voulez ou le supprimer. Vous pouvez créer d'autres onglets, ce sont vos playlists. Seul "Library Viewer Selection" seras modifié à chaque sélection à gauche, le contenu des autres ne seras choisi que par vous.

Au fait, si vous cliquez droit sur un truc (fichier, dossier) vous avez accès aux options de ReplayGain, choisissez "Scan Per File Track Gain" et une fois l'analyse terminée, validez. Le volume des fichiers seras alors plus bas (en général) et tous les fichiers sélectionnés auront le même niveau sonore. Vous n'êtes pas obligés de faire tous vos fichiers en même temps cela dit parce que ça prend du temps.

Les deux cadres en haut à droite de l'image contiennent les informations du/des tag(s) de la sélection et les infos sur l'emplacement du/des fichier(s).

Plus haut à droite il y a un piège. Random est différent de Shuffle pour les modes de lecture. Random sélectionne une piste totalement aléatoire (ça peut être celle que vous venez juste de jouer), de ce fait on ne peut pas lire la piste précédente, préférez lui donc Shuffle qui fonctionne comme partout (mais qui ne rejoue pas toujours les mêmes pistes au bout de deux semaines à cause d'un fucking système de favoris comme on en trouve sur Winamp).

Avant de passer aux menus, j'attire votre attention sur le bandeau en bas du rectangle de gauche. Filter sers à faire une recherche mais bon, il fonctionne comme un filtre, vous comprendrez (c'est pas super pratique je trouve). J'utilise plutôt la recherche avec CTRL-F (à faire après avoir cliqué sur la playlist dans les dernières versions Foobar, saletés de mises à jour :/ )
View permet quand à lui de régler l'affichage du rectangle de gauche. Je préfère trier par folder structure personnellement vu que mes dossiers sont classés par un maniaque de l'ordre (enfin, en informatique parcque irl c'est une autre histoire^^).

Passons donc aux menus en haut à gauche.
- File: Rien de bien palpitant, c'est par là qu'on accède aux options.
- Edit: donne accès à la recherche (CTRL + F) pour fouiller dans la playlist en cours et permet de supprimer les liens vers des fichiers morts ou dupliqués.
- View: diverses options plus ou moins itneressantes. Le "Layout" c'est ce qui définit "qu'est-ce qui est placé où" donc si vous voulez vous amusez à faire votre propre config faudra passer par là.
- Playback: les trois derniers trucs sont intéressants. Stop after current arrête la lecture dès que le morceau joué se termine, Playback Follows Cursor permet de lancer la piste sélectionnée une fois la piste actuellement jouée terminée, Cursor Follows Playback permet de sélectionner la piste jouée au changement de piste.
Les deux autres menus on s'en fout.
Le bouton "Layout Editing Mode" vous passe en mode édition, vous permettant d'éditer la taille ou la position de chaque élément du Layout. Vous devrez sûrement redimensionner les éléments pour optimiser le layout selon votre résolution d'écran.

Allez, on passe à la suite.

Options
Go go dans les préférences (CTRL + P). Ici vous pourrez modifier presque tout le programme mais je vais simplement vous montrer quelques trucs que je juge vitaux ou forts utiles.

Display/Default User Interface: En haut à droite, System Notification Area: La première case permet de toujours afficher l'icône de Foobar2000 dans la zone de notification, le truc à droite de la barre Windows. La seconde permet d'envoyer le programme dans cette zone plutôt que dans la barre de tâche Windows et la troisième permet d'afficher une notification bien moche de Windows à chaque changement de chanson (et elle reste 15 secondes), inutile si vous installez plus loin l'OSD que je vous proposerai.
Vous pouvez rendre le programme transparent si vous voulez mais ça s'applique sur toute la fenêtre donc je trouve ça plutôt moche et très lourd en ressources, à déconseiller.

Display/Default User Interface/Colors and Fonts: ça parle de soi-même.

File Type: permet de faire de Foobar votre lecteur par défaut pour les fichiers sélectionnés.

General: Je viens de découvrir une option bien pratique en bas (au moins j'aurai pas écrit ce tuto pour rien c'est sûr. "Mouse whell blablabla", permet de faire défiler à la molette l'élément sur lequel elle est placée indépendamment du focus. Difficile à expliquer, testez vous verrez: restez dans les options et scroller avec la case désactivée, la souris sur le milieu de la fenêtre principale. C'est le menu de gauche qui défile. Cochez là case, refaite votre scroll au milieu, c'est la palylist qui défile désormais.

General/Keyword Shortcuts: Ah ! Les voila ces fameux raccourcis. Bon, j'espère que vous vous débrouillez un tout petit peu en anglais parcqu'il y a trop d'éléments à détailler. Enfin, le principal c'est play/pause, next,... Par contre c'est assez galère de s'y retrouver (c'est bien classé mais il y a un paquet de trucs). Je vous donne les fonctions principales que j'utilise parcqu'on y pense pas toujours sur le moment et on revient dix fois ajouter des raccourcis:
- Next
- Play or Pause
- Previous
- Activate or Hide: affiche/cache le programme, super pratique.
- Add to Playback Queue: ajoute la sélection à la file.
- Remove from Playback Queue
- Volume Up
- Volume Down
N'oubliez pas de sélectionner "Global Hotkeys" pour que les raccourcis fonctionnent même en dehors de la fenêtre de Foobar. D'ailleurs c'est un truc qui montre à quel point le programme est soigné, on peut choisir quel raccourcis est global ou ne l'est pas.

Playback: La première barre de Preamp permet de choisir le volume donné par le ReplayGain (il est assez bas donc il peut être utile de le modifier).
En bas vous pouvez cocher Resume Playback After Restart, ça permet de reprendre la lecture là où vous en etiez après avoir fermé Foobar (il retient aussi s'il était en pause ou en mode play, un peu gênant ça selon moi). Elle est bien cachée cette option (Heu, Beldir, elle est dans l'onglet le plus logique où elle pourrais être).

Advanced: Il y a quelques trucs utiles ici, n'ayez pas peur^^:
- Display/Image to display when blablabla: permet d'afficher une image par défaut quand aucune n'est intégrée au fichier lu. Moi je met celle-ci qui rend bien avec mon thème (cliquez pour avoir l'originale)
Image hébergée par servimg.com

- Playback/Fading: c'est pour faire des passages de pistes fluides (lancer une piste alors que l'autre n'est pas tout à fait terminée). Je suis pas trop fan de cet effet quand il est trop poussé donc j'ai mis les 3 valeurs à 100, testez des valeurs plus grandes pour vous faire une idée du truc (c'est en microsecondes).

On-Screen Display

Voila pour le programme de base, parce que là il vous manque toujours un élément essentiel: l'OSD !
C'est un tout petit fichier à télécharger ici. Placez-le dans le dossier Components de Foobar avec les autres dll. Redémarrez le programme, allez dans les paramètres, Display. "On Screen Display" est apparu, sélectionnez-le.

Title Auto-pop seras l'OSD apparaissant au changement de lecture, cochez la case Overlay au-dessus pour l'activer. Choisissez ensuite dans quelles circonstances il apparaitra, pour ma part j'ai choisi "Play", "Pause" (pour palier au manque de raccourcis clavier pour l'afficher, je fait Play/Pause deux fois très vite) et "Stream Titles" (= au changement de piste). N'oubliez pas d'appliquer chaque changement avant de tester.
"Font" permet de régler la police d'écriture et "background color" la couleur d'arrière plan, "Default color" ne sert à rien, pour la couleur du texte il faut faire ça plus loin, on y viendra.

Dans l'onglet "Effects", on commence par la transparence. La barre du haut c'est pour la transparence de tout l'OSD (et il faut activer la case "Window"), j'aime pas trop parcque le texte est transparent aussi et c'est moins lisible du coup. Background permet de rendre uniquement le fond transparent, classe et lisible, la solution parfaite selon moi.

Fade in/Fade out permet d'afficher/masquer l'OSD progressivement, très joli mais déconseillé dans certain cas (ça vous ralentit les chargement Ragnarok de manière abominable si vous avez le malheur de changer de piste au passage entre deux maps xD). Je trouve que 200ms est l'idéal.

Format, c'est là que la couleur du texte est sélectionnée ainsi que le texte affiché. Les balises sont détaillés dans l'aide de Foobar. Moi j'ai ceci:
$rgb(200,200,200,0,0,0)[%artist% - ][%title%]
[$char(10)$rgb(150,150,150,0,0,0)%album%]

rgb défini la couleur, ici c'est du gris (donne très bien sur un fond noir légèrement transparent.
$char(10) passe une ligne.
C'est dommage que j'ai pas mon script ici parcque sinon j'aurais pu vous montrer les possibilités du truc, par exemple quand je met la lecture en pause, une barre de progression s'affiche en haut de l'écran. Un truc comme ça: [------|---]
C'est bien expliqué comment faire dans l'aide mais elle est en anglais.

L'onglet Volume c'est pour régler les options de la barre du son si vous avez sélectionné l'affichage de l'OSD au changement de Volume (Le second OSD du premier onglet est créé à cet effet).

Et voilaaaa !!!! Vous avez votre Foobar tout beau tout nikel. (Ouais je sais c'est brutal comme transition)
Sachez qu'il y a toute une communauté autour de ce logiciel et qu'en cherchant un peu sur les forums et tutoriaux, vous devriez pouvoir faire ce que vous voulez du programme (à condition d'y mettre le temps). Il existe des plugins pour rendre le programme bien plus beau. C'est Columns UI le nom mais j'en suis pas trop fan (j'aime Foobar pour sa légereté rappellez-vous).

Et comme promis, mon programme complet: Fichier rar de 5M

Vous pouvez aussi trouver de magnifiques configs toutes pré-configurées.

Voila, j'espère que vous aurez trouvé l'amour de votre vie sur ce billet (Agissez en geek bon sang assumez vous !!!). Pour les remerciements j'accepte les virements banquaires mais aussi le liquide. A la prochaine les petits loups.

Ah et heu sinon désolé de pas avoir écrit de la journée et déja pas des masses hier, j'ai pas cessé de repporter l'écriture de ce billet qui je le savais allais me monopoliser quelques heures.