Table Of ContentGAmuza
Hybrid live coding/modular application
1
GAmuza. Hybrid live coding/modular application
Un programa para Arte Digital Interactivo
GAmuza. Hybrid live coding/modular application. rel 04
© 2012 Emanuele Mazza
Texto: Emanuele Mazza && María José Martínez de Pisón
Dibujos: Carlos Maiques
Valencia, España.
Algunos derechos reservados. Reconocimiento - Compartir Igual (by-sa): Se permite el uso
comercial de la obra y de las posibles obras derivadas, la distribución de las cuales se debe
hacer con una licencia igual a la que regula la obra original.
2 3
Contenidos
1. Introducción 9
2. ¿Qué es GAmuza? 15
2.1. Confguración Preferencias 19
3. Descripción de la interface 23
3.1. IDE de programación 23
3.2. Barra de Menú 25
4. Lenguaje de scripting 29
4.1. Elementos básicos de programación: datos, variables y funciones 31
4.1.1. Variables 33
4.1.2. Funciones 37
4.2. Estructuras básicas de programación 42
4.2.1. Expresiones aritméticas 42
4.2.2. Expresiones relacionales 43
4.2.3. Expresiones condicionales y operadores lógicos 43
4.2.4. Expresiones de iteración. Repetición 46
4.3. Estructuras de programación orientada a objetos 50
4.3.1. Tablas 51
4.3.2. Clases 57
4.4. Integración de openFrameworks 65
4.5. Integración de openGL 99
4.6. Funciones de Lua 104
4.7. Framework de GAmuza 107
5. Aplicaciones gráfcas 113
5.1. Formas geométricas básicas 114
5.1.1. Formas irregulares 120
5.2. Color 124
5.3. Curvas por trigonometría y funciones matemáticas 129
4 5
5.4. Transformar: traslación, rotación, escalar 135 11. Arduino 232
5.5. Azar y probabilidad 139 12. Comunicación por OSC. Enviar/recibir datos 234
5.5.1. Noise 144
13. Bibliografía 240
5.6. Gráfcos vinculados a eventos de ratón 147
5.7. Gráfcos vinculados a eventos de teclado 151
6. Incorporar archivos: texto, imagen, video y audio 153
6.1. Textos y tipografía 153
6.2. Archivos de imagen 157
6.2.1. Efectos imagen 158
6.3. Archivos de video 160
6.4. Archivos de audio 164
7. Interactividad 167
7.1. Defniciones y referencias de Interactividad 168
7.2. Interactividad con el sonido 176
7.3. Instalaciones interactivas por Tracking Video 178
8. Módulo Timeline 179
9. Sonido 183
9.1. Interface Módulo Audio Stream 185
9.2. Audio input 188
9.3. Audio Sampling 193
9.4. Síntesis básica de audio 195
9.5. Audio Unit Plugins 200
10. Tracking video 202
10.1. Descripción panel Computer Vision 205
10.2. Blob detection 211
10.3. Motion 220
10.4. Haar 225
10.5. Optical Flow 227
10.6. Trigger Areas 229
6 7
1. Introducción
La mayoría de las escuelas de arte dan clases de "arte digital", que para ellos signifca "cómo utilizar
Adobe Photoshop". A pesar de que en estos cursos suelen decir que exploran las posibilidades
de un nuevo medio, por lo general exploran poco más que las posibilidades que alguien (es decir,
Adobe) ha encontrado conveniente empaquetar en una pieza de software comercial. El hecho es
que los ordenadores son capaces de hacer un número inimaginablemente mayor de cosas que
cualquier pieza de software específco puede hacernos creer. […] es mi intención alentar a los
artistas visuales a entender y trabajar más allá de las limitaciones impuestas por sus herramientas
de software. […] me gustaría ofrecer una visión de lo que puede lograrse cuando un artista pasa de
Photoshop por completo, y hace sus propias herramientas de software con código.1
Este y otros textos u obras que mantienen un carácter similar, nos impulsaron a revisar el enfoque que
la educación de las tecnologías de la imagen tiene en las facultades de Bellas Artes. En la enseñanza
del arte, la importancia de los componentes técnicos, conceptuales, perceptuales y afectivos que
sedimentan en el proceso creativo, puede escalarse en cada materia para atraer la atención hacia uno
u otro rasgo, pero no deben perder las tensiones del conjunto. Con el poso de esa imagen en mente,
observamos que una parte importante del arte digital está vinculada a los lenguajes de programación,
y para su enseñanza es necesario combinar la capacidad de abstracción que requiere la técnica con el
sentido crítico y especulativo que impulsan las humanidades, porque el código es técnica y lenguaje,
es lógica y pensamiento. En nuestro caso la aplicación de esos conocimientos se dirige hacia el arte
contemporáneo, lo que suma no pocas incertidumbres a los estudiantes que crecen en esta emulsión.
Para reducir tensión a la mixtura, la experiencia acumulada en docencia e investigación se ha vertido
en el desarrollo del software GAmuza, una herramienta pensada para impulsar el salto y atraer el
aprendizaje, que ha sido programada por Emanuele Mazza dentro del Laboratorio de Luz de la
Universidad Politécnica de Valencia. Tras comprobar su funcionamiento en diversos seminarios, en
2012 se incorporó a la enseñanza reglada en el tercer curso del grado en Bellas Artes, y es el análisis
2
de estas experiencias lo que guía e impulsa este texto .
En el aula, como en la vida cotidiana, hay una presencia masiva de dispositivos técnicos de comunicación
que, además de ser un refejo comercial de la industria, indica también relaciones diferentes y
cambiantes entre hombre y mundo. Y ante estos cambios debe surgir el deseo de comprender el
papel que la técnica y el lenguaje técnico están jugando en esa transformación.
1 Golan Levin, (2001) ‘Essay for 4x4: Beyond Photoshop with Code’ [artículo on-line] <http://www.fong.com/texts/essays/
essay_4x4/> [12.05.2012].
2 Paralelamente se ha llevado un blog que puede crecer sin las limitaciones físicas de estas páginas, <http://mie.pluton.cc> en
cuya galería se pueden ver algunos de los ejemplos aquí mostrados, y muchos otros.
8 9
GAmuzA Hybrid live codinG / modulAr ApplicAtion introducción
Durante las últimas décadas del siglo XX el arte se hizo eco del debate entre la prevalencia del lenguaje y cultural, siendo refejo de una época que no puede ya ordenar linealmente los acontecimientos, no
sobre la imagen o viceversa [picture turn <--> linguistic turn]. Hoy sentimos una polaridad similar entre puede refejar fjamente lo cambiante, y abre redes, ramifcaciones e interconexiones.
aquellos debates artístico-flosófcos y el impulso del lenguaje científco, cuya lógica, consciente en parte
No hay simples códigos trabajando cuando las personas interactúan con las imágenes, entre
de sus fallidos principios de verifcación, ha ido fltrando las incertidumbres e indeterminaciones de una
ellos está su cultura, o su contexto. Esta es la razón por la que he insistido en la noción de
nueva ciencia que, poco a poco, (o mucho a mucho) va encarnando nuevos esquemas conceptuales,
visualización (con especial referencia a lo que hacen los seres humanos), tanto en la creación
diagramas que dibujan en el horizonte una nueva imagen-mundo, enunciada y representada con el
como en la respuesta, tanto en la generación como en el reconocimiento hay intersecciones entre
lenguaje numérico, informático. 5
conocimiento, información y pensamiento .
Según Vilem Flusser, las conexiones que el hombre establece hoy con esas imágenes-mundo, pasan
Podemos quedarnos a contemplar la apariencia de esa imagen-mundo como usuarios enganchados
por las "sinuosidades de nuevos campos de relación":
a los dispositivos técnicos de comunicación, o saltar la valla, no sin esfuerzo, para aprender el lenguaje
[...] mundos totalmente alternativos se han hecho computables a partir de los números. Estos que construye esa espacialidad y temporalidad compleja y diferente.
mundos vivenciables (estéticos) le deben su posible fabricación al pensamiento formal matemático.
Lo que tiene como consecuencia que, no solamente los teóricos científcos y los técnicos que ***
aplican sus teorías tienen que aprender el código de este nuevo nivel de conciencia, sino en
Tal vez esta simplifcación de situaciones pueda servir para clarifcar inicialmente posiciones, pero
general todos los intelectuales (y sobre todo los artistas), si es que quieren tomar parte en la
3 no podemos plantearnos el desarrollo del pensamiento siguiendo polaridades: pensamiento científco
empresa cultural del futuro.
por un lado y flosófco por otro. No. Como veremos, fue Leibniz quien acuñó los términos «función»,
Los conocimientos, vivencias y valores que argumenta Flusser pueden ahora llegar hasta el espacio «variable», «constante» y «parámetro» en un momento en el que, como hoy, el análisis de la lógica
cotidiano y entre las muchas cosas, banales o extraordinarias, que esta información digital ofrece, pertenecía tanto al campo de la flosofía como al matemático.
debemos valorar el esfuerzo de muchos colectivos diluidos por la red que desinteresadamente facilitan
Los sistemas de análisis flosófco, desde Moore o Russell, inspeccionaban todo aquello en lo que se
el acceso a muy distintos campos del saber, podemos leer investigaciones sobre partículas, discutir la
detiene el ojo de la mente, fragmentándolo, observando las relaciones de esos pequeños trozos de
explicación cualitativa del Principio de Incertidumbre de Heisenberg, o las semejanzas entre la teoría de
mundo; desarticulando lo complejo en partes signifcativas más simples, desde los objetos materiales
las Catástrofes de René Thom y la del Caos de Ilya Prygogine, entre muchas otras teorías o principios
a los datos de los sentidos, para articularlo después por medio de un análisis conectivo. Este mismo
que han incidido en ese cambio de visión y comprensión del mundo. Y así, el artista, como explorador
sistema de análisis es la base para empezar a desarrollar estructuras complejas con los lenguajes
intruso en los bosques de la ciencia, busca ciertos claros.
de programación. Nuestro propósito es clarifcar cómo el pensamiento traduce las situaciones en
Y la visión lejana del centro apenas visible, y la visión que los claros del bosque ofrecen, parecen algoritmos, para ello analizaremos estructuras de código signifcativas, comentadas con imágenes de
prometer, más que una visión nueva, un medio de visibilidad donde la imagen sea real y el
resultados, explicación del proceso y su relación con referentes artísticos.
pensamiento y el sentir se identifquen sin que sea a costa de que se pierdan el uno en el otro o
de que se anulen.
La base del pensamiento visual y la percepción espacial se fundamenta en estructuras geométricas
Una visibilidad nueva, lugar de conocimiento y de vida sin distinción, parece que sea el imán que cuyo origen también está vinculado a las ciencias ópticas y el estudio de la luz. Paul Virilio nos dice que
4
haya conducido todo este recorrer análogamente a un método de pensamiento.
actualmente hay otra óptica, otra luz y otra transparencia, "trans-apariencia electrónica [que] prepara
6
un nuevo régimen de relaciones" , Michel Serres se sitúa mucho más atrás, para decirnos que la
Los lenguajes de programación, los algoritmos, son pensamiento, y permiten imaginizar sistemas o
geometría nació de una sombra arrojada en la cambiante superfcie de la arena del desierto, ¿cómo
situaciones complejas de forma dinámica. Más allá del efecto visual o sonoro que puedan producir,
fjar un punto allí donde toda huella es borrada por el viento? Y de la luz que arrojó aquella sombra
su lectura subraya cómo el proceso ha ganado importancia sobre el resultado, dejando visibles los
comenta:
pasos que el pensamiento traduce en términos de programación. No hay límite en el lenguaje, ni en
el pensamiento, hay un discontinuo work in progress que debería estar impulsado por el marco social
5 Ron Burnett (2004). How images think, Massachusetts: The MIT Press, pág. 203 [texto on-line] [06.08.2012] <http://www.
learndev.org/dl/HowImagesThink.pdf>
3 Vilem Flusser (2005), "La sociedad alfanumérica" en Revista Austral de Ciencias Sociales nº 9, pág. 105. 6 Paul Virilio, "Todas las imágenes son consanguíneas" [Texto on-line] <http://www.upv.es/laboluz/2222/textos/virilio.htm>
4 María Zambrano (1990), Claros del Bosque, Barcelona: Seix Barral, pág. 14. [07.08.2012]
10 11
GAmuzA Hybrid live codinG / modulAr ApplicAtion introducción
Cualquier óptico te dirá que la división claro-oscuro no es distinta más que en circunstancias Lo que no debemos esperar de Turing-land es un arte aceptable en Duchamp-land. Duchamp-
excepcionales. Y, con precisión, cuando no hay atmósfera, cuando no hay fuidos turbulentos [...] land quiere arte, no la investigación de nuevas posibilidades estéticas de los nuevos medios. La
En la atmósfera, nunca homogénea, nunca isótropa, los medios locales están distribuidos de forma 8
convergencia no va a suceder.
múltiple, de suerte que los rayos, así puede decirse, buscan fortuna en el mundo. Se quiebran por
doquier y ejecutan un recorrido caprichoso. Contornean pues los obstáculos y producen un claro-
En la técnica subyace la naturaleza de los elementos que propician la interactividad, la generación de
oscuro, un confuso-distinto. Y es así como se ve lo más comúnmente del mundo. No se necesita,
formas por el sonido, el movimiento de dispositivos por código..., por eso ella conoce bien cómo se
donde sea y siempre, la presencia del sol. La luz se difunde. Si el ver es un modelo del saber, el
construye la casa del arte digital, sus habitáculos y aperturas al exterior, su extenso jardín y el laberinto
conocimiento es casi siempre difuso. En absoluto confuso y oscuro, sino multiplicado por franjas
9
7 que contiene. Desvelar la estructura de la técnica es comprender ese complejo plano constructivo,
y difracciones.
y siguiendo sus indicaciones podemos empezar a esbozar diagramas, o planifcar instrucciones que
También el sonido y la música tienen una base matemática y generan formas geométricas sinuosas, posibiliten distintos procesos o comportamientos.
ondas sujetas a franjas y difracciones similares a las de la luz, pero que oscilan en longitudes distintas
Para mostrar la relación de esos elementos básicos con los referentes artísticos recurriremos a
y con velocidad diferente.
minuciosos dibujos que, a modo de ilustraciones botánicas, resaltarán en cada caso la cuestión a
Si para el ser humano el mundo es lenguaje (o no podemos tener otra imagen del mundo que la analizar, al tiempo que abren una puerta de fuga diferente a la del enmarañado mundo de los derechos
que el lenguaje nos brinda), la hibridación y feedback del análisis de los lenguajes visuales, sonoros, de publicación.
lingüísticos e informáticos permite generar otras formas sintácticas de expresión, que como el mundo
Respecto al habitual ¿cómo leer este libro?, el nivel de atención y orden de lectura es algo que depende
actual, son más proteicas, cambiantes.
del bagaje de cada uno. Como dice Derrida, "el lenguaje escrito se dirige inevitablemente a más de
10
El arte contemporáneo, como generador de la parte expresiva y simbólica de este mundo, ha estado una singularidad", y si tú, lector particular, estás acostumbrado a utilizar software de programación,
atravesado desde los años 60 por estas nociones de feedback transdisciplinar, buscando nuevas es posible que algunas descripciones de código te parezcan obvias; esperamos que eso no consuma
relaciones entre esos lenguajes para modelizar imágenes, sonidos o acontecimientos. No vamos a tu deseo, piensa que otros posibles lectores se están iniciando, y que tanto GAmuza como este texto
desarrollar en este texto las teorías vinculadas a estos fenómenos, aunque en algunos momentos buscan facilitar el aprendizaje.
aludamos a ellas, lo que queremos subrayar es cómo convergen los modos de comprensión estéticos,
Para abrir la linealidad de la lectura, se han planteado algunas conexiones cruzadas retomando el
flosófcos y científcos, a la espera de que la fascinación que nos procura esta imagen impulse a los
tradicional [véase]. En estos casos cabe el juego de seguir las indicaciones de páginas para observar
estudiantes a superar las difcultades o rechazos que el campo de la programación les genera a priori.
diferentes maneras de pensar un algoritmo.
Y en ello va también un reconocimiento, porque nuestro propio impulso debe mucho a la herencia
Por último señalar que, en este contexto, el proceso toma mayor importancia que el objeto acabado,
de Processing y openFrameworks, y también a las metodologías aportadas por Casey Reas, Ben
y, aunque ahora tengas ante los ojos este libro materializado, o digitalizado, con una forma concreta,
Fry, Daniel Shiffman, Zachary Lieberman, Theo Watson, Arturo Castro y las comunidades de ambos
es muy posible que nuestros ordenadores estén tramando ya otra versión de texto y software que
software, por eso los contenidos de este texto van a seguir en parte los pasos aportados por estos y
esperamos amplíe, limpie y mejore esta.
otros autores.
Iterabilidad, inevitable cualidad de lo digital que como Sísifo remonta una y otra vez su carga.
Así, en los apartados dedicados al lenguaje de scripting se van a mostrar algunos elementos de forma
comparativa con su uso en Processing, pero más allá de las referencias concretas, su infuencia está
.
latente en el deseo de entender y trasmitir el código como algo diferente a un tutorial o manual de
instrucciones, articulando datos informáticos con refexiones estéticas y proyectos artísticos. Con este
8 Lev Manovich, "The Death of Computer Art" [texto on-line] [12.05.2012] http://www.manovich.net/TEXT/death.html.
conjunto de nociones técnicas, teóricas e históricas esperamos avanzar por un camino que nos lleve 9 En el sentido defnido por Heidegger, (1994) "La pregunta por la técnica" en Conferencias y artículos, Barcelona: Ediciones del
Serbal.
a superar la disyuntiva planteada por Lev Manovich.
10 Safaa Fathy, (1999) D’Ailleurs, Derrida. Gloria Films [Documental DVD]
Y Derrida continúa diciendo: "yo sé que cuando eso esté escrito, y formulado en un idioma, y por lo tanto legible, cuando la huella
sea descifrable, perderá la unicidad del destinatario, de la destinataria".
7 Michel Serres, (1991). El paso del Noroeste. Madrid: Debate, pág. 48.
12 13
2. ¿Qué es GAmuza?
Premisas:
Dilema GUI versus Code
En el campo de la enseñanza del arte digital es común ver posiciones que defenden el uso de software
libre, pero entre ellos se plantea otro dilema: utilizar programación gráfca, como Pure data, o enseñar
código, línea de comandos, como Processing.
Hay un complicado entramado de relaciones y signifcancias entre ambas posturas que a veces
parecen responder a campañas de índole casi publicitaria: gráfcos-amigables versus entornos de
programación-hostil. El adjetivo tras el guión indica el tono y posicionamiento del discurso. De nuevo
11 12
el debate entre imagen y texto (textual turn vs. pictorial turn ), y como hemos señalado antes,
GAmuza opta por la hibridación.
Las interfaces gráfcas de usuario (GUI) de los módulos y paneles 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 de programación, por eso incorpora un IDE de programación, estableciendo
una situación híbrida que aúna GUI y Code.
Facilitar, para que estudiantes, artistas, o gente interesada no experta, pierda el miedo a algo que
comúnmente se califca 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 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 fcciones 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 signifca un montón de cosas, una es "gente para la tecnología", o en otras
11 Rosalind Krauss (1966), "Welkome to the Cultural Revolution" en October, Vol. 77 [artículo on-line] <http://www9.georgetown.
edu/faculty/irvinem/theory/Krauss-October-77-1996-WelcomeToTheCulturalRevolution.pdf > [30.08.2012]
12 Liderado en gran medida por W. J. T. Mitchell <http://humanities.uchicago.edu/faculty/mitchell/home.htm> [30.08.2012]
15
GAmuzA Hybrid live codinG / modulAr ApplicAtion 2.GAmuzA
palabras, los medios están preparando "gente a la que vender tecnología". Gamuza es sólo un Ahora, el núcleo central de GAmuza es el entorno de desarrollo integrado (IDE integrated development
13
software, pero creado con un concepto en mente: "Tecnología para la gente", no lo contrario. environment) que proporciona un marco de programación muy simplifcado con el lenguaje de scripting
18 19 20
Lua , (utilizando la librería Luabind y una versión modifcada de ofxLua ) dando así soporte a la
Conscientes de estas premisas, GAmuza es un software híbrido que conjuga un entorno de 21 22
preparación de programas que utilicen la librería openFrameworks 0.7.4, gran parte de sus addons
programación con distintas aplicaciones modulares para el desarrollo de diseño interactivo, la
y el framework propio de GAmuza que establece conexiones entre estas funciones y los módulos de
realización de performances audiovisuales en directo y principalmente la enseñanza de arte interactivo.
aplicación GUI, y que permite visualizar las modifcaciones del código de forma casi inmediata, sin
14
Es open-source, se distribuye bajo licencia MIT y está desarrollado para Linux Ubuntu x86 de 32 o
compilar.
64 bits y para Mac OSX 10.6 o superior. Puede descargarse en: http://www.gamuza.cc
Sistema modular y paneles
GAmuza se inició como un software de Live coding para programar en directo, un término vinculado
tanto a los entornos de programación con un tiempo de compilación infraleve —‘just in time GAmuza comprende distintas aplicaciones modulares y paneles precodifados que son fácilmente
programming’ o ‘real time’—, como a la realización en directo de audio y vídeo donde la presencia del confgurables a través de GUI. Los módulos están siempre activos y los paneles pueden activarse, o
código como imagen, o sobre la imagen, es uno de los rasgos que lo caracterizan. no, en función del tipo de trabajo a realizar, para reducir consumo del equipo. Actualmente los módulos
son:
• Timeline
15
Los algoritmos son pensamientos, las motosierras son herramientas . • Audio Analysis (input)
• Arduino
16 17
Los software de Live Coding, Fluxus y Zajal , fueron los que más infuyeron en el desarrollo de
Y los paneles:
GAmuza. Fluxus es un entorno de programación en tiempo real basado en C++ / Scheme y desarrollado
por Artem Baguinski. Zajal es un lenguaje de programación creativo, basado en Ruby y que funciona • Computer vision
bajo openFrameworks, desarrollado por Ramsey Nasser.
• Sensor Kinect
En resumen, GAmuza es un software que recoge y coordina de forma particular lenguajes (Lua y C++) y
Siguiendo sus pasos, en las primeras
plataformas (openFrameworks, openCV) ya existentes, e incorpora otras librerías propias, para facilitar
versiones de GAmuza, hasta rel.0398, el
los primeros pasos de estudiantes y artistas en el campo de la programación creativa. Por otra parte,
código se escribía directamente en el
combina las dos vías habituales de programación: consola de código textual (IDE) vinculada a las
módulo de Live Coding, y aun es así en
aplicaciones modulares que se ajustan mediante GUI, para que ese proceso de aprendizaje creativo
GAmuza para Linux. A partir de la versión
sea más fácil, pero sin ocultar las estructuras de programación. Para hacer funcionar esta hibridación
041 para Mac OSX, el sistema Live coding
se han programado librerías específcas de GAmuza, que como veremos más adelante, se diferencian
se hibrida un paso más, el código puede
sintácticamente de las que se han incorporado de otras plataformas. Retomando un término de
mostrarse en la ventana de salida, pero
Armando Montesinos, GAmuza más que un collage de lenguajes y plataformas, reconstruye un
cuenta con un editor independiente,
entorno de programación por medio de "zurcidos", utiliza parches y genera tejido nuevo entrecruzando
combinando las necesidades de las
funciones, sin ocultar los fragmentos.
performances en directo con su uso para
la enseñanza de programación.
18 The programming language Lua <http://www.lua.org/> [11.05.2012]
19 Luabind es una librería que ayuda a crear enlaces entre C++ y Lua. Ver http://www.rasterbar.com/products/luabind.html
13 Mazza, Emanuele, "Why GAmuza" [texto on-line] <http://gamuza.d3cod3.org/about/concept/> [11.05.2012]
[12.05.2012]
14 MIT License <http://mit-license.org/> [11.05.2012]
20 OfxLua es un addon de openFrameworks para que funcionen scripts Lua incrustados dentro de una aplicación openFrameworks.
15 Stephen Ramsay, Algorithms are Thoughts, Chainsaws are Tools. [video on-line] <https://vimeo.com/9790850> [04.09.2012]
Ver https://github.com/danomatika/ofxLua [12.05.2012]
16 (Fluxus) <http://www.pawfal.org/fuxus/> [03.09.2012]
21 openFrameworks <http://www.openframeworks.cc/> [12.05.2012]
17 Zajal, < http://zajal.cc/> [03.09.2012]
22 Directorio de extensiones y librerías para openFramworks http://ofxaddons.com/ [12.05.2012]
16 17
GAmuzA Hybrid live codinG / modulAr ApplicAtion 2.GAmuzA
La facilidad de uso de GAmuza reside en la simplifcación del lenguaje Lua (en sí bastante ligero) y 2.1. Confguración Preferencias
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
GAmuza 043 tiene el ajuste de confguración del proyecto en el menú Preferences. Para activarlo, clicar
fexibilidad de niveles y lenguajes.
sobre el nombre del programa situado en la esquina superior izquierda de la pantalla, se despliega un
menú cuyo segundo ítem es Preferences (también se puede activar directamente tecleando Comando
+ coma ⌘, )
La ventana GA Preferences tiene 7 pestañas para confgurar.
Video Output (Ventana de salida):
Video Texture Resolution. Es un menú
desplegable para seleccionar la resolución
de la ventana de salida, se debe elegir
según la resolución de los monitores o
proyectores que se utilicen como segunda
GAmuza está programado para funcionar en mac OSX y Ubuntu Linux x86 de 32 y 64 bits. Como
pantalla; las últimas opciones hacen
se ha señalado, hay distintas versiones de GAmuza que tienen requisitos de sistema, procesos de
referencia al uso de tarjetas que duplican
instalación e interfaces diferentes, en este texto vamos a hacer referencia a la versión 043, para otras
23 o triplican el tamaño de la ventana de
versiones ver nota al pie .
salida.
Para instalar GAmuza 043, desde <http://gamuza.d3cod3.org> descargad la aplicación, abrir (montar)
El segundo ítem está relacionado con el anterior y permite poner manualmente la resolución.
el archivo .dmg y arrastrar el icono de GAmuza a la carpeta Aplicaciones. El proceso de instalación ha
terminado.
El tercer ítem es Mapping Gird Resolution, GAmuza genera una rejilla sobre la imagen de salida para
proyecciones de mapping. Con este slider se puede elegir el número de nodos de esa rejilla, desde
un mínimo de 1 (signifca que el rectángulo de la proyección tiene un punto de ajuste activo en cada
vértice, con los que se puede deformar la proyección según las necesidades), a un máximo de 20
(la imagen tiene 400 rectángulos ajustables). En la descripción de la Barra de Menús se señalan más
datos sobre el funcionamiento de esta rejilla.
Automation:
Opción pensada para la presentación de
instalaciones. Permite seleccionar un
archivo de script previamente guardado,
"Autoloading Sketch", abriendo una
ventana de diálogo para elegirlo dentro
del ordenador. Y también si hay un archivo
23 Para las versiones 042- OSX 10.6 y 0399 - Ubuntu ver el archivo http://www.upv.es/laboluz/mie1/text/GAmuza_042_manual.pdf
18 19