XBMC ubuntu y extigy

xbmc

Una de mis aficiones en los ratos que tengo libres es montar media centers con los restos de ordenador que tengo por ahí, el que tengo en mi salón lo monté inicialmente con un ubuntu 7.10 y freevo, y ha terminado con un ubuntu 8.04 y con XBMC.

Para el que no lo sepa, XBMC (XBox Media Center) es un proyecto muy completo que se puede ejecutar tanto en linux, como en windows, como en mac (incluso en apple-tv) y que realmente está muy cerca de ser el media center perfecto (solo le falta manejar las controladoras de TV para serlo).

El caso es que he descubierto que hay cosillas un poco escondidas y que a lo mejor os pueden servir de ayuda para montar vuestro propio media center con algún cacharro que tengais por ahi tirado. En esta entrada os voy a proponer usar una «tarjeta» de sonido externa (Extigy) como sistema de audio y controlador del media center (usando su mando a distancia).

El proceso completo (luego lo iré detallando en próximos días) para tener un media center «pooofesioná» que dirían por allí sería lo siguiente:

    1. Hacerse con un PC que tenga disco y una vga que soporte la resolución de nuestra pantalla (y si esta tiene entrada DVI o VGA, mejor que mejor) y alguna forma de conectarse a la red (ethernet o wifi).
    2. Instalarle un ubuntu 9.04 (o 9.10 ahora cuando salga) sin ninguna opción especial
    3. Instalarle XBMC (aqui están las instrucciones).
    4. Pincharle la extigy (la reconoce a la primera el ubuntu)
    5. Instalar el Lirc:
sudo apt-get install lirc
    1. Configurarlo (te pregunta durante la instalación) para Sound Blaster Extigy/Audigy 2 NX (ALSA snd-usb-audio).
    2. Crear el archivo Lircmap.xml, si no existe ya, en ~/.xbmc/userdata con este contenido:
<lircmap>
	<remote device="RM-1500">
		<play>play-pause</play>
		<pause>step</pause>
		<stop>stop-eject</stop>
		<forward>next</forward>
		<reverse>prev</reverse>
		<left>left</left>
		<right>right</right>
		<up>up</up>
		<down>down</down>
		<select>ok</select>
		<back>return</back>
		<menu>options</menu>
		<title>cancel</title>
		<info>display</info>
		<start>start</start>
		<record>rec</record>
		<volumeplus>vol+</volumeplus>
		<volumeminus>vol-</volumeminus>
		<mute>mute</mute>
		<power>cmss</power>
		<one>1</one>
		<two>2</two>
		<three>3</three>
		<four>4</four>
		<five>5</five>
		<six>6</six>
		<seven>7</seven>
		<eight>8</eight>
		<nine>9</nine>
		<zero>0</zero>
	</remote>
</lircmap>
    1. Arrancar el xbmc y disfrutar

He ajustado las teclas para que sean lo más naturales posibles, si no os gusta la distribución solo teneis que toquetear un poco este archivo hasta que salga lo que necesitais.

Si vais a usar este ordenador en exclusiva para media center, os recomiendo que instaleis el paquete xbmc-standalone y sigais estas instrucciones para que el arranque sea sin pasar por una sesion gnome (lo que hace que sea mucho más rápido):

sudo apt-get install xbmc-standalone

Sistema => Administración => Ventana de entrada => (pedirá password) => Sesión por defecto => (escoger XBMC).

      No necesitais ni teclado ni ratón a partir de este momento… El ordenador arrancará y diréctamente nos llevará al programa media center que manejaremos con el mando a distancia de la extigy, y cuando terminemos la opción apagar de xbmc nos apagará la máquina.

Si sois muy pijos, también hay varios temas de arranque para xbmc (incluso hay un paquete en 9.04 xbmc-usplash) para que os quede como si no hubiese so por debajo.

Integrando Java y Windows

Recientemente hemos tenido que integrar un sistema diseñado exclusivamente para Windows y Visual Basic a una aplicación web desarrollada completamente en Java (con un framework nuestro)… Aunque la teoría del uso de JNI es bastante sencilla hay cosas que no se explican en ningún sitio y que nos hizo perder muchas horas… Os dejo aqui un resumen de cómo hacer las integraciones y cuales son los problemas más importantes que nos podemos encontrar…

El problema: una aplicación desarrollada por terceros en Visual Basic, en la forma de un par de dlls que se deben registrar y que son llamadas como objetos OLE desde las aplicaciones tenía que ser invocada remotamente por una aplicación web en java corriendo en una máquina Linux…
Sigue leyendo