21 de abril de 2012

Adios Songbird

Hace tiempo, en un móvil muy lejano seguramente todavía con CyanogenMod, usaba un programa para reproducir MP3 que además servía para bajarlos... no es que fuese lo mejor, pero era mas util que el programa de android de serie.

Poco después Winamp sacó una versión para Android, pero tenia sus fallos todavía y no me convenció. Todo cambió con Songbird, simple, fácil, liviano... ¿porqué no darle una oportunidad en el ordenador?

Descubrí que había una versión, pero hoy, ya he pasado de ella. ¿Las razones? Fallos, muchos fallos.

Iniciarlo y cerrarlo rápidamente (por error) lleva a un informador de cuelgues. Un fadeout bastante pobre que a veces salta canciones o no muestra correctamente la barra para la duración de la canción. Y incluso al pasar de canción a veces simplemente la tira para delante...

Ante eso, bienvenido de nuevo Winamp, tu sabes ripear discos, rellenar las etiquetas de ID automáticamente, y mantener una lista de Biblioteca decente, sin necesidad de copiarla a ningún sitio toda la música que importas y tenerla duplicada. Incluso tenias soporte para letras, mítico leoslyrics que seguramente siga sin funcionar.

Seguramente vuelva al movil, que ahora no tiene ningun programa y ahi si puede ser de lo mejor.

9 de abril de 2012

Swing

Recientemente y gracias a un compañero de trabajo, y a que tengo un pc en condiciones, me ha dado por aprender a programar y toquetear algo en java.

Sí, aprendí algo en la universidad gracias a un... bueno llamemoslo profesor, que de hacer alguna cosilla por la pizarra y tal aprendimos algo de Java, lamentablemente las aplicaciones gráficas no salieron tan bien. Algunos aprendimos a hacer la aplicación de multiplicación de los Gamusinos Googleando, ya que no había explicado aun el repaint. Y si no recuerdo mal, el reloj me lo pasaron.

Con lo fácil que es VB, controles añadirlos, propiedades,métodos y arreando. Pero bueno, gracias al Swing Designer de Eclipse se puede diseñar el entorno gráfico de manera agradable a la vista. La única pega, es que si hacemos procesos "lentos" bloquearemos el entorno gráfico.



Para ello he tenido que aprender a usar los Threads (hilos) para que realicen tareas sin bloquear el GUI, y además a manejar el EDT (Event Dispatch Thread), este ultimo digamos un Thread especial tiene capacidad para realizar Threads y encolarlos, permitiendo por ejemplo repintar un JProgressBar. (Si me ha costado mucho simplemente hacer esta gilipollez, por diversas razones).

De momento la aplicación, descarga un archivo de Internet, y lo copia a una ruta en funcion de nuestro sistema operativo (ventajas de usar java, que vale para Windows, Linux, Mac...)