Lo primero que debo aclarar antes de empezar éste post es que la forma de reproducir música con éstas herramientas es completamente diferente a la tradicional. Si no te interesa reproducir música como un verdadero geek entonces huye y busca otras aplicaciones, éstas no son para tí.

Si eres valiente, continuemos entonces. MPD es un demonio (o sea un servicio) para reproducir música, corre en segundo plano y no tiene interfaz gráfica. De hecho se inicia como cualquier otro servicio de tu equipo (red, hal, udev, etc).

¿Cómo demonios hago para interactuar con él? te preguntarás. Sencillo, está basado en una arquitectura cliente-servidor así que existen aplicaciones que se comunican con él (clientes) y que te permiten manejarlo. Ahí es donde entra Sonata y compañía.

Lo primero que debemos hacer es instalar las dependencias:

# aptitude install mpd mpc sonata

Yo instalaré 2 clientes, Sonata y MPC, porque quiero controlar la reproducción vía SSH desde mi celular xD (sí, sí, muy geek... pero me gusta la comodidad)

Luego vamos a nuestro directorio personal, creamos la carpeta .mpd y dentro de ésta creamos dos carpetas más, playlists y music

$ cd ~
$ mkdir -p .mpd/playlists
$ mkdir -p .mpd/music


Dentro de la carpeta .mpd creamos los archivos mpd.db, mpd.log y mpd.error

$ touch .mpd/mpd.db
$ touch .mpd/mpd.log
$ touch .mpd/mpd.error


Ahora, por cada carpeta de música que tengamos en nuestro sistema creamos un enlace simbólico dentro de music:

$ ln -s /ruta/de_la/carpeta1 .mpd/music
$ ln -s /ruta/de_la/carpeta2 .mpd/music
...


Luego (como root) editamos el archivo de configuración del MPD en /etc/mpd.conf y modificamos las siguientes opciones:

music_directory     /home/tu_usuario/.mpd/music
playlist_directory /home/tu_usuario/.mpd/playlists
db_file /home/tu_usuario/.mpd/mpd.db
log_file /home/tu_usuario/.mpd/mpd.log
error_file /home/tu_usuario/.mpd/mpd.error


Comentamos la línea de usuario para evitar problemas con los permisos:

#user             "mpd"


Y buscamos el apartado de audio y lo configuramos para ALSA o para PulseAudio:

ALSA:
audio_output {
type "alsa"
name "My ALSA Device"
}


PulseAudio:
audio_output {
type "pulse"
name "My PulseAudio Device"
}


Establecemos un mezclador por software descomentando la siguiente línea:

mixer_type "software"

Y voilá! Luego reiniciamos el servicio y creamos la base de datos de tags:

# /etc/init.d/mpd restart --create-db

Ahora desde Sonata (o desde mpc) agregamos las canciones que queramos a la lista y empezamos a disfrutar. Es tan genial ésta combinación que podemos cerrar el Sonata e incluso hasta la sesión gráfica y la música seguirá sonando.

Nos quedará algo tan mínimo como esto:


O en su versión extendida:


Y con unas agradables notificaciones:


Díganme... ¿No es una maravilla? Bueno de aquí en adelante los dejo para que experimenten y se enamoren.

Me considero una persona tolerante y abierta a las críticas y sugerencias. No hay cosa que me guste más que el feedback de las personas sobre las cosas que hago y más aún sobre Turpial. Sin embargo cosa que no tolero es la mediocridad.

He decidido crear este post para colocar la respuesta que le he dado a @MichelEnLaRed respecto a algunos comentarios que me ha hecho por Twitter sobre Turpial, que en lugar de contribuir al desarrollo del proyecto empañan todo el esfuerzo que duramente se viene haciendo. No pretendo agregar nada a la respuesta que le dí por Twitter, solo la pegaré aquí para unificarla y permitir su mejor lectura.

El comentario que derramó la gota fue el siguiente (sí, hubo 3 o 4 comentarios previos en el mismo tono que dejé pasar por consideración y tolerancia):


Mi respuesta fue:

No había querido responder tus comentarios porque no tenía nada bueno que decirte, pero ya que insistes me tomaré la molestia.

1.- No sé de dónde sacas información para formar juicios de valor sobre mi incapacidad para solventar el cuelgue de Turpial, no estás suscrito a la lista de desarrollo, no te conectas al canal IRC, ni siquiera te veo involucrado como colaborador. Para tu información actualmente estoy usando la API nueva que he diseñado para resolver los problemas de Turpial, pero
está en estado experimental. En el desarrollo de software primero se prueban las cosas antes de lanzarlas al público, son controles de calidad y pruebas q debe pasar la aplicación antes de que pueda ser "usada" por el público en general. Pero veo que no conoces mucho al respecto y por eso lanzas esa sarta de comentarios estériles que en lugar de contribuir desmeritan el fuerte trabajo que he estado haciendo estos últimos días para que ustedes puedan disfrutar de un buen cliente.

2.- Soy una persona con un trabajo de verdad y una vida de verdad, nada me gustaría más que poder dedicarle el 100% de mi tiempo al Turpial, pero lamentablemente eso no me da para comer en estos momentos, así que los pocos instantes libres que me quedan al día son los que invierto en desarrollar el Turpial. Considera eso antes de llamar "incapaz" a otra persona.

3.- Si no te gusta el desempeño de Turpial o te parece que no programo lo suficientemente rápido pues usa otro cliente y ya. Hay centenares de clientes de twitter allí afuera esperando por tí, que no se cuelgan y con programadores realmente "capaces". Turpial es un hobby para mí y la idea es que la comunidad pueda disfrutar, beneficiarse y sentirse a gusto con mi hobby y pues con eso poner en alto el nombre de nuestra patria, hay mucho talento en éste país y debemos sacarle provecho.

No tienes ningún compromiso para usar Turpial, eres libre de escoger... así como el software, completamente libre. Si realmente deseas apoyar Turpial entonces razona y analiza las cosas antes de decirlas, involucrate y colabora, así funciona el software libre y es uno de los principios básicos del socialismo, unión, comunidad, participación...

La mejor forma de cambiar las cosas es formando parte de ellas, no necesitas ser programador para ayudar a Turpial, existen muchas cosas por hacer, eres bienvenido siempre y cuando tus ganas sean de trabajar y de hacer las cosas mejor pero no si lo que tienes es ganas de joder, eso se lo dejamos a los mediocres. Puedes empezar leyendo el archivo de la lista de correos http://smlk.es/6JfSkX, y si gustas únete y aporta tus ideas como un ser racional, pensante e inteligente que eres.

Saludos y gracias por el apoyo

Me disculpo de antemano si hiero algunas susceptibilidades pero las cosas son como son. Las críticas, cuando son constructivas, vienen acompañadas de un planteamiento o una solución.

Mis 2 lochas

Hace unos días mi buen amigo Deivinson Tejeda (desarrollador del framework KumbiaPHP) me comentó sobre un nuevo acortador de URLs hecho en España llamado SigueMiLink.

Se preguntarán: ¿Bueno y cuál es la gracia del asunto? Pues lo interesante del asunto es que:

  1. El acortador de URLs SigueMiLink está hecho en KumbiaPHP
  2. Los creadores de SigueMiLink le plantearon a Deivinson la posibilidad de incluirlo en Turpial
  3. Turpial y KumbiaPHP son como proyectos hermanos :) (ambos son Venezolanos)

Al parecer todo se confabuló para crear un círculo de apoyo entre los 3 proyectos y así fue. Ahora me complace anunciar que Turpial soporta a SigueMiLink como nuevo servicio acortador de URLs y que tanto los amigos de SigueMiLink como los de KumbiaPHP apoyan fuertemente a Turpial.

Ojalá se puedan repetir más situaciones como ésta, en la que varios proyectos pueden colaborar entre sí por un fin común... La libertad del software :D