Archivo de la categoría: Nueva versión

Nuevas versiones de programas

Lapsus linguae

Acabo de lanzar la versión 3.11b de DeVeDe que corrige un par de fallos en las locales EL, SV, SK y PL. En las dos primeras el fallo impedía que se mostrasen los iconos en los botones; en la tercera una frase no aparecía en negrita; y en la cuarta, la más grave, directamente no arrancaba el programa.

También actualicé el paquete DEB, como debe ser, y añadí una respuesta extra en la FAQ sobre como hacer DVDs sin menú.

DeVeDe 3.11

Acabo de lanzar una nueva revisión de DeVeDe, la 3.11. Los cambios en sí son pocos, aunque necesarios, por tratarse de algunas correcciones.

El primer cambio importante es de apariencia: en efecto, hubo varias quejas en la zona de comentarios de GnomeFiles sobre ella, y me dieron varias sugerencias interesantes, entre ellas limitar el tamaño vertical de las ventanas para que se pueda utilizar cómodamente en equipos con resolución vertical de 800 pixels (como muchos ultraportátiles).

Otro cambio es que ahora puede trabajar indistintamente con mkisofs o genisoimage, con lo que no habrá problemas para usarlo en el futuro en el caso de que alguna distribución se niegue a instalar el primero o hacer un enlace al segundo (para los que no sepan de qué va la movida: el autor de mkisofs cambió la licencia de algunas partes a CDDL, que es incompatible con la GPL, ante lo que la gente de Debian decidió coger la última versión GPL y hacer un fork). Esta corrección la he extendido al paquete DEB, en donde exijo uno cualquiera de los dos paquetes para que funcione.

Respecto a la corrección de errores, el primero es limitar el número de archivos que se pueden añadir a un DVD a 61. En efecto: el estándar de DVD sólo permite un máximo de 128 comandos en cada título. Dado que el código que añado necesita dos comandos por cada fichero que se añada, además de 6 comandos extra para inicialización, ese es el número máximo que se puede meter. En el futuro espero poder cambiar el sistema para elevar el máximo a 99 archivos, igual que en VCD, sVCD, CVD y DivX.

Otro error corregido es que no recuperaba las opciones del menú al cargar una estructura de disco por culpa de un despiste tonto. Ahora ya lo hace. Ahora también muestra la fuente en el botón para escoger el tipo de letra del título del menú. Por último, al previsualizar el menú en formato NTSC usa una ventana un poco más pequeña para que no quede la ventana medio vacía.

Actualización: acabo de subir la revisión 2 del paquete DEB, en donde quito la dependencia de ImageMagik. Esto me pasa por reciclar los ficheros de control de paquetes viejos O:-)

DeVeDe 3.10

Por fin. Tras un par de meses en espera por fin he tenido tiempo de darle los últimos retoques a la versión 3.10 de DeVeDe. Y además, no sólo en formato TAR.BZ2, sino también en forma de paquete DEB, para instalarlo directamente en sistemas con Ubuntu o Debian.

La principal novedad está, sin duda, en el sistema de menús: por fin he eliminado el límite de doce títulos por disco. Ahora puede haber hasta 90, mostrando un máximo de diez por menú y añadiendo flechas para pasar al siguiente o anterior. Los usuarios de grabadoras de doble capa ya no tienen queja.

Otros cambios en los menús permiten ahora añadir un título, música de fondo, mover a la derecha o a la izquierda los textos, o añadir sombras a las letras (del color que se quiera). Con todos estos cambios creo que el 95% de los usuarios no necesitarán irse a un editor externo como QDVDAuthor, DVD Styler o Polidori.

Otro cambio que mejorará la calidad de los discos es que cuando el vídeo original es de 24 fotogramas por segundo y se quiere hacer un disco PAL (a 25 fotogramas por segundo), en lugar de repetir un fotograma cada 24 (lo que produce un molesto efecto, como si el vídeo fuese a saltos) lo acelera un 4%, igual que se hace en los estudios de televisión. El único inconveniente es que el sonido también se acelera, con lo que un oido entrenado notará que todo suena un poco más agudo y rápido que en el vídeo original. Afortunadamente este efecto normalmente no se nota, salvo, quizás, en musicales. Al crear un disco NTSC a partir de un vídeo a 24fps este problema no existe porque se utiliza la opción telecine de Mencoder, que suaviza las transiciones al repetir fotogramas.

Otra novedad interesante es la ayuda contextual: en las ventanas principales hay un botón de ayuda. Al pulsarlo se desplegará la ayuda para esa ventana concreta, pudiendo ir en cualquier momento al índice, por supuesto.

Por último, se ha simplificado aún más el uso. Ahora se escoge en la ventana principal el tipo de disco que se va a crear (PAL o NTSC), y los nuevos vídeos que se añadan, así como el menú, estarán en dicho formato. Aún así, es posible cambiar de manera individual el formato de cada vídeo si se desea. También se han ocultado las opciones avanzadas de la ventana principal, aunque siguen estando disponibles simplemente pulsando un botón.

El resto de cambios son pequeñas correcciones de errores.

Nueva versión de GAG

Ayer lancé una pequeña revisión de GAG. Los cambios son bastante pequeños: un nuevo icono para windows, un par de frases en inglés corregidas, y un par de comprobaciones extra en el código que oculta y hace visibles las particiones. También añadí una corrección extra, aunque es algo más bien «por tranquilidad personal»: si se produce un error de lectura, antes de reintentarlo, resetea la controladora correspondiente. Se supone que ésto lo debería haber hecho desde la primera versión de GAG, pero por desgracia la documentación de que disponía no especificaba que fuese necesario. Lo descubrí de casualidad hace un par de meses, y entre las recaidas por el cuello y el cambio de trabajo no tuve tiempo de implementarlo, además de que tampoco era algo crítico por la sencilla razón de que, hoy en día, difícilmente se puede producir un error al leer o escribir desde un disco duro. Esto tenía sentido en los viejos tiempos de las controladoras ESDI o cuando se usaban disqueteras tan lentas como las primeras (era habitual que fallase la primera operación de lectura porque al tener que arrancar el motor de giro, el disco todavía no había alcanzado la velocidad de rotación adecuada; por eso había que resetear la controladora y reintentar al menos tres veces). Hoy en día, con discos duros ATA-5 y SATA ya no se puede producir ese error, por lo que, al no reintentarse nunca una lectura o escritura, nunca se necesita reiniciar la controladora (además, sospecho que dicho comando ni siquiera es necesario en los discos duros actuales).

Enmendando errores

La nueva versión de DeVeDe intenta subsanar un serio problema que se coló en la versión 3.7. Por consejo de un usuario añadí un parámetro extra: VRC_MINRATE. Se supone que permite especificar la tasa mínima de vídeo, y con ello asegurar que el tamaño final del disco sea más ajustado a la realidad. Por desgracia el resultado no fue el esperado: el tamaño final era siempre mayor que el que tendría sin él. En mis pruebas no supuso un problema porque, sin él, el tamaño final era mucho menor del estimado, por lo que al añadirlo parecía que se ajustaba más a la predicción. Por desgracia varios usuarios se encontraron con imágenes ISO mayores que el tamaño del disco, lo que empañó la opción de cálculo automático de las tasas de vídeo. En la nueva versión 3.9 lo he eliminado, y las cosas han vuelto a su cauce.

Aparte de ésto hay algunos cambios interesantes: para empezar consigo más compatibilidad gracias a que ahora uso imágenes con transparencias para los menús, en lugar de un color clave. Por desgracia tiene su lado malo, y es que se pierde el antialiasing en las fuentes.

Otra novedad es que recuerda el directorio desde el que se añadió un fichero, con lo que añadir subtítulos o más ficheros que estén en el mismo directorio es mucho más cómodo.

También corregí la detección del número de núcleos, usando la técnica comentada en el último artículo de programación. Ahora debería irle bien a todo el mundo.

A disfrutarlo, señores! (y señoras 🙂 )

¡Houston, tenemos un problema!

Al poco de sacar la versión 3.8 de DeVeDe ya he tenido que lanzar la 3.8b para corregir dos fallos en la traducción a italiano y polaco, lo suficientemente graves como para que no funcione el programa 🙁

Tendré que buscar alguna solución para que los traductores puedan probar los ficheros antes de enviármelos. Así evitaremos este tipo de problemas en futuras versiones. El problema es que no quiero enviarles por correo el tocho completo de la nueva versión. A lo mejor a alguno no le hace gracia recibir un mastodonte de más de un mega por sorpresa.
A ver qué se me ocurre.

De dos en dos

Hoy he lanzado dos nuevas versiones de manera simultánea. La primera es la versión 1.3 de HTMLProc, el preprocesador de HTML que utilizo para generar mi página web. Se trata de un cambio casi sin importancia: ya no da un Warning al usar enlaces dentro de la misma página (los famosos a h ref=»#…)

Y para los que se pregunten el por qué de usar un preprocesador, la respuesta es que simplifica un montón de detalles. Por ejemplo, permite hacer #includes de otros ficheros, cosa que, sin él, obligaría a copiar y pegar un montón de código repetido en cada página (y posiblemente teniendo que modificarlo de manera diferente en cada una de ellas), o usar PHP incluso para páginas completamente estáticas. Otro detalle que simplifica es la gestión de las rutas de cada fichero. En efecto, convierte todas las rutas de absolutas a relativas, lo que permite usar el mismo archivo de menús para todas las páginas, aunque estén en directorios diferentes. Por último, añade los campos width y height a las imágenes, con lo que la carga es mucho más eficiente cuando se usan conexiones lentas (vale que hoy en día no es algo tan útil, pues todo el mundo tiene ADSL o cable, pero cuando lo creé sí tenía mucho sentido).

Pasando a DeVeDe, los cambios son realmente muchos. El más visible es, sin duda, el nuevo sistema de menús. En esta nueva versión eliminé el feo recuadro rosa alrededor del título e hice que sea éste el que se ilumine. La razón de no haberlo hecho así al principio era que la imagen con la parte seleccionada tiene que tener un máximo de cuatro colores, cosa que con Cairo no es posible hacer directamente. Sin embargo, Mohojolder me envió un parche en el que conseguía hacer ésto usando convert, una de las utilidades de ImageMagick. Además movió el menú al centro de la pantalla. Aunque la idea era buena, el código no me convencía, así que decidí reescribirlo y, además, permitir que el usuario pudiese escoger donde colocar el menú (arriba, centrado o abajo), y los colores tanto del fondo como de las letras.

El segundo cambio importante es que ahora puede ajustar automáticamente la tasa de bits de los vídeos, de manera que ya no será necesario ir probando valores hasta que consigamos unos que llenen bien el disco. Este cálculo no se hace a la ligera, sino que se tiene en cuenta la resolución final del vídeo (dándole más tasa a aquellos que tienen más resolución), la tasa de audio, el número de subtítulos, y si el vídeo se está recodificando o simplemente copiando. Gracias a esta opción, crear un DVD será tan sencillo como arrastrar los vídeos a la ventana en cada uno de los títulos deseados, pulsar dicho botón, y la estructura estará lista para grabarse.

Y ésto nos lleva al siguiente cambio importante: el soporte de hasta 32 subtítulos diferentes. Ahora ya se pueden tener en un mismo vídeo los subtítulos en castellano, inglés y bielorruso. Además también se puede especificar la lengua en la que están cada uno de ellos, de manera que el reproductor nos lo indicará en pantalla.

Otra novedad muy solicitada es el permitir escoger el flujo de audio que se usará, cuando el archivo original contiene varios audios. Aunque muchos usuarios me piden poder generar discos con varias pistas de sonido, actualmente no es posible porque Mencoder no lo soporta (a menos que alguien del público sepa como hacerlo, claro…).

También permite rotar e invertir los vídeos. Esta opción hará las delícias de los usuarios que quieran pasar a un CD o DVD los vídeos hechos con su móvil y se encuentren con que lo tenían girado. A ésto hay que sumar el permitir mezclar en un mismo disco contenido en formato panorámico y normal, además de permitir generar ficheros DivX en Alta Definición (útil para aquellos que quieran recodificar ficheros Matroska en HD).

También añadí soporte para CPUs de varios núcleos. Este activa el flag de Mencoder que permite que éste use X núcleos en paralelo. Por desgracia, la ganancia no parece ser del doble, sino que está en torno a un 50% más.
Por último, ahora se pueden añadir parámetros extra no sólo del grupo de parámetros independientes, sino también en lavcopts, lameopts y vf. De esta manera es más fácil cambiar la matriz de cuantización u otras acciones.

El resto son novedades menores. Espero que lo disfruteis.

Volviendo poco a poco

Los que sigan mi blog habitualmente (De ilusión también se vive ¿no? Dejadme que me crea que me lee alguien) habrán notado que he estado más de cuatro meses sin publicar nada; ni entradas ni nuevas versiones. La razón es que en diciembre tuve un golpe con el coche (el clásico «alcance por detrás») que me dejó con un esguince cervical bastante aparatoso. En este tiempo varios usuarios me han enviado una serie de parches para SuperShow y DeVeDe, así que he aprovechado que parece que (¡por fin!) empiezo a estar algo mejor (aunque no todo lo bien que me gustaría) para aplicarlos y lanzar dos pequeñas versiones «rápidas».

Pasando ya a describir los cambios, en SuperShow apliqué varios parches que me envió Pablo Rodríguez. Para empezar, cambió los botones originales, hechos con mapas de bits, por botones vectoriales, con lo que la apariencia de éstos ha mejorado muchísimo. Por otro lado, añadió dos botones extra que permiten saltar directamente a la siguiente diapositiva o a la anterior, complementando a los que permiten avanzar o retroceder la presentación cinco segundos. Por último, también retocó el icono del programa y lo añadió a la ventana de Acerca de y a la barra superior del resto de ventanas. Por mi parte, corregí un pequeño bug que había al volver a reproducir una presentación con el botón correspondiente: al pulsarlo saltaba a la segunda diapositiva en lugar de a la primera.

En el tintero se han quedado dos añadidos muy interesantes. El primero es un contador de tiempos y de diapositivas. Las razones para no ponerlo han sido dos:

  • Para empezar,  el texto aparece algo cortado por la parte superior; Pablo aún no sabe por qué.
  • Por otro lado, la versión actual de SWFC (el compilador de FLASH que usa SuperShow) no soporta añadir sólo un subconjunto de símbolos de una fuente de letras, sino que hay que meter absolutamente todos los que están disponibles en el fichero TrueType, con lo que el tamaño de las presentaciones se dispara. Esto está corregido en la versión de desarrollo, por lo que pronto deberíamos poder incluirlo.

El otro añadido es cambiar el código de renderizado de las diapositivas para que use LibPoppler. La principal razón de no haberlo hecho es que no he conseguido compilar PyPoppler en mi sistema. Cuando esté completamente recuperado me pondré con ello.

Un detalle bastante triste es que se ha perdido la compatibilidad con Gnash. Hicieron algún cambio en el código justo antes de sacar la actual versión estable, y el resultado es que los métodos getDuration y getPosition no funcionan cuando se usa Gstreamer como backend (sí funcionan si se usa SDL). Ya avisé del error y espero que lo corrijan pronto.

Respecto a DeVeDe, había un fallo en la traducción a catalán que hacía que no arrancase cuando se usa esa lengua en el sistema. El traductor me envió un nuevo fichero .po que lo corrige. También apliqué una serie de parches que me envió Peter Gill para la versión de Windows (en Linux funciona bien). Por otro lado, si se cerraba la ventana inicial (la que pregunta el tipo de disco que se quiere crear) ésta desaparecía, pero el programa no se cerraba porque me había olvidado de añadir un callback. Ahora pregunta si queremos salir. Por último, hice un par de cambios en el cálculo de la tasa mínima de vídeo (por sugerencia de otro usuario), de manera que el tamaño final de la imagen de CD/DVD se acerca más al estimado por DeVeDe en la ventana principal.

Nota: ésta entrada la escribí el 17 de abril, pero por despiste la mandé a borradores en lugar de publicarla.

Puliendo versiones

Acabo de lanzar dos nuevas versiones de FBZX y DeVeDe. No traen grandes cambios, pero seguro que serán agradecidos por los usuarios.

Precisamente es FBZX el programa que más me preocupa en estos momentos (dejando de lado los serios problemas de GTKpsProc), pues el emulador de Z80 que lleva, escrito por Marat Fayzullin, no es GPL. Por desgracia no es fácil sustituirlo por otro. Estoy evaluando la dificultad de escribir uno nuevo (tarea árdua pero no imposible) o intentar adaptar alguno extraído de BlueMSX u OpenMSX. Esta última opción parece la más sencilla a priori, pero en la práctica hay muchos cambios que hacer, así que tendré que evaluarlo con calma.

Respecto a DeVeDe los cambios son mínimos: nuevas lenguas, corrección de un par de pequeños bugs, y el añadido de dos comandos extra en la conversión: CGOP y SC_THRESOLD. Estos hacen que los GOPs estén siempre cerrados y midan siempre lo mismo, lo que debería aumentar la compatibilidad con viejos reproductores.