GAmuza es un entorno de programación (IDE) open source híbrido con live coding para openFrameworks (OF), programado para el desarrollo de diseño interactivo, performances audiovisuales en directo y enseñanza de arte generativo.
GAmuza is a Hybrid Live OF Sketching IDE open source, for interactive design developing, live audiovisual performance and generative art teaching.

¿Qué es GAmuza?

Premisas:

Dilema GUI versus Code

En el campo de la enseñanza del arte digital es común ver posiciones que defienden el uso de software libre, pero entre ellos se plantea también otro dilema: utilizar programación gráfica, como Pure data, o enseñar código, línea de comandos, como Processing. Hay un complicado entramado de relaciones y significancias entre ambas posturas que a veces parecen responder a campañas de índole casi publicitaria: gráficos-amigables versus entornos de programación-hostil. El adjetivo tras el guión indica el tono y posicionamiento del discurso. GAmuza opta por la hibridación. Las interfaces gráficas de usuario (GUI) de los módulos y paneles de GAmuza están programadas y diseñadas para facilitar procesos de comunicación con dispositivos de audio, vídeo o Arduino, pero no para ocultar conceptos o estructuras del código, por eso incorpora un IDE de programación, estableciendo una situación híbrida que aúna GUI y Code. Esa mayor facilidad en la comunicación del sistema con los dispositivos se ha establecido para que estudiantes, artistas, o gente interesada no experta, pierdan el miedo a algo que comúnmente se califica como demasiado complicado. Pero lo complicado o difícil es solo lo que no se comprende. Por eso…

Tecnología para la gente

…GAmuza no oculta los conceptos o estructuras. Comprender las herramientas que usamos todos los días es el primer paso para no ser esclavo de la tecnología. Más allá del tipo de relación que los estudiantes de arte mantienen con las tecnologías de la información, la gente en general está multiplicando el tiempo y tipo de usos con estos medios. Se ha hecho popular publicar ideas personales, intereses, conversaciones, gustos, opiniones, fotos, videos… Todo el mundo está en línea, desde su portátil o Smartphone, y en 5 minutos te hacen sentir que eres el webmaster de todas tus ficciones o vidas virtuales diferentes, constantemente conectado con todos tus amigos virtuales, y lo puedes hacer sin conocer la tecnología que estás utilizando, y esto significa un montón de cosas, una es “gente para la tecnología”, o en otras palabras, los medios están preparando “gente a la que vender tecnología”. Gamuza es sólo un software, pero creado con un concepto en mente: “Tecnología para la gente”, no lo contrario.

Conscientes de estas premisas, GAmuza es un software híbrido que conjuga un entorno de programación con distintas aplicaciones modulares para el desarrollo de diseño interactivo, la realización de performances audiovisuales en directo y principalmente la enseñanza de arte interactivo. Es open-source, se distribuye bajo licencia MIT y está desarrollado para Linux Ubuntu x86 de 32 o 64 bits y para Mac OSX 10.6 o superior. Puede descargarse en: http://www.gamuza.cc

En la versión 043 para Mac OSX, el código ya no se muestra en la ventana de salida porque cuenta con un editor independiente para facilitar su uso en la enseñanza de programación.

Ahora, el núcleo central de GAmuza es el entorno de desarrollo integrado (IDE integrated development environment), semejante al de Processing, que proporciona un marco de programación muy simplificado con el lenguaje de scripting Lua, (utilizando la librería Luabind y una versión modificada de ofxLua) dando así soporte a la preparación de programas que utilicen la librería openFrameworks 0.7.4, gran parte de sus addons y el framework propio de GAmuza que establece conexiones entre estas funciones y los módulos de aplicación GUI, y que permite visualizar las modificaciones del código de forma casi inmediata, sin compilar.

Módulos y paneles GUI

GAmuza comprende distintas aplicaciones modulares y paneles precodifiados que son fácilmente configurables a través de GUI. Los módulos están siempre activos y los paneles pueden activarse, o no, en función del tipo de trabajo a realizar, para reducir consumo del equipo. Actualmente los módulos son:

  • Timeline
  • Audio Analysis (input)
  • Arduino

Y los paneles:

  • Computer vision
  • Sensor Kinect

En resumen, GAmuza es un software que recoge y coordina de forma particular lenguajes (Lua y C++) y plataformas (openFrameworks, openCV) ya existentes, e incorpora otras librerías propias, para facilitar los primeros pasos de estudiantes y artistas en el campo de la programación creativa. Por otra parte, combina las dos vías habituales de programación: consola de código textual (IDE) vinculada a las aplicaciones modulares que se ajustan mediante GUI, para que ese proceso de aprendizaje creativo sea más fácil, pero sin ocultar las estructuras de programación. Para hacer funcionar esta hibridación se han programado librerías específicas de GAmuza, que como veremos más adelante, se diferencian sintácticamente de las que se han incorporado de otras plataformas. Retomando un término de Armando Montesinos, GAmuza más que un collage de lenguajes y plataformas, reconstruye un entorno de programación por medio de “zurcidos”, utiliza parches y genera tejido nuevo entrecruzando funciones, sin ocultar los fragmentos.

La facilidad de uso de GAmuza reside en la simplificación del lenguaje Lua (en sí bastante ligero) y la comunicación con dispositivos externos a través de los módulos GUI, y todo esto se consigue manteniendo la estabilidad y potencia del lenguaje C++. Es importante entender esta movilidad o flexibilidad de niveles y lenguajes.

Para instalar GAmuza 043, desde <http://www.gamuza.cc> descargad la aplicación, abrir (montar) el archivo .dmg y arrastrar el icono de GAmuza a la carpeta Aplicaciones. El proceso de instalación ha terminado.

boxdownload32 Bajate el código fuente de GAmuza en github

Participantes
Presentado en
I Congreso Anual de Investigadores en Arte, Valencia, 2013.
Subvencionado por
Proyecto I+D: Visión ampliada: sistemas de tracking visual para instalaciones interactivas en el campo del arte digital (Ref. HAR2008-02169)
Publicaciones relacionadas