En esta entrada vamos a mostrar cómo jackificar algunos reproductores populares. En algunos casos, sus salidas se autoconectarán a los system_playbacks y en otros las tendremos que conectar manualmente desde la ventana de conexiones de qjackctl (Jack Control), pestaña Audio. El comportamiento, en cuanto a mostrar los puertos en esta ventana, tampoco es igual para todos. Algunos sólo los mostrarán durante la reproducción y desaparecerán cuando se para. Algún otro será más "jack-friendly" y mostrará puertos mientras la aplicacion esté simplemente levantada. Para los primeros hay un truco para que no desaparezcan los puertos y así poder hacer tranquilamente las conexiones: Reproducir y pausar immediatamente después (el mismo truco que usamos con Audacity cuando va a través de Jack).
Estas instrucciones están probadas en y orientadas hacia ubuntu / ubuntustudio 9.10., aunque en algunos casos el método puede ser similar para otras versiones de ubuntu y para otras distribuciones. Si no se indica lo contrario, todos los reproductores indicados están instalados desde los repositorios oficiales de ubuntu, desde el gestor de paquetes synaptic o método equivalente desde terminal.
La idea de esta entrada no es hacer una evaluación sobre reproductores, cada uno verá. La propuesta es: "Si alguno de estos está entre tus favoritos, aquí tienes cómo hacerlo sonar a través de Jack". He tenido un par de fracasos como veréis. Se agradecen sugerencias. También espero que alguien se anime a aumentar la lista.
Audacious
Instalar el paquete audacious-plugins-extra. Lanzamos jack, lanzamos audacious y con botón derecho sobre la barra de arriba, vamos a preferences, audio y elegimos el "Jack Output Plugin".
Rhythmbox
Necesitamos el paquete gstreamer0.10-plugins-bad
Ejecutamos 'gconf-editor' y en el directorio .../system/gstreamer/0.10/default/ damos el valor 'jackaudiosink' a los nombres 'audiosink', 'chataudiosink' y 'musicaudiosink'. Si no queremos que se autoconecten las salidas del reproductor a los system_playbacks, pondremos: 'jackaudiosink connect=none'
Exaile
Exaile también utiliza gstreamer, así que hay que hacer lo mismo que para rhythmbox. Además, en Editar->Preferencias->Playback, nos aseguramos que el "Audio Sink" es JACK.
VLC
En ubuntu, instalamos el paquete 'vlc-plugin-jack'. Después, desde el menú Herramientas->Preferencias->Audio, elegimos la Salida de Tipo: "Salida de audio JACK".
Si queremos que los puertos de salida se autoconecten a los system_playbacks, editamos:
gedit /.config/vlc/vlcrc
En la línea 750, más o menos, encontramos:
# Automáticamente conectar a clientes escribibles (boolean)
#jack-auto-connect=0
Cambiamos la segunda línea a:
jack-auto-connect=1
Mplayer / gmplayer
Desde línea de comandos, podemos especificar la salida a jack con: 'mplayer -ao jack archivo', para un archivo de audio o video.
Podemos hacer que esto sea permanente editando el archivo '~/.mplayer/config' y añadiendo la línea:
ao=jack
De esta forma, podemos usar mplayer desde línea de comandos, simplemente con 'mplayer archivo'.
Sin embargo, esto no es suficiente para lanzar mplayer con botón derecho sobre el archivo que queremos reproducir (en gnome al menos, esto invoca a gmplayer). Para ello, editamos el archivo '~/.mplayer/gui.conf' y sustituimos la línea:
ao_driver = "pulse,alsa,sdl:aalib" por:
ao_driver = "jack"
(Podemos poner también 'jack,alsa' o 'jack,pulse' en lugar de 'jack' a secas, tanto en 'config' como en 'gui.conf', para permitir que mplayer use alsa o pulseaudio como segunda opción, si jack no está activo).
Aqualung
No hay que hacer nada. Si jack está activo, funcionará con jack (si no, con pulseaudio o alsa). Además, los puertos de salida se muestran en las conexiones de qjackctl incluso cuando aqualung está parado. Ojalá todos los demás hiceran lo mismo.
Amarok
Amarok usa el motor de audio xine. El problema con karmic es que su versión de libxine no incluye soporte para jack. Habría que recompilar libxine... o añadir el repositorio PPA de Motin "https://launchpad.net/~motin/+archive/until-jack-is-included-in-main". Vamos a hacer esto último. Si desplegamos la línea "Technical details about this PPA" vemos que las lineas que hay que añadir a /etc/apt/sources.list. Lo podemos hacer de dos maneras, o editando este archivo y añadiendo estas líneas o bien, desde orígenes del software (en el menú "Sistema->Administración"), pestaña otro software, añadir y copiar las líneas. Para obtener la firma, haremos en terminal:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys xAxAxAxAxA
El código del final es un ejemplo inexistente. Ahí hay que poner la firma (Signing key) del PPA, pero sólo el código que aparece detrás de la barra.
Hecho esto, ya podemos utilizar nuestro gestor de paquetes favorito. Si usamos Synaptic, habrá que recargar. Después buscamos 'libxine' y actualizamos el paquete 'libxine1-plugins' que nos actualizará sus dependencias, entre otras, 'libxine1'. Veremos que la versión de estos paquetes tiene la coletilla "+withjack1" (v. nota 1).
Después en Amarok, Preferencias, Configurar Amarok, Reproducción, Configurar, Preferencia del Dispositivo, Salida de Audio, Música, nos debería aparecer el dispositivo de salida "Jack Audio Connection Kit". Lo seleccionamos y lo subimos arriba del todo con el botón "Preferir". Lo mismo podemos hacer para el resto de salidas de audio; aunque creo que Amarok sólo tendrá en cuenta la que elijamos para música, de esta forma configuramos xine para otros tipo de salida.
Al igual que aqualung, los puertos de salida de xine no desaparecen cuando amarok está parado
Kaffeine
También utiliza xine. Si en la configuración de xine (desde Amarok, como acabamos de ver) hemos elegido Jack para la salida de video, fucionará con Jack a la primera.
flashplayer (youtube, vimeo, myspace, jamendo...)
Hasta hace poco, casi la única forma de tener el flash player como cliente de jack era a través del plugin alsa-jack, que había que recompilar pues ubuntu no trae sporte para jack en su paquete "alsa-plugins". En el PPA de Motin hay una versión de los alsa-plugins con soporte para Jack que nos ahorraría tener que recompilar. Además tendríamos que crear un archivo .asoundrc con cierto código para que esto funcionase. Algunos lo hacen, parece que con mejor resultado, a través del jack audio sink de pulseaudio.
Estos métodos son parches. Ahora lo podemos tener de forma nativa por medio de un plugin aparecido hace unos meses . Manos a la obra:
Necesitamos estos paquetes:
build-essential
git-core
autoconf
automake
libtool
libasound2-dev
libjack-dev
libsamplerate0-dev
libssl-dev
Desde una terminal en el directorio por defecto (/home/usuario):
(Las dos primeras líneas son opcionales; por una cuestión de orden, conviene tener un directorio destinado a los programas en código fuente)
mkdir fuentes
cd fuentes
git clone [url=git://repo.or.cz/libflashsupport-jack.git]git://repo.or.cz/libflashsupport-jack.git[/url]
cd libflashsupport-jack
sh bootstrap.sh
make
sudo make install
Los puertos de salida de flash se autoconectan a los system_playbacks
Otra opción es "pescar" el archivo del directorio /tmp, traerlo a home, chequear los permisos y abrirlo con nuestro reproductor favorito.
Mixxx
Hace falta portaudio19 con capacidad para jack, cosa que no tiene el que trae ubuntu/ubuntustudio karmic. Si hemos añadido el PPA de Motin, como vimos para el caso de amarok, actualizamos el paquete libportaudio2 a la versión "+withjack2" (v. Nota 1).
En Mixxx, vamos a Options->Preferences y elegimos "Jack Audio Connection Kit" como Sound API.
Beneficios colaterales
Gracias a esta versión de portaudio, tenemos soporte Jack para Mscore .
Deseos inclumplidos y soluciones prácticas
TOTEM:
Se supone que debería fucnionar con el hack a gstreamer que hace funcionar a rhytmhbox y a exaile pero no hay manera. No me importa mucho porque tengo VLC, Kaffeine o mplayer / gmplayer.
FIREFOX plugins :
No he conseguido que ninguno funcione con jack dentro de firefox. ¿Alguna idea? Como alternativa, en Editar, Preferencias, Programas, he optado por abrir los archivos multimedia mediante /usr/bin/vlc. De esta forma los descarga y los abre en vlc externamente de forma automática, incluida la conexión a los system:playbacks.
AGRADECIMIENTOS
No descubro nada. Todo esto ya está escrito y lo he leído en varios sitios. Lo del flash player es a partir de un aviso de Rakarrack Team hace poco en este foro de Hispasonic, con apunte oportuno de lgarrido, pues me estaba volviendo loco con las sugerencias de Raka. En general, gracias a todos los que lo han explicado y a los que lo hacen posible con su código.
Nota 1: Creo que esto no tiene nada que ver con Jack1 (versiones 0.xxx.x) o Jack2 (versiones 1.9.x). Parece un número que se ha quedado colgado atrás.
http://www.semicorchux.blogspot.com
"Ayuda para hacer música con Linux"