¡Ha salido Tcl/Tk 8.5!

Tags: , ,

En anteriores entradas despotricaba contra Tcl/Tk, y una de mis “quejas” era que el aspecto de los “widgets” era horroroso, sobre todo en sistemas X-Window (Linux y otros UNIX).

Bien, parece que en esta nueva versión se ha añadido una extensión llamada Tile que permite el uso de “themes” en las aplicaciones Tcl/Tk. Los pantallazos que se muestran tienen buena pinta.

A lo mejor le doy una segunda oportunidad a Tcl/Tk como lenguaje para desarrollar programas “de ventanitas”. Veamos como queda uno de mis programillas (Pitch & Tunning Studio) con la nueva versión de Tcl/Tk.

Tcl/Tk 8.4 en MacOSX
Tk 8.4 en Mac OSX

Tcl/Tk 8.5 en MacOSX
Tk 8.5 en Mac OSX

Tcl/Tk 8.4 en Linux
Tk 8.4 en Linux

Tcl/Tk 8.5 en Linux
Tk 8.5 en Linux

Tcl/Tk 8.5 en Windows XP
Tk 8.5 en Windows XP

No he adjuntado un pantallazo de Tk 8.4 en Windows porque prácticamente no ha cambiado nada. La mejora en Linux es increíble: fuentes alisadas, los “radio buttons” redondos y muchos más detalles. También la versión para Mac ha mejorado bastante (observen el “spinbox” rotulado como “Note duration”).

Definitivamente, ya no puedo mantener que Tk es un “toolkit” feo ;-)

Por cierto, la distribución de Tcl/Tk más conocida, la de Active State, ya no incluye el paquete Snack por defecto (aunque se puede instalar).
¡Grrrr!

Comentarios (5)

Pitch & Tunning Studio

Tags: , , , ,

Pitch & Tunning Studio is a small program that generates usual musical patterns (such scales, intervals and chords) in different tuning systems (just intonation, tempered and pythagorean scales).

Pitch & Tunning Studio

This program runs in Linux, Windows and MacOSX.

Read more …

Comentarios

Pitch & Tunning Studio

Tags: , , , ,

Pitch & Tunning Studio es un pequeño programa que sirve para evaluar las diferencias que hay entre los distintos sistemas de afinación de la música occidental (pitagórico, temperado y natural, entre otros).

Pitch & Tunning Studio

Está desarrollado con el lenguaje Tcl/Tk y la librería Snack [1]

Por cierto, creo que es el último programa que escribo con este lenguaje.

No llega a 400 líneas de código y he acabado mareado con la sintaxis extraña de Tcl. En mi opinión y para mi gusto, sirve para programas cortos y scripts sencillos, pero no me veo a mí mismo escribiendo (y manteniendo) algo que tenga más de 1000 líneas de código con Tcl.

Además, el aspecto de los “widgets” es horroroso ;-)
A ver si encuentro algo parecido a Snack pero que no esté “atado” a un “toolkit” determinado. Y si lo puedo usar con Python, mejor que mejor.

Nota 1: realmente es impresionante lo que se puede llegar a hacer con Snack. En la distribución estándar vienen bastantes ejemplos (en Windows, en el directorio c:\tcl\demos\Snack y en Linux, bajo /usr/share/doc/libsnack2/examples). Mis preferidos son generator2.tcl y formant.tcl, un generador o sintetizador de ondas estéreo y un sintetizador de formantes:

generator2.tcl formant.tcl

Como decía más arriba: ¡qué pena que Snack esté tan ligado a Tk!

Comentarios

(Re)Descubriendo Tcl/Tk

Tags: , , ,

En esto tiempos aciagos para los/as programadores/as, en los que cada dos días sale un lenguaje o herramienta nuevos, en los que para montar una sencilla web hay que lidiar con los omnipresentes patrones de diseño, montones de capas de abstracción y demás, se agradece la simplicidad y sencillez de los viejos tiempos.

Tcl significa “Tool Command Language” y Tk “ToolKit”. Es un lenguaje de “script”, con una sintaxis muy similar a la de cualquier “shell” (como Bash).

Hacía mucho que no hacía nada con Tcl/Tk, y el otro día recordé que existe todavía la estupenda librería Snack. Es una librería de tratamiento y generación de sonido en tiempo real.

Así que, provisto del tutorial de Snack y la documentación de Tcl/Tk pertinente, me hice un pequeño afinador (cutre: sólo da notas de referencia, no “lee” las notas del instrumento):

Captura pantalla

(Captura de pantalla en Windows)

En 65 líneas de código simple tenemos casi un programa completo:

Código (renombrar a tuner.tcl)

Lo que más atención me llama es que a cada “widget” se le puede asociar una variable (global) de tal forma que, al cambiar la variable, se actualiza el elemento convenientemente. Por ejemplo, el “message” y el “spinbox” tienen asociados dos variables, newfreq y octave, respectivamente.

Desde el procedimiento beep modificamos newfreq y el texto de la etiqueta cambia.
Ocultamiento de información y encapsulamiento: ninguno. ¿Acaso es necesario siempre? ;-)

Recursos

  • Todavía hay en la red un tutorial en castellano (de lo poquito que he podido encontrar) de la Universidad de Oviedo. Data de 1998 (!) y está bastante bien. Lo bueno del mundillo Tcl/Tk es que las cosas no se quedan obsoletas tan pronto.
  • Visual Tcl es un IDE para Tcl/Tk. Permite desarrollar las aplicaciones Tcl/Tk de forma “visual”: pinchando y dibujando los “widgets”. Funciona perfectamente y su última actualización fue en 2006.
Comentarios (2)

     

896 comentarios de spam
bloqueados por
Akismet