°°° Lenguaje gráfico para la programación de audio y vídeo.Max-MSP & Pure DataPure Data y Max-MSP son un entorno de programación gráfico que, a diferencia de los lenguajes tradicionales de código secuencial, trabajan a partir de objetos gráficos con forma de pequeñas ¨cajas¨ que se conectan entre si a través de cables virtuales.Tanto Max como Pd son entornos de programación gráfica creados especialmente para la generación y el procesamiento de sonido, imagen y video en tiempo real.Max-MSP fue creado originalmente en el IRCAM en 1996 por Miller Puckette y David Zicarelli , y es desarrollado actualmente por Cycling74.Pure Data fue creado y desarrollado también por Miller Puckette y su equipo en el IRCAM.Mientras que Max es un software que se comercializa, Pd es un software libre y de código abierto.En ambos casos existe una gran comunidad de personas desarrollando objetos y librerías para expandir sus capacidades.Se trata de dos de los programas más difundidos, desarrollados y utilizados en música electrónica en vivo e instalaciones multimediales e interactivas.Otra diferencia entre Max o Pd con los lenguajes como C, C++ o Java es que la programación está orientada a flujo de datos.Esto permite trabajar más fácilmente con procesos en paralelo y la dirección de los datos la determina, en principio, la conexión entre los objetos a través de cables.Al abrir el programa nos encontramos con la ventana de Pd (Pd Main Window), donde el programa nos informa sobre las librerías que fueron cargadas y de los errores, si los hubiera.Es también el lugar donde se imprimen los mensajes enviados desde el entorno.INLETS & OUTLETSLos objetos para conectarse entre si poseen entradas y salidas (llamados inlets y outlets respectivamente) que permiten que la información pase de un objeto a otro/s.Solo es posible conectar un outlet de un objeto con un inlet de otro/s (o incluso uno propio) y viceversa.No es posible conectar inlets entre si u outlets entre si.Para realizar las conexiones se utilizan cables que se crean clickeando sobre un outlet y arrastrando hasta un inlet.Para la mayoría de los objetos la entrada de la izquierda es la "hot inlet", debido a que el objeto solo devuelve información cuando recibe algo en esta entrada.El resto de las entradas, por lo general, solamente guardan los datos a ser procesados, pero la operación solo se resuelve en el momento en que la entrada izquierda es activada.ELEMENTOS DE PROGRAMACIÓNHaciendo una comparación con los lenguajes de programación orientados a objetos, las cajas son en realidad objetos o funciones implementados dentro de un objeto gráfico.Por lo tanto, dependiendo de las características particulares, se les puede pasar información a través de sus entradas y devolver resultados a través de sus salidas.Importante: el flujo de datos es siempre de arriba hacia abajo; es decir que: en la parte superior de los objetos se encuentran las entradas, y por debajo las salidas.Solo puede conectarse una salida con una entrada.Los elementos que utiliza Pd para la programación son:.1 Objetos .2 Mensajes .3 Números .4 Símbolos .5 Comentarios .6 Objetos gráficos (GUI)A continuación presentamos las "cajas" más utilizadas para programar.Desde la caja de objeto se puede acceder a todos los demás.ARGUMENTOSLa mayoría de los objetos admiten argumentos luego del nombre del objeto.Los argumentos son valores iniciales, o por defecto, que determinan el comportamiento del objeto.Muchas veces las entradas del objeto sirven para modificar el valor inicial del argumento.En ese caso el dato que vale es el último que entró y el argumento queda sin efecto.AYUDAAl hacer click con el botón derecho del mouse sobre cualquier objeto se despliega un menú desde donde podemos acceder al "help" del mismo objeto.Allí encontramos la descripción de sus funciones y un pequeño ejemplo de programación.También es posible hacer lo mismo sobre el canvas o lienso (el fondo de la pantalla de programación) para obtener una lista completa de los objetos de pd.PROPIEDADESMuchos objetos poseen propiedades que determinan su comportamiento y su aspecto en pantalla.Estas propiedades pueden verse y editarse en el menú "properties" al que se accede clickeando con el botón derecho del mouse.MODOSPd tiene dos estados, el de edicion y el de ejecucion.El primero de ellos se utiliza para cambiar los objetos, arrastrarles, armar o cortar conexiones entre objetos a través de los cables, etc.En el modo ejecucion se pueden enviar los mensajes a la consola de impresión para ejecutar su comando inserto, cambiar el valor en las cajas de numero, ejecutar toggles, bangs, escuchar el audio, etc.Los modos ejecución y edición se pueden altenar o intercambiarse desde el menú Edit, o con cmd + e (mac) o ctrl + e (win).