Icono del sitio Shakaran

Tivion en Windows, adelanto de progresos


Programar para Windows no es mi gran afición, como pueden adivinar muchos de los que me leen y conocen, pero si es cierto que hay bastante cuota de mercado en dicho SO y puede llegar a ser interesante consquistar a los usuarios de windows si ofreces tus aplicaciones nativas de Ubuntu en Windows, como hacen otros proyectos como Gimp o Geany.

Los principales problemas que te encuentras es que poca gente desarrolla o porta el código a windows, luego hay poca documentación y pocos ejemplos en internet. Además la comunidad no suele volcarse mucho a liberar las últimas API y compilarlas para Windows.

Realizando unas pocas pruebas e investigación, he conseguido ejecutar Tivion en Windows, con bastantes bugs y errores, pero semi-funcional.

El primer objetivo ha sido instalar Python. No ha habido problema, puesto que probando con Python 2.6.5 existian ejecutables para instalarlo desde la web oficial.

El problema ha venido después, cuando he querido instalar PyGTK. Para ello he necesitado PyCairo y PyObject, pero las ultimas builds no eran recientes ¡Incluso de varios meses! ¿como vamos a ganar cuota de mercado en GNU/Linux si no ofrecemos las ultimas compilaciones de software en otras plataformas? Aqui quizás exista un punto debil por parte de la fundación GNOME.

La última build es la pygtk-2.12.1-3 y  como ya saben los usuarios de Tivion, se necesita PyGTK 2.16 al menos. Luego he tenido que capar bastante código para que la interfaz y algunas funciones se ejecutaran. Pasado esto, habia que adaptar las rutas de ficheros y pelearse un poco con la ¿inexistencia? de las tuberías en windows (quizá exista alguna forma de tenerlas, pero no al menos con os.mkfifo() de python).

Así que, el resultado ha sido una interfaz bastante aproximada, pero con algunos fallos como carga de iconos y al no poder utilizar tuberías, la salida de mplayer en el mismo terminal y no en un fichero de tubería.

Por otro lado, existe un problema para poner la ventana de Mplayer en modo esclavo, ya que se necesita un XID (Xorg ID iirc, un ID de ventana para que lo reciba el wigdet donde se coloca el reproductor de mplayer) ya que parece ser que windows.xid no funciona en Windows  XP.

Buscando en Google, he encontrado que un desarrollador afín al proyecto Pitivi utiliza el windows.handle en su lugar, pero no he conseguido mediante este atributo que se integre la ventana esclava de mplayer.

Asi que de momento, se lanza una ventana con la interfaz de Tivion 0.0.2 y otra ventana con Mplayer (horrible!). Además la gracia es que en Windows si haces una captura de pantalla, parece ser que no es capaz de capturar el video por alguna razón y sale todo en verde, como apreciareis en la siguiente captura, aunque doy fe de que ahí se cargo un streaming de video con imagén 😉

El resultado (click para ampliar):

Ejecución de tivion-0.0.2 en Windows XP

Espero seguir investigando algo más y poder ofrecer una versión presentable de Tivion para Windows (al menos Windows XP), porque de momento no considero que sea apta para una release.


Salir de la versión móvil