Por Internet circulan varios tutoriales en vídeo que explican cómo instalar Quartz Composer, están todos en inglés, pero creo que aunque no entendáis nada viendo simplemente las imágenes se puede seguir perfectamente. Es posible que no estéis usando el mismo sistema operativo, pero el proceso será más o menos el mismo.
El pásado sábado la gente de visualp5 organizó una conferencia online de introducción a Processing. Para quien esté interesado, ya está colgada en su web, desde donde podéis verla o descargarla.
Esto es una prueba que he estado haciendo hoy con Quartz Composer y Supercollider. La parte de Supercollider es simplemente ruido rosa con un efecto de panorámica (es uno de los primeros ejemplos que vienen en los tutoriales de ayuda). En lo que se refiere a la imagen, es un efecto de partículas que reacciona a la entrada de sonido y que además tiene algún parche de animación (Interpolation).
Abre el archivo 01. Saying Hello (en la carpeta Tutorial Patches de Documentation de Max).
Si presionas sobre la caja que pone Hello!, verás que en la ventana de Max aparece print: Hello!
Un patch (parche) básico de Max es sencillo, consta de diferentes tipos de cajas, llamadas objetos, que envían mensajes a través de conexiones. Este patch en concreto consta de dos objetos diferentes: la caja que contiene la palabra ‘print’ es un objeto de impresión que escribe el mensaje recibido en la ventana de Max. La palabra Hello! es un mensaje dentro de una caja de mensaje que puede contener cualquier cosa que escribas (palabras o números).
Cada tipo de objeto tiene una o más entradas y salidas. La caja de mensaje siempre tiene una entrada y una salida.
Las entradas siempre están arriba, y se indican con una línea negra gruesa en la parte superior del objeto. Las salidas siempre están en la parte inferior.
Normalmente, los objetos tienen tanto entradas como salidas; reciben un mensaje, realizan su tarea y envían el resultado. No obstante, el objeto print no tiene salida porque su salida es siempre la misma: imprimir el mensaje recibido en la ventana de Max.
La caja de mensaje está conectada al objeto print a través de un cable; la salida de un objeto se conecta a la entrada de otro. No se puede conectar una entrada a otra entrada, ni una salida a otra salida.
Este programa funciona así: cuando presionas sobre la caja de mensaje, el mensaje Hello! se envía a través del cable de salida, y llega a la entrada del objeto print, que imprime print: Hello! En la ventana de Max.
La mayoría de los mensajes de Pd son números o listas de números.
Si envías una lista a un objeto con más de una entrada, los elementos de la lista se repartirán a las diferentes entradas, como puede verse en el ejemplo que suma 5 y 6 (el segundo).
En Pd todos los números son decimales, pero los números enteros se muestran sin la coma (en inglés se usa un punto en lugar de una coma) ni los decimales (.0).
Para saber más sobre los mensajes, presiona sobre cualquier caja de mensaje con el botón derecho del ratón para abrir la ayuda (Help).
En Pd, la mayoría de los objetos llevan a cabo sus funciones cuando reciben mensajes por la entrada que está más a la izquierda (caliente). Las otras entradas (frías) son para almacenar valores que pueden modificar la acción. Aquí, el objeto ‘+’ sólo funciona cuando cambia la entrada de la izquierda. Si ajustas la caja de número de la derecha el resultado no cambia, pero se almacena la cifra para que al ajustar el número recibido por la izquierda se sume a este.
En Pd hay que pensar en qué orden va a recibir un objeto sus mensajes. Si una salida está conectada a más de una entrada hay que definir qué entrada recibirá primero la información. Este ejemplo está construido de tal manera que la caja de la izquierda recibe la información en el orden correcto, de derecha a izquierda. El ejemplo malo no recibe la información en el orden correcto porque las entradas están conectadas al revés. A simple vista ambos ejemplos parecen iguales, pero en el bueno se conectó antes la entrada derecha y en el malo la izquierda.
Hay un objeto que permite controlar el orden de los mensajes. ‘trigger’ coge cualquier número de argumentos ‘bang’ y ‘float’ (además de otros) y copia sus entradas en sus salidas de la forma definida, de derecha a izquierda. Si lo conectas a dos entradas sin cruzar los cables conseguirás el efecto deseado. Si cruzas los cables los resultados se almacenarán en la memoria.
Cuando abres uno de los documentos modelo de Pd (Help>Browser>2.control examples>02.editing.pd – de donde está traducido este texto, por ejemplo) el cursor es una flecha. Si seleccionas Edit mode (Ctrl+e) en el menú Edit, la imagen del cursor cambiará a una mano. Esto significa que el parche está en el modo de edición y que puedes mover cualquier objeto arrastrándolo.
Si vuelves a seleccionar Edit mode en el menú Edit, el cursor se convertirá otra vez en una flecha que actúa sobre los objetos sin moverlos.
En el modo Edit, si presionas sobre un mensaje, objeto u comentario puedes modificarlo. Si cambias el texto que hay dentro de un objeto, estás creando un objeto nuevo y eliminando el viejo y Pd intentará volver a reconectarlo todo tal y como estaba antes.
Cuando acabes de cambiar el contenido de una caja presiona fuera de ella para deseleccionarla, esto le indica a Pd que incorpore el texto nuevo.
Puedes crear objetos nuevos duplicando los ya existentes con el menú Edit>Duplicate. También puedes cortar y pegar objetos. Si duplicas varios objetos conectados, las conexiones se mantendrán.
El modo de edición también permite conectar y desconectar los objetos. Si colocas el cursor de la mano sobre una línea que conecta dos objetos verás que se convierte en una X. Si presionas sobre la línea se seleccionará (la verás azul en lugar de negra), y si aprietas la tecla Espacio atrás eliminarás la conexión. Si colocas el cursor sobre una salida verás que se convierte en un círculo (un punto de parche), si arrastras hacia una entrada verás que vuelve a aparecer el círculo y al soltar el botón del ratón se creará una conexión.
El menú Put crea nuevos elementos de texto de cualquiera de los cuatro tipos. También puedes colocar una caja de símbolo (Symbol), similar a una caja de número (Number) pero para mostrar e introducir cadenas de texto.