Amarok ahora si reproduce mp3 en Slackware -current

amarok-logo Desde hace varias semanas hice una actualización de mi sistema a Slackware -current y desde entonces he tenido el problema de que Amarok, el reproductor de música que uso en KDE, no reproduce ningún archivo en formato mp3, aunque si reproduce bien los archivos ogg. Otros reproductores de música instalados en el sistema reproducen archivos mp3 sin problemas. Para no quedarme sin escuchar música, todo este tiempo he estado usando el reproductor qmmp, que tuve que instalar desde SlackBuilds.org.

El problema con Amarok es que usa el paquete gst-plugins-ugly (que se debe instalar desde SBo) para reproducir mp3, y en la versión -current este paquete no se podía compilar. Yo incluso tuve que hacer uso de otras fuentes para obtener gst-plugins-ugly, como repos de usuarios que publicaban tanto sus propios scripts para compilar o el paquete ya precompilado. Nada de esto me funcionó.

Sin embargo, con las actualizaciones de estos días (Julio 2015) ya es posible compilar e instalar el paquete pero ahora se llama gst1-plugins-ugly, para hacerlo solo hay que ejecutar el comando:

# sbopkg -ri gst1-plugins-ugly

Los paquetes gstreamer y sus plugins ya se encontraban desde antes en SlackBuilds.org, solo que se conservan en dos versiones diferentes, la 0.10.x y la 1.x, imagino que solo había que instalar la versión adecuada de todos los paquetes. Como he estado usando otro reproductor esto ya no lo pude comprobar. Pero ahora, como ya se actualizaron estos paquetes en Slackware -current de manera oficial intenté instalar únicamente gst1-plugins-ugly y funcionó. Amarok reproduce música en mp3 de nuevo.

Enjoy!

Amarok con MySQL

Amarok es un programa excelente, es sin duda uno de los más populares reproductores entre la comunidad de linuxeros y es de esas pocas aplicaciones que los usuarios de Windows desean sin poder tenerla.

Aquellos que como yo usen Amarok para administrar y reproducir su colección de mp3, se habrán dado cuenta de que corre bastante lento con una colección de tamaño muy grande, incluso hay quien dice que con unas 3,000 pistas Amarok ya empieza a tener problemas. Esto debido a que por omisión utiliza una base de datos SQLite para manejar los datos, y cuando estos son muchos el programa empieza a volverse lento.

En mi caso Amarok tardaba unos dos minutos en iniciar y en general todo el sistema se volvía un poco lento, con mi colección de unos 77 GB.

Una solución para a esto es hacer que Amarok use MySQL para administrar la colección de música, para ello lo primero que hay que hacer es tener instalado Amarok y MySQL, en el caso de una instalación completa de Slackware 14 ambos vienen instalados. Yo estoy utilizando Slackware 14 con KDE 4.9.2, Amarok 2.6 y MySQL 5.5.27.

Luego hay que ejecutar MySQL en el caso de que no se esté ejecutando ya, para ello primero se le dan los permisos de ejecución y luego se inicia:

# chmod +x /etc/rc.d/rc.mysqld
# /etc/rc.d/rc.mysqld start

Luego entrar en el prompt de MySQL:

# mysql -u root -p

En mi caso salió el siguiente error:

error: 'Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysql/mysql.sock' exists!

Para solucionarlo utilicé el script que viene el el sistema para instalar base de datos en el directorio /usr/bin:

# /usr/bin/mysql_install_db

Hay que darle los permisos correctos a los directorios que utiliza, haciendo que el directorio pertenezca al grupo y usuaio mysql, lo hice con los dos directorios siguientes solo para estar seguros :).

# chown -R mysql:mysql /var/run/mysql/
# chown -R mysql:mysql /var/lib/mysql/

Iniciando MySQL:

# mysqld_safe &

Ahora hay que crear una contraseña para el usuario root:

# mysqladmin -u root password 'aquí_la_contraseña'

La contraseña debe ir entre comillas sencillas. Ahora si iniciar y si todo va bien, aparecerá un mensaje de bienvenida:

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.27-log MySQL Community Server (GPL)

Ejecutar los comandos siguientes, el primero es para crear una base de datos que se llame amarokdb, luego especificar que se usará mysql, crear un usuario llamado amarokuser asignarle una contraseña y los permisos necesarios en el servidor local. Finalmente salir y el programa tan educadamente se despedirá.

mysql> CREATE DATABASE amarokdb;
mysql> USE mysql;
mysql> GRANT ALL ON amarokdb.* TO amarokuser@localhost IDENTIFIED BY 'contraseña_de_amarokuser';
mysql> FLUSH PRIVILEGES;
mysql> quit
Bye

Y para segurarnos de que ya está el archivo que faltaba…

# ls -l /var/run/mysql/

Aparecerá:

srwxrwxrwx 1 mysql mysql 0 oct 28 00:36 mysql.sock

Finalmente hay que abrir Amarok e ir a Preferencias > Configurar Amarok > Base de datos y marcar la casilla que dice Utilizar base de datos MySQL externa. Con los comandos del promt de MySQL la configuración de Amarok coincide, solo hay que ponerle la contraseña que utilizamos para amarok user y listo, reiniciar Amarok para que los cambios tengan efecto.

Amarok con MySQL

Como resultado tenemos que Amarok sigue tardando un poco al iniciar aunque ya es menos que antes, y hay un a considerable mejoría en la estabilidad del programa una vez iniciado todo fluye como el agua y los cambios hechos en el directorio de la colección se reconocen al instante.

NOTA: Si cada vez que se inicia Amarok toda la lista de canciones vuelve a cargarse, hay que asegurarse de que el directorio de Colección esté marcado ;).

Saludos.

Fuentes:

Mini Turoriales GNU
Viva o Linux