martes, 7 de abril de 2009

Elisa Media Center + Lirc

Hoy vamos a aprovechar el control remoto RM-900 de Creative (incluido en las SB Live y las Audigy con el rack interno conocido como "LiveDrive"), y con las virtudes del soft. libre vamos a echar a andar un autentico media center que NO tendrá nada que envidiarle a ningún software privado, os aseguro una combinación muy potente y muy multimedia, jeje.

Añadiré que yo usare el control remoto de creative por que es el que tengo, pero se podrían usar infinidad de controles, mas adelante se incluye un enlace a los mandos compatibles con Lirc.

Empecemos la instalación y configuración:

Configurar el soporte IR en el Núcleo

Lo primero es hacer que en los módulos del kernel se cargue el control del dispositivo IR (Infra-Red). En mi caso concreto dado que el dispositivo esta incluido en el rack de mi Sound Blaster Audigy, tuve que añadir un parámetro para que cargase el driver de sonido con el IR activado (snd-emu10k1 en mi caso) . Para eso tuve que editar el fichero /etc/modprobe.d/options:
sudo nano /etc/modprobe.d/options
Y añadir la opción para el modulo de sonido al final del fichero:
options snd-emu10k1 enable_ir=1
es decir --> options (nombre del modulo) (parámetro)=(opción del parámetro)
Para volver a cargar el módulo de sonido tan solo reinicié mi computadora.

Los pasos anteriores variaran depende del receptor de IR que dispongáis. Según tengo entendido los controles "Media Center" que se venden, basta con enchufar el receptor USB tras la instalación de Lirc. Sería de agradecer la confirmación de esto... Pero prosigamos:

Instalar y configurar Lirc

Instalad Lirc desde los repositorios oficiales:
sudo aptitude install lirc
Durante la instalación nos hará dos preguntas; a la primera respondemos el nombre del control remoto, por ejemplo un mando Media Center, de ATI o bien el de alguna sintonizadora como Pinnacle, Avermedia, Hauppauge... (En el caso del RM-900, me funcionó eligiendo Creative LiveDrive sequencer )
A la segunda pregunta lo normal es elegir none (ninguno). Esto se puede modificar mas tarde manualmente, pero si no os queréis complicar podéis hacer que os vuelva a hacer las dos preguntas con este comando:

sudo dpkg-reconfigure lirc
NOTA: El comando dpkg-reconfigure sirve para reconfigurar cualquier paquete/programa.

Tras finalizar se crearan nuevos dispositivos (/dev/lircd) y ficheros de configuración (/etc/lirc/lircd.conf y /etc/lirc/hardware.conf).... Para el caso concreto de mi mando seguía sin funcionar, así que fui a la web de Lirc (www.lirc.org) y busqué el enlace a config files for supported remote controls o "ficheros de configuración para controles remotos soportados" (http://lirc.sourceforge.net/remotes/), allí localice el fichero acorde a mi control en creative/RM-900 y lo descargué (si os fijáis esta perfectamente ordenado por nombre de fabricante). Después solo tuve que substituir el contenido de /etc/lirc/lircd.conf por el de RM-900:
wget http://lirc.sourceforge.net/remotes/creative/RM-900
sudo cp /etc/lirc/lircd.conf /etc/lirc/lircd.conf.old
sudo cp RM-900 /etc/lirc/lircd.conf
sudo /etc/init.d/lirc restart <--- Reinicia Lirc y carga el nuevo lircd.conf
Repito que estos 4 comandos son "especiales" para mi control Remoto, puede que no tengais que hacerlos o que tengáis que usar otro fichero de configuración....

En fin... como sabemos que el mando funciona? para eso esta el comando irw (viene con Lirc). Simplemente ejecutadlo en consola y apuntando al receptor pulsad algún botón, si irw recibe alguna pulsación lo notificara.


Si veis algo parecido ya tenemos el Lirc correctamente configurado con el control remoto, genial! Finalizad la aplicación con la combinación <Ctrl + C>.

Esto (el irw) nos permitirá configurar el mando para usarse con muchos programas dado que nos informa del nombre de cada tecla para así poder usarlo y asignarle opciones a las teclas para varios programas... veremos al menos un par de ejemplos aplicados a Elisa Media Center ;)

Instalar Elisa Media Center y configurar su uso con Lirc

La versión de Elisa que hay en los repositorios de ubuntu es algo antigua y no traía los plugins necesarios para usar Lirc, así que añadí a mis repositorios los PPA de launchpad del proyecto Elisa. Muy bien, vamos por pasos:

Primero vamos a la web de Elisa Media Center (http://elisa.fluendo.com). En la sección de "Download" has de buscar el enlace PPA, debajo del botón "Download Now" (https://launchpad.net/~elisa-developers/+archive/ppa). Hay podemos copiar las dos lineas que debemos añadir a nuestro /etc/apt/sources.list , las lineas serian estas:
deb http://ppa.launchpad.net/elisa-developers/ppa/ubuntu intrepid main
deb-src http://ppa.launchpad.net/elisa-developers/ppa/ubuntu intrepid main
Así pues, editamos el fichero:
sudo gedit /etc/apt/sources.list
y añadimos las lineas con algún comentario previo, por ejemplo:


Este repositorio requiere una clave, la podéis conseguir siguiendo el enlace que hay donde pone: "This repository is signed with X/Y OpenPGP key", donde X son los Bits de la clave e Y el nombre de la clave. Al pulsar el enlace nos lleva a otro sitio donde estará el enlace a la clave que al pulsarlo nos dará el contenido de esta, en fin crearemos un fichero de texto:

gedit ~/ppakey
y pegamos el contenido de la clave:

-----BEGIN PGP PUBLIC KEY BLOCK----- Version: SKS 1.0.10 mI0ESXdj/QEEALc7PoFD3FA7zpcCyIMsicWm5MULrfwm7DzauHe9pf6EhXccAvFWHUxI9KJ/ dHgUzHzJkQ1Y4W2EBXGSdPcIm3VI5c2+RbZhFDszGDgxqFYxOEHAodMu7IYXPEUUyBOeLS1L hjDqnRsrj+P195tjh/igPTxNgEJcxfpQ16S6yMLVABEBAAG0IkxhdW5jaHBhZCBQUEEgZm9y IEVsaXNhIERldmVsb3BlcnOItgQTAQIAIAUCSXdj/QIbAwYLCQgHAwIEFQIIAwQWAgMBAh4B AheAAAoJEHxbrRMgoNHaw3ED/0c4bPBXwVfOJyw48/wRxQxHFdUZyEMH7QZhMjy5U8/QTrNa NzFUOrb8rjJsAv/XNEUVgmg6U0bmiyONypAl4ogrQRuujaQHrAwLNmRekugzYxNNMNF9ikA2 bldCQBGk3MpjEqGk5dbBtUVgkFOfLb2Sv926x7kXuldJgvZWOGwM =Jt4M -----END PGP PUBLIC KEY BLOCK-----
Guardamos y cerramos gedit. Ahora vamos a Sistema -> Administracion -> Origenes del software y en la pestaña Autenticación pulsamos el botón Importar clave... y seleccionamos en el navegador el archivo previamente creado con el contenido de la clave (~/ppakey).
Ahora actualizamos apt:
sudo aptitude update
y ahora si, instalamos la ultima versión de Elisa Media Center con un simple:
sudo aptitude install elisa
Lo podéis ejecutar desde el menú de Aplicaciones -> Sonido y Vídeo -> Elisa Media Center o desde la terminal escribiendo:
elisa


Vamos a configurar el control a través del Lirc, primero nos movemos a la ruta del plugin para Lirc de Elisa:
cd /usr/lib/python2.5/site-packages/elisa/plugins/lirc
Y ejecutamos el script para cree el fichero con el mapeado de teclas del mando:
python setup_lirc.py ~/remotename.map
Al ejecutarlo te pedirá que vayas pulsando una serie de teclas del mando, la tecla que quieres usar para mover a derecha, a la izquierda, el play, etc... Cuando no te queden mas teclas que pulsar solo pulsa de nuevo la tecla OK del mando y la aplicación finalizara creando el fichero remotename.map
Lo copiamos a donde debe estar:
sudo cp ~/remotename.map /usr/lib/python2.5/site-packages/elisa/plugins/lirc/map_files/
Y ahora solo falta configurar el fichero de configuración de Elisa:
sudo gedit ~/.elisa-0.5/elisa_0_5_6.conf (Los números de versión pueden variar, recordad auto-completar con el Tabulador)
Buscamos la sección: [lirc.lirc_input:LircInput] y deberemos dejarla más o menos así:
[lirc.lirc_input:LircInput]
# the lirc deamon device
device = '/dev/lircd'
# Path to the file containing the lircmapping
input_map = 'remotename.map'
Ahora en la sección [General] buscamos la opción input_providers y la dejamos así:
input_providers = ['lirc.lirc_input:LircInput']
Y ya esta!! Esto es todo... Inicia el Elisa Media Center (cierralo antes si lo tenias abierto) y disfruta manejándote con el mando, escucha tu musica, ve tus vídeos e imágenes, mira vídeos de youtube y otros, las imágenes de Flikr, incluso las emisoras de radio de shoutcast y yes.fm... y todo desde el sofá con el mando ;)

Configuración avanzada de Elisa y Lirc

De hecho si configurasteis una tecla del mando para la opción "Exit" al pulsar dicha tecla puedes salir del programa (Elisa).

Solo faltaría que se abriese el programa pulsando una tecla del mando a distancia, así que vamos a hacerlo también para que no quede nada en el tintero. Crearemos primero el fichero ~/.lircrc:
gedit ~/.lircrc
Añadiremos algo como esto:
include ~/.lirc/elisaMC
Cierra gedit y ahora crearemos la carpeta oculta .lirc/ y dentro el fichero elisaMC. Esto nos va a permitir más adelante crear otros ficheros para controlar otros programas, pero centrémonos en lo que nos ocupa:

mkdir ~/.lirc
gedit ~/.lirc/elisaMC
En el fichero añadid el siguiente texto:
begin
prog = irexec
button = eax
config = exec elisa
end
Habreis de substituir eax por el nombre de la tecla que queréis que inicie el programa. Y como saber el nombre de cada tecla del mando? Pues como dije antes con el programa irw. Ejecutáis irw en consola y pulsáis la tecla del mando que queréis usar para arrancar el Media Center. Debería salir una linea del tipo:
0000000083228c73 00 eax Creative_RM900
El tercer campo es el nombre de la tecla y el cuarto el nombre del control remoto. El primero también hace referencia al nombre de la tecla pero en formato numérico y el segundo ni idea jeje. Resumiendo, cambiad lo que os salga a vosotros como nombre de la tecla por donde yo puse eax en el fichero elisaMC y guardad los cambios.

Para que esto funcione el programa irexec debe estar funcionando, asi que ejecutalo en una consola:

irexec --> Se ejecuta ocupando la terminal.
o bien:

irexec -d --> Se ejecuta en segundo plano, dejando libre la terminal

Cerrad el Media Center (si lo teníais abierto) y reiniciad el servicio de Lirc:

sudo /etc/init.d/lirc restart
Ahora apuntad bien al receptor de infrarrojos, pulsad la tecla mágica y esperar que se inicie elisa.




Consejos:
Añade el programa irexec en Sistema -> Preferencias -> Sesiones para que se inicie cada vez que inicies sesión en Gnome. Si lo añades de esta forma no es necesario añadir el parámetro -d.

Puedes alternar entre modo ventana y pantalla completa pulsando la tecla f.

También puedes cambiar la forma en que se inicia Elisa (fullscreen o windowed) cambiando el valor del parámetro start_fullscreen del fichero ~/.elisa-0.5/elisa_0_5_6.conf (Los números de la versión pueden variar).

Para poder cambiar de fullscreen a windowed desde el control, solo edita el fichero remote.map:

sudo nano /usr/lib/python2.5/site-packages/elisa/plugins/lirc/map_files/remotename.map
La idea es añadir al final una linea igual que las demás, pero el código numérico lo cambiamos por el que nos devuelva irw en el primer campo, al pulsar la tecla que queremos que haga la función. Y también habría que cambiar donde dice KEY_algo por KEY_f. Para que este cambio tenga efecto solo hemos de reiniciar Elisa.

Esto es todo.... bueno.... en realidad se podrían seguir cambiado cosas jaja (que feliz poder trastear tanto eh!)

Un Saludo!

No hay comentarios:

Publicar un comentario