Un billet rapide pour dire que j’ai forké (en gros) xfce4-volumed pour lui ajouter le support de PulseAudio.

La version existante utilise l’interface gstmixer de gstreamer, et son utilisation conjointe avec PulseAudio semble générer quelques petits soucis. Ceux qui utilisent gstreamer0.10-alsa semblent avoir des difficultés à (un)muter le son. Pour les autres, le module gstreamer0.10-pulse est relativement mauvais et assez peu utile : il ne montre qu’un seul track, ‘Master’, pour chaque carte, ce qui enlève pas mal d’intérêt à pulse. Je ne connais pas non plus de moyen fiable pour déterminer la carte son par défaut avec gstmixer.

Puisqu’Ubuntu dans son ensemble utilise pulse par défaut, j’ai rajouté un peu de magie noire dans le xfce4-volumed de la 12.04 pour qu’il essaie de trouver la bonne carte par défaut. Bien entendu, puisqu’il serait trop beau que ça marche chez tout le monde, ceux qui ont une sortie audio HDMI sur leur carte graphique voient apparemment xfce4-volumed la sélectionner comme carte par défaut au lieu de la vraie carte son, ce qui fait qu’il ne sert à rien…

J’ai jeté un coup d’œil à ce que fait indicator-sound, ainsi qu’à la documentation de l’API asynchrone de libpulse : ça m’a paru relativement simple et bien fait, une fois qu’on a saisi les conventions de nommage, sink/source/sink input/source output (il y a même une fonction pour récupérer la sortie son par défaut, c’est fou). Quelques heures de tripatouillage plus tard, et le port à libpulse (sobrement intitulé xfce4-volumed-pulse ) était prêt. J’ai même migré mon système principal à PulseAudio pour tester (j’ai sacrifié mpd au passage car c’est un calvaire de le faire fonctionner avec pulse), et ça semble bien fonctionner ici et chez un autre cobaye.

Branche git : https://code.lefolgoc.net/mrpouit/xfce4-volumed-pulse

Paquet de test pour precise : https://launchpad.net/~mrpouit/+archive/ppa

Bref, feedback welcome (pensez à tuer xfce4-volumed avant de tester).

Je pense que ça restera un programme distinct de xfce4-volumed, certains étant un peu trop opposés à PulseAudio, et puis l’interface gstmixer de gstreamer ne devrait pas disparaître tout de suite.

Mais il faut avouer que l’api de libpulse est relativement facile à utiliser quand on ne connaît rien à la gestion du son et qu’on veut faire un truc très simple qui marche (xfce4-volumed-pulse ne s’intéresse qu’au sink par défaut, alors qu’indicator-sound fait des choses plus compliquées par exemple).