Hace tiempo que quiero hacer una guía sobre como tener lo último de este maravilloso daemon, así que hoy va =)
Music Player Daemon (MPD) is a music player which allows for remote access from another computer. An example would be a headless computer running MPD and using one of the available front ends to control it remotely. It also makes for a good desktop media player, particularly if you either don't use or frequently restart X.
It utilizes a database (like other music players) to store the basic music file information for each file. Instead of playing files from the filesystem, it plays music from the MPD library. Once the daemon is started, the database is kept entirely in-memory, and there is no disk access necessary to lookup or search for a song. The text file database is only used to maintain the contents of the database when MPD is not running. [Wikipedia]
Tengan en cuenta, además de esto, que consume escasísimos recursos. En este momento a mi me está llevando 1,9 Mbytes de memoria. Un front-end no añade suficiente para llegar a los 10 Mbytes, y como no lo requiere para reproducir música, se puede programar un playlist y dejarlo corriendo, con lo que podemos mantener esos 1,9 Mbytes.
Creo que el mayor obstáculo que puedo tener para esta guía es la cuestión de las dependencias. Como vamos a instalar 4 programas y varios plug-ins, esto, sumado a que quiero intentar ser neutro con el tema de las distribuciones, puede complicárseme. Pienso extraerlos directamente de las páginas oficiales. Espero sepan disculpar si en dicho aspecto a la guía le falta.
Ahora, lo que vamos a instalar es: MPD, libmpd, ncmpc, gmpc (con: coveramazon, lyrics, wikipedia, last.fm & qosd)
Dejo un screen para que se vea más o menos como es:
···········
MPD (Music Player Daemon)
Vamos a ver primero las dependencias según el sitio oficial de MPD:
Requirements
1) libao libraries and headers are required!
2) zlib libraries and headers are required!
Libs included with source (i.e. nothing needed for these): libid3tag and libmad
Optional
1) for ogg vorbis support: libogg and libvorbis
2) for flac support: flac 1.1
3) for wave/aiff/au support: audiofile
4) for MP4/AAC support: FAAD2
5) for Mod support: libmikmod
Probé todos los links, y exceptuando el de libvorbis (que se puede encontrar en el link de libogg) los demás funcionan bien. Por supuesto que si tienen la posibilidad de utilizar un gestor de paquetes para estas tareas, les va a resultar mucho más sencillo. Eso se da por supuesto de ahora en más.
Addendum: Había olvidado que puede ser no todos tengan svn instalado. Dejo entonces acá él link a la página oficial: http://subversion.tigris.org/
Una vez que instalamos las dependencias, vamos a descargar MPD del subversion repository:
svn co https://svn.musicpd.org/mpd/trunk mpd
Esto desde una terminal, claro está. A continuación entramos a la carpeta mpd recién descargada, y ejecutamos en la terminal:
,/autogen.sh
make
sudo make install
Tres cosas...
Primero, a la salida de ,/autogen.sh puede verse con que librerías fue configurado MPD, y por lo tanto para que cosas tiene soporte. Es buena idea fijarse que todo esté en orden antes de continuar.
Segundo, que si puede evitarse hacer sudo make install así, system wide, mejor. Si pueden construir un paquete con alguna herramienta, se los recomiendo, y si no siempre pueden usar un prefijo, digamos sudo make install –prefix=/usr/local/ por ejemplo. Eso les va a permitir ordenar la manera en que se instala. Esto vale para todos los programas que vayamos instalando de ahora en más.
Tercero, por comodidad voy a utilizar mis paths para el resto del tutorial. Cámbienlos según donde lo hayan instalado.
Listo. Ahora tenemos MPD. Pero no termina acá.
Lo que sigue es configurarlo. Empezamos editando con permisos de root el archivo mpd.conf que se encuentra en /etc. Ejemplo: sudo nano /etc/mpd.conf
Van a encontrar cantidad de opciones, pero lo que a nosotros nos interesa es modificar las siguientes:
pid_file "/var/run/mpd/pid"
Comentamos esta linea, poniéndole un # por delante. Esto es porque el archivo pid no es creado con la instalación y si dejamos la linea no vamos a poder iniciar MPD luego.
#mixer_type "alsa"
#mixer_device "default"
#mixer_control "PCM"
Si usan ALSA, recomiendo descomentar estas lineas y cambiar PCM por Master. Esto va a evitar que cuando subamos demasiado el volumen los parlantes se saturen.
#filesystem_charset "ISO-8859-1"
Desconmentamos esta linea y cambiamos ISO-8859-1 por UTF-8, para que al generar la base de datos acepte caracteres especiales.
Eso es lo más esencial creo yo. Espero no estarme olvidando de nada. En cualquier caso, son libres de navegar y probar el archivo después =]
Guardamos los cambios en mpd.conf. Luego:
cd /var/lib/mpd/music/
sudo ln -s “ruta hacia el directorio con nuestra música”
Repítanlo con todos los lugares donde tengan su música. Esto crea unos enlaces blandos que permite a MPD tomar los archivos desde varios directorios con música, a diferencia de si lo hubiesemos puesto directamente en el archivo de configuración.
Vale. Todo está listo. Lo último es crear la base de datos, y para eso hacemos:
sudo mpd –create-db
Luego, cuando queramos iniciar MPD solo basta hacer:
sudo mpd
Y repetir el comando de creación de la base de datos cada vez que deseemos actualizarla.
···········
libmpd (Librería de MPD)
Sitio de Qball:
Requirements
- C99 Compatible C compiler (for example: gcc >= 3.0)
- autotools (automake, autoconf)
- make
- libtool
- Subversion (to fetch a copy)
Luego descargamos con:
svn co https://svn.musicpd.org/libmpd/trunk libmpd
Nos dirigimos a la carpeta descargada, y dentro hacemos:
,/autogen.sh
make
sudo make install
···········
NCMPC (Ncurses Music Player Client)
Este es mi cliente favorito =)
Sitio oficial de MPD:
Requirements
- ncurses
- glib-2
Lo descargamos con:
svn co https://svn.musicpd.org/ncmpc/branches/tradiaz
Esta es una rama de ncmpc diferente de la indicada en el sitio de MPD. Esto se debe a que el desarrollador original aparentemente abandonó el proyecto, y ahora lo continúa otra persona.
Continuamos dentro del directorio recién descargado:
,/autogen.sh –enable-lyrics-screen --enable-clock-screen
make
sudo make install
Luego pueden acceder desde cualquier terminal tipeando ncmpc.
Como tip, pueden añadir a su bashrc (~/.bashrc) un alias tipo alias ncpmc=”ncmpc –colors”, lo cual va a permitirle usar colores cada vez que lo inicien. Aca dejo un screen.
···········
GMPC (Gnome Music Player Client)
Este es el front-end para X que vamos a utilizar. Hacia el final de la guía voy a hablar de otra opción, pero opino que este es el más completo que hay.
Sitio de Qball:
Requirements
- C99 Compatible C compiler (for example: gcc >= 3.0)
- autotools (automake, autoconf)
- Gtk+-2.8 (and dependencies)
- libmpd from svn (see above)
- Gob2
- libsm
- libglade
- Libcurl (version 3)
- intltool
- make
- Subversion (te fetch a copy)
En la terminal:
svn co https://svn.musicpd.org/gmpc/trunk/ gmpc/
Dentro de la carpeta:
,/autogen.sh
make
sudo make install
Bookmarks