Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

GráficosSonidoVídeo

Reproductores Musicales - QuimupReproductores Musicales - XMMS2

Reproductores Musicales - XMMS




Reproductores Musicales - XMMS




Copyright

Copyright © José Luis Lara Carrascal  2007-2023   http://manualinux.es



Sumario

Introducción
Preliminares
XMMS
XMMPlayer
Configuración de XMMPlayer
Iniciamos XMMS
Enlaces




Introducción
       
XMMS es el reproductor musical por excelencia del mundo Unix y tras un largo periodo sin dar señales de vida, vuelve con una nueva versión que supone la despedida de su autor del desarrollo de este mítico programa. Sería una pena que este excelente reproductor musical pasara al mundo de los olvidos, porque en GNU/Linux no andamos sobrados de programas de la calidad del que a continuación trataremos su instalación.



Preliminares  

1) Configurar GTK1 para que muestre correctamente las locales en sistemas con codificación UTF-8


Para que los acentos y las eñes se muestren de forma correcta en las aplicaciones escritas en GTK1, en sistemas con las locales establecidas en es_ES.UTF-8, abrimos un editor de texto y añadimos lo siguiente:

style "gtk-default" {
       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso10646-1,\
                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso10646-1,\
          -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso10646-1,\
          -*-arial-medium-r-normal--12-*-*-*-*-*-iso10646-1,*-r-*"
}
class "GtkWidget" style "gtk-default"

Lo guardamos con el nombre gtkrc.es_ES.utf8, y lo instalamos en /etc/gtk.

$ su
# install -dm755 /etc/gtk
# install -m644 gtkrc.es_ES.utf8 /etc/gtk



XMMS  

Instalación

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado XMMS para la elaboración de este documento.

* GCC - (13.1.0)
* Gawk - (5.2.2)
* M4 - (1.4.19)
* Libtool - (2.4.7)
* Make - (4.4.1)
* Automake - (1.16.5)
* Gettext - (0.22)
* Autoconf - (2.71)
* Bison - (3.8.2)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 21.1.8)
   LibX11 - (1.8.6)
   LibXxf86vm - (1.1.5)
* ALSA - (1.2.9)
* ESD - (0.2.41)
* Glib - (1.2.10)
* GTK+ - (1.2.10)
* Libmikmod - (3.3.11.1)
* Libogg - (1.3.5)
* Libvorbis - (1.3.7)
* Mesa - (23.1.3)
* Zlib - (1.2.13)

Aplicaciones

* Wget - (1.21.4) [1]
* Convert (ImageMagick) - (7.1.1-13) [2]

[1] Requerido para poder descargarnos un icono desde la web de XMMS.
[2] Requerido para poder crear los iconos del archivo desktop.



Descarga

xmms-1.2.11.tar.bz2  |  xmms-pieles.tar.bz2

Optimizaciones

$ export {C,CXX}FLAGS='-O3 -march=znver3 -mtune=znver3'

Donde pone znver3 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Valores CPU
Genéricos
Intel
AMD

Optimizaciones adicionales

Optimizaciones adicionales
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'

Parámetros adicionales

Establecer el estándar de lenguaje de programación correcto para C
GCC 5 y superiores
$ export CFLAGS+=' -std=gnu89'

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=' -L/usr/lib64 -L/usr/local/lib64 -L/opt/gcc13/lib64'
Cada usuario tendrá que establecer la ruta de búsqueda de directorios, en función de la distribución que utilice.

Establecer el uso de enlazador dinámico para Mold
$ export LDFLAGS+=' -fuse-ld=mold'

Extracción y Configuración  Bloc de Notas Información general sobre el uso de los comandos

$ tar jxvf xmms-1.2.11.tar.bz2
$ cd xmms-1.2.11
$ sed -i '4192a\\tputenv("XLIB_SKIP_ARGB_VISUALS=1");' xmms/main.c
$ ./configure --prefix=/usr --mandir=/usr/share/man \
--disable-static --libdir=/usr/lib64

Explicación de los comandos

sed -i '4192a\\tputenv("XLIB_SKIP_ARGB_VISUALS=1");' xmms/main.c : Soluciona el siguiente error de ejecución del programa en aquellos sistemas que tienen activada la extensión XComposite de Xorg:

[jose@localhost ~]$ xmms
Message: device: default
Gdk-ERROR **: BadMatch (invalid parameter attributes)
  serial 211 error_code 8 request_code 2 minor_code 0

--prefix=/usr : Instala el programa en el directorio principal /usr.

--mandir=/usr/share/man : Instala las páginas de manual del programa en /usr/share/man, en lugar de /usr/man.
--disable-static : Desactiva la compilación de las librerías estáticas, al no ser necesarias para la ejecución del programa.

--libdir=/usr/lib64 : Instala las librerías en /usr/lib64, en sistemas de 64 bits multiarquitectura. La ubicación y el nombre de este directorio, puede variar en función de la distribución que cada usuario use.

Compilación

$ make 

Parámetros de compilación opcionales  

-j$(nproc): Establece el número de procesos de compilación en paralelo, en función del número de núcleos e hilos que tenga nuestro procesador, tomando como referencia la información mostrada por el sistema con el comando correspondiente. Si nuestro procesador es mononúcleo de un solo hilo, no añadir esta opción.

Instalación como root

$ wget -c http://xmms.org/files/icons/xmms-benjamin_p_jung.png -O xmms.png
$ su
# make install-strip
# ldconfig -v
# for i in /usr/share/icons/hicolor ; do \
install -dm755 $i/{16x16,24x24,32x32,48x48,64x64,128x128}/apps ; \
install -m644 xmms.png $i/128x128/apps ; \
convert -resize 64x64 xmms.png $i/64x64/apps/xmms.png ; \
convert -resize 48x48 xmms.png $i/48x48/apps/xmms.png ; \
convert -resize 32x32 xmms.png $i/32x32/apps/xmms.png ; \
convert -resize 24x24 xmms.png $i/24x24/apps/xmms.png ; \
convert -resize 16x16 xmms.png $i/16x16/apps/xmms.png ; \
gtk-update-icon-cache -tf $i &> /dev/null ; \
done

Explicación de los comandos

wget -c http://xmms.org/files/icons/xmms-benjamin_p_jung.png -O xmms.png : Nos descargamos con Wget, un icono de la web del programa, para crear los iconos del archivo desktop.

for i in /usr/share/icons/hicolor..... : Crea e instala los iconos del programa, en sus diferentes medidas compatibles con el estándar de tamaño de icono de freedesktop.org.
 
Borrar las locales adicionales instaladas con la utilidad BleachBit

# bleachbit -c system.localizations

Instalar el paquete de pieles adicionales para XMMS

# install -dm755 /usr/share/xmms/Skins
# tar jxvf xmms-pieles.tar.bz2 --strip-components=1 -C /usr/share/xmms/Skins

Creación del archivo xmms.desktop

Para que XMMS sea detectado por los menús de entornos gráficos como XFce 4 o paneles como LXPanel o Fbpanel, creamos el archivo desktop correspondiente con cat o con un editor de texto:

# cat > xmms.desktop << "EOF"
[Desktop Entry]
Name=XMMS
GenericName=Reproductor musical
Comment=El Winamp de GNU/Linux
Exec=xmms
Icon=xmms
Categories=Application;AudioVideo;Player
MimeType=audio/x-scpls;audio/x-mpegurl;audio/mpegurl;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/x-wav;application/x-ogg
Type=Application
EOF

Luego lo instalamos en /usr/share/applications. La desinstalación y respaldo de este archivo viene incluida en los scripts correspondientes proporcionados en este manual.

$ su
# install -m644 xmms.desktop /usr/share/applications
# update-desktop-database

Estadísticas de Compilación e Instalación de XMMS (incluido XMMPlayer)

Estadísticas de Compilación e Instalación de XMMS (incluido XMMPlayer)
CPU AMD Ryzen 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Tarjeta gráfica AMD Radeon RX 580 2048SP
Controlador de gráficos AMDGPU 23.0.0
Sistema de archivos XFS
Versión del Kernel 6.4.3-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Versión de Glibc 2.37
Enlazador dinámico Mold 1.11.0
Compilador GCC 13.1.0
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -ftree-loop-linear -floop-strip-mine -floop-block -fipa-pta
Parámetros de compilación -j12
Tiempo de compilación 10"
Archivos instalados 91
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 2
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 4,9 MB

Consumo inicial de CPU y RAM de XMMS

Consumo inicial de CPU y RAM de XMMS
Programa
CPU RAM
xmms 0 % 16,1 MB
Para medir el consumo de CPU se utiliza el programa top, y para medir el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace.

Directorio de configuración personal

~/.xmms Es el directorio de configuración personal de XMMS en nuestro home.
~/.xmms/Plugins Es el subdirectorio de los complementos de XMMS, en el caso de que los queramos instalar en el mismo. Normalmente se compilan e instalan en /usr/lib/xmms/Plugins.
~/.xmms/Skins Es el subdirectorio de las pieles de XMMS, donde podemos colocar las que nos bajemos de internet.

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

El principal inconveniente del comando anterior es que tenemos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas.

xmms-1.2.11-scripts.tar.gz

$ su
# tar zxvf xmms-1.2.11-scripts.tar.gz
# cd xmms-1.2.11-scripts
# ./Desinstalar_xmms-1.2.11

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su
# tar zxvf xmms-1.2.11-scripts.tar.gz
# cd xmms-1.2.11-scripts
# ./Respaldar_xmms-1.2.11

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_xmms-1.2.11



XMMPlayer  

Complemento para XMMS que nos permite reproducir archivos de vídeo mediante el uso de MPlayer

Instalación

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado XMMPlayer para la elaboración de este documento.

* GCC - (13.1.0)
* Gawk - (5.2.2)
* M4 - (1.4.19)
* Libtool - (2.4.7)
* Make - (4.4.1)
* Automake - (1.16.5)
* Autoconf - (2.71)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 21.1.8)
* GTK+ - (1.2.10)
* XMMS - (1.2.11)

Aplicaciones

* MPlayer - (SVN-r38432)



Descarga

xmmplayer-0.3.3.tar.bz2  |  xmmplayer-0.3.3_MKV.diff

Optimizaciones

Optimizaciones adicionales

Optimizaciones adicionales
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'

Parámetros adicionales

Establecer el estándar de lenguaje de programación correcto para C
GCC 5 y superiores
$ export CFLAGS+=' -std=gnu89'

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=' -L/usr/lib64 -L/usr/local/lib64 -L/opt/gcc13/lib64'
Cada usuario tendrá que establecer la ruta de búsqueda de directorios, en función de la distribución que utilice.

Establecer el uso de enlazador dinámico para Mold
$ export LDFLAGS+=' -fuse-ld=mold'

Extracción y Configuración  Bloc de Notas

$ tar jxvf xmmplayer-0.3.3.tar.bz2
$ cd xmmplayer-0.3.3
$ patch -Np1 -i ../xmmplayer-0.3.3_MKV.diff
$ ./autogen.py
$ sed -i 's:/lib/xmms/Input:/lib64/xmms/Input:' configure
$ ./configure --prefix=/usr

Explicación de los comandos

patch -Np1 -i ../xmmplayer-0.3.3_MKV.diff : Aplicamos este parche personal que añade soporte de reproducción de archivos MKV, FLV, MP4 y WMV a XMMPlayer.

./autogen.py : Actualiza los scripts de configuración del paquete para poder compilarlo de forma correcta en sistemas de 64 bits multiarquitectura.

sed -i 's:/lib/xmms/Input/:/lib64/xmms/Input:' configure : Modifica el script de configuración del paquete, para poder instalar el complemento en /usr/lib64, en sistemas de 64 bits multiarquitectura, ya que la opción de configuración --libdir no es funcional en este paquete. La ubicación y el nombre de este directorio, puede variar en función de la distribución que cada usuario use.

Compilación

$ make 

Parámetros de compilación opcionales

Instalación como root

$ su -c "make install-strip"

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX



Configuración de XMMPlayer  

Para acceder a los opciones de configuración de XMMPlayer, seleccionamos Opciones >> Preferencias del menú de XMMS y en la pestaña de Plugins de entrada, con la selección en MPlayer plugin 0.3.3, hacemos clic en Configurar.

Captura - XMMS - XMMPlayer - 1


Captura - XMMS - XMMPlayer - 2


Las opciones predefinidas del complemento son suficientes para poder visualizar los vídeos. En el caso particular de las tarjetas gráficas de NVidia, si la regulación del brillo no funciona con las teclas 3 y 4, cambiar el driver de vídeo a gl2, en las opciones de MPlayer.

Captura - XMMS - XMMPlayer - 3




Iniciamos XMMS  

Sólo nos queda teclear en una terminal o en un lanzador el comando xmms, y el programa aparecerá en la pantalla.


Captura - XMMS - 1


Captura - XMMS - 2


Captura - XMMS - 3




Enlaces  


http://legacy.xmms2.org >> El sitio oficial archivado de XMMS.

http://www.xmms.org >> El dominio original, que fue vendido por el patrocinador del programa, opensound.com, sin el consentimiento de los programadores de XMMS.

Búsqueda de software relacionado con XMMS (incluidos los plugins).

SourceForge


Foro Galería Blog


Actualizado el 17-07-2023

Reproductores Musicales - XMMS

Reproductores Musicales - QuimupReproductores Musicales - XMMS2