ncmpc : un client pour MPD

le 23/08/2011 dans Linux #console#Linux#mpd#terminal

Maintenant que nous avons vu comment installer et configurer MPD, nous allons nous attarder sur un client fort sympathique : ncmpc. Pourquoi choisir ce client plutôt qu'un autre ? Tout d'abord pour sa légèreté (plus qu'appréciable lorsque vous utilisez un portable vieillissant à la batterie assez faible), sa simplicité, sa facilité d'utilisation, les multiples possibilités de configuration… Certes ncmpc est en ncurse et sa configuration se fait à la main en éditant un fichier, mais une fois cela fait, il ne vous reste plus qu'à vous familiariser avec son interface intuitive et après un petit moment vous l'adopterez définitivement.

Installation et configuration

Commençons par l'installation :

$ sudo aptitude install ncmpc

Ensuite, il nous faut nous attaquer à la configuration. Commençons par créer un dossier .ncmpc dans notre /home : c'est là que ncmpc cherchera le fichier de configuration :

$ mkdir ~/.ncmpc

Une petite recherche

locate ncmpc

nous permet de trouver un exemple de fichier de configuration (au format .gz) : /usr/share/doc/ncmpc/examples/config.sample.gz. On copie ce fichier dans le dossier que l'on vient de créer et on le décompresse avant de renommer le fichier de telle façon à ce que ncmpc le reconnaisse correctement :

$ cp /usr/share/doc/ncmpc/examples/config.sample.gz ~/.ncmpc
$ cd ~/.ncmpc
$ gzip -d config.sample.gz
$ mv config.sample config

Maintenant il ne nous reste plus qu'à éditer le fichier selon ce que l'on souhaite obtenir. Je ne vais pas m'attarder à décrire l'ensemble des options disponibles, les descriptions et commentaires étant assez explicites il me semble (de plus vous trouverez mon fichier de configuration ci-dessous. Je vais tout de même évoquer très rapidement certains points :

  • je vous déconseille d'utiliser la souris (son utilisation étant assez frustrante puisque lente et parfois l'on ne fait pas forcément ce que l'on souhaite), mieux vaut se limiter au clavier ;
  • activer l'option wrap-around pour naviguer plus facilement au sein de votre bibliothèque (permet de passer du dernier élément au premier et inversement) ;
  • passer l'option set-xterm-title à yes et décommenter l'option suivante _xterm-title-format _en la modifiant selon son bon vouloir ;
  • autoriser l'utilisation des couleurs (option enable-colors) puis faire les réglages souhaités ;
  • à propos des couleurs, si vous utilisez un arrière-plan ou la transparence dans les réglages de votre terminal, je vous conseille de régler l'option color background à none.
##
## Configuration file for ncmpc (~/.ncmpc/config)
##
 
############## Connection ###################
## Connect to mpd running on a specified host
#host = "localhost"
 
## Connect to mpd on the specified port.
#port = 6600
 
## Connect to mpd using the specified password.
#password = "secret"
 
############## Interface ####################
## Enable mouse support (if enabled at compile time).
enable-mouse = no
 
## A list of screens to cycle through when using
## the previous/next screen commands (tab and shift+tab).
## names: playlist browse help artist search song keydef lyrics outputs
screen-list = playlist browse
 
## Default search mode for the search screen. The mode is an
## integer index, with  0  for title, 1 for artist, 2 for album,
## 3 for filename, and 4 for artist+title.
search-mode = 4
 
## Auto center (center the playing track in the playlist)
auto-center = yes
 
## Show the most recent query when using find.
#find-show-last = no
 
## Wrapped find mode.
#find-wrap = yes
 
## Wrapped cursor movement.
wrap-around = yes
 
## Ring bell when find wraps around.
#bell-on-wrap = yes
 
## Sound audible bell on alerts.
#audible-bell = yes
 
## Enable visible bell on alerts.
visible-bell = yes
 
## Default crossfade time in seconds.
#crossfade-time = 10
 
## Seek forward/backward by NUM seconds.
#seek-time = 1
 
############## Display ######################
## Show a list of the screens in the top line on startup.
#welcome-screen-list = yes
 
## Make the cursor as wide as the screen.
wide-cursor = yes
 
## Hide playlist cursor after x seconds (0 disables this feature).
#hide-cursor = 5
 
## Scroll the title if it is too long for the screen.
#scroll = yes
 
## The separator to show at the end of the scrolling title.
#scroll-sep = " *** "
 
## list-format
## The format used to display songs in the main window.
#list-format = "%name%|[%artist% - ]%title%|%file%"
 
## The format used to display songs on the status line.
#status-format = "[%artist% - ]%title%|%shortfile%"
 
## The time, in seconds, for which status messages will be displayed.
#status-message-time = 3
 
## Display the time in the status bar when idle.
#display-time = yes
 
## Sets whether to display remaining or elapsed time in
## the status window. Default is elapsed.
#timedisplay-type = elapsed
 
## Show the bitrate in the status bar when playing a stream.
#visible-bitrate = no
 
## Change the XTerm title (ncmpc will not restore the title).
set-xterm-title = yes
 
## The format used to for the xterm title when ncmpc is playing.
xterm-title-format = "ncmpc: [ %name%|[%artist% - ]%title%|%file%]"
 
############## Colors #######################
##
## base colors: black, red, green, yellow, blue, magenta, cyan, white
##
 
## Enable/disable colors.
enable-colors = yes
 
## Set the background color. If the background color is assigned
## to the keyword none, ncmpc will not change the background color.
color background = none
 
## text colors: black, red, green, yellow, blue, magenta, cyan, white,
##              brightblack, brightred, brightgreen, brightyellow, brightblue,
##              brightmagenta, brightcyan, brightwhite
 
## Set the text color for the title row.
color title = yellow
 
## Set the text color for the title row (the bold part).
color title-bold = brightyellow
 
## Set the color of the line on the second row.
color line = white
 
## Set the text color used to indicate mpd flags on the second row.
color line-flags = brightwhite
 
## Set the text color in the main area of ncmpc.
color list = green
 
## Set the bold text color in the main area of ncmpc.
color list-bold = brightgreen
 
## Set the color of the progress indicator.
color progressbar = white
 
## Set the text color used to display mpd status in the status window.
color status-state = brightyellow
 
## Set the text color used to display song names in the status window.
color status-song  = yellow
 
## Set the text color used to display time the status window.
color status-time  = red
 
## Text color used to display alerts in the status window.
color alert = brightred
 
## Redefine any of the base colors.
## The RGB values must be an integer value between 0 and 1000.
## Note: Only some terminals allow redefinitions of colors!
#colordef yellow = 255, 140, 0

Utilisation

Pour lancer ncmpc rien de plus simple :

$ ncmpc

Voici ce que vous devriez voir :

ncmpc

Vous pouvez naviguer entre les différents écrans de ncmpc grâce aux chiffres 1 à 8 mais aussi avec les touches F1 à F8. À quoi correspondent ces différents écrans ?

  1. Aide, liste des raccourcis claviers
  2. Liste de lecture
  3. Parcourir l'arborescence
  4. Parcourir la bibliothèque par artistes
  5. Recherche
  6. non-attribué ?
  7. Paroles
  8. Choix de la sortie audio

Je ne vous en dis pas plus : grâce à l'écran d'aide, vous trouverez tout ce qu'il vous faut pour maîtriser ncmpc. Si vous trouvez ncmpc un peu limité, ncmpcpp devrait vous séduire.

Si vous voulez pouvoir scrobbler la musique grâce à MPD et ncmpc, installez mpdscribble.