X2T beta (XMMS2 + Twitter)

Bien, pues he decidido liberar una versión beta de este proyecto que en el post anterior había mencionado. Se que la aplicación no es novedosa y que la idea de “twittear lo que escucho” a primer instancia suena interesante pero con el paso del tiempo se vuelve hasta cierto punto fastidiosa.

Sin embargo, he considerado que ha sido una buena forma de entretenerme aplicando algunos conocimientos hasta ahora estancados por cosas del trabajo y escuela. Me he divertido de lo lindo; aprendí muchas cosas que solo tenía en concepto, pero, que no había tenido la molestia de sentarme a practicarlas.

Y sacandole un poco de jugo a esta sencilla aplicación decidí darle algunos toques mas:

  • Sería una aplicación sencilla con 3 Tabs.
    • About: Sencilla descripción del App.
    • Connection: Conexión a Twitter (usuario y password)
    • Preferences: Anexe un Grid para parámetros que en un futuro podrían añadirse a los actuales que son.
      • Filter: Formato del texto a mandar a Twitter.
      • Active: Si deseamos logearnos en Twitter al iniciar la App
      • Mode: El modo que bien puede ser “Twittea todas las canciones” o “Twittea solo las que te digo”
  • TaskBarIcon: Un icono en la barra de tareas el cual me permitirá esconder o visualizar la App, y mostrará un menú con algunas acciones.
  • FileConfig: El cual me pertira salvar la ultima configuración hecha por el usuario.

De entre las cosas que estuve aprendiendo (y que aun lo estoy por que es constante) fue el uso de las librerías gráficas wx para las GUI’s sobre python, y ya que heredan mucho de C, la cosa pues puede parecer tan fácil o complicado según se vea.

Como muchos desarrolladores me valí de wxGlade para el diseño de las interfaces que poco después se pueden mejorar en rendimiento codificando a mano (gracias a mi querido gEdit + plugins) y que puede ahorrarnos mucho tiempo.

En cuanto a la programación pues verán, el uso del middleware python-xmmsclient es básicamente sencillo, salvo claro que para capturar los cambios en el reproductor (cambio de canción) fue necesario implementar llamadas asíncronas con el servidor para después darles salida a twitter.

Otro aspecto que me pareció interesante manejar fue el uso de archivos de configuración, y ya que python cuenta con algunas librerías que nos facilitan el trabajo, no dude en usarlas. ConfigPaser es una librería que me permite editar los archivos de configuración de manera natural, sin rodeos pues y de la que recomiendo le den una checada.

Y por último pero sin dejar de lado, el uso de la clase TaskBarIcon de wx para implementar un icono en la barra de tareas el cual al dar doble click me permite visualizar la app, o click derecho para un Menú con algunas acciones como las que podemos ver en las imágenes.

Pongo a disposición de ustedes el código, ya sea para su uso, desarrollo, o simplemente por curiosidad de ver lo que ya detrás del desarrollo con Python, wx, XMMS2 y Twitter.

Código Fuente

svn checkout http://x2t.googlecode.com/svn/trunk/ x2t-read-only

Actualización: 9 de Febrero del 2010

Parametros:

  • Filter:

    • %artist
    • %title
    • %album
    • %url
    • %sample_format
    • %mime
  • Active:

    • 0: Logearte al iniciar al aplicación
    • 1: Logearte solo al dar conectar.
  • Mode:

    • 0: Twittea todas las canciones.
    • 1: Twittea solo las que yo indique en “Tweet this song”