1 tema 7. sistemas visuales interactivos (1) 1.introducción a pd. 2.principios básicos de...

46
1 TEMA 7. Sistemas visuales interactivos (1) 1. Introducción a PD. 2. Principios básicos de funcionamiento. 3. Abstracciones 4. Control de flujo 5. Interfaz gráfica de usuario (IGU) 6. Estructuras de datos en PD. 7. Video y audio en Pd. Refrencias Sergi Jordá. “Introducción a Pd”, pdf accesible desde la página personal de Jordá (Taller de música electrónica) http://www.tecn.upf.es/~sjorda/

Upload: joaquin-ponce-navarro

Post on 03-Feb-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

1

TEMA 7. Sistemas visuales interactivos (1)1. Introducción a PD.2. Principios básicos de funcionamiento.3. Abstracciones4. Control de flujo5. Interfaz gráfica de usuario (IGU)6. Estructuras de datos en PD.7. Video y audio en Pd.

RefrenciasSergi Jordá. “Introducción a Pd”, pdf accesible desde

la página personal de Jordá (Taller de música electrónica)

http://www.tecn.upf.es/~sjorda/

Page 2: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

2

Introducción

PD (MAX) es un lenguaje gestado a inicios de los 80s para control en tiempo real de uno de los primeros sintetizador digitales, fabricado por IRCAM.

Inicialmente se plantea como un sistema de control, sin posibilidad sonoras propias (ni visuales)

Conforme aumenta la potencia de los ordenadores, PD va incorporando otras posibilidades:– Entrada/salida de audio (~1996)– Entrada/salida de imagen (~1999)

1 . Introducción a PD

Page 3: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

3

La familia Max

MAX (cycling74) para Macintosh y Windows (comercial)– Audio con MSP (comercial)– Imagen con NATO o Jitter (ambos comerciales)

JMAX (IRCAM) para Linux (freeware & open source)– Incorpora audio

PD (M. Puckette) para Linux y Windows(freeware & open source)– Incorpora audio– Imagen con GEM y Framestein (ambos libres y open

source)

1 . Introducción a PD

Page 4: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

4

Interactividad

De forma general, un ordenador puede responder a:– Datos de Control (teclados, ratones, joysticks ,sensores,

red…)– Sonido (procesarlo o escucharlo-analizarlo interpretarlo)– Imagen (procesar ficheros, entrada cámaras..)– Cualquier combinación (e.g. audio + videocámara

+sensores…)

El ordenador puede responder con:– Sonido nuevo (MIDI o audio: composición algorítmica,

síntesis a t. real, secuencias pregrabadas, alteradas …)– Sonido procesado (a partir del sonido de entrada)– Imágenes (generadas, disparadas, procesadas…/– 2D, 3D, vídeo…)– Control de dispositivos (proyectores, luces,– robots…)

1 . Introducción a PD

Page 5: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

5

Interactividad con PD Un lenguaje como PD (ó MAX…) (con algunos plugins o librerías

adicionales) admite entradas de tipo:– Audio– MIDI– Mouse + computer keyboard + joystick…– Webcam(u otra entrada de vídeo)– Puertos serie, paralelo…– TCP/IP

Admite salidas de tipo:– Audio– MIDI– Puertos serie, paralelo…(control de dispositivos)– TCP/IP– Imagen:

Disparo y/o procesado de secuencias vídeo Disparo y/o procesado de imágenes fijas Generación animaciones sintéticas 2D, 3D

1 . Introducción a PD

Page 6: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

6

Interactividad con PD

Como conclusión podemos decir que PD es un:– Supermapeador– Un sintetizador/procesador de audio– Un sintetizador/procesador de video

1 . Introducción a PD

Page 7: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

7

PD en Internet

Miller Puckette's software

1 . Introducción a PD

Page 8: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

8

Instalación Bajar y descomprimir pd en cualquier

directorio Esto instalará el ejecutable (pd.exe),

librerías básicas, objetos adicionales, ejemplos, documentación, ayudas así como todo el código fuente (por si deseásemos modificar o añadir objetos en C)

Adicionalmente se puede crear un fichero .bat añadiendo opciones adicionales.

1 . Introducción a PD

Page 9: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

9

Puertos Midi Virtuales

Para trabajar en el entorno midi es interesante añadir puertos midi virtuales. (www.midiox.com)

Y teclados midi virtuales.

1 . Introducción a PD

Page 10: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

10

Filosofía Pd es un lenguaje de programación gráfico y

orientado a flujos de eventos, audio y video. La ejecución del entorno PD, supone la

ejecución de una máquina “virtual”, sobre la que se pueden lanzar programas denominados patches (ventanas).

Los diferentes patches que se pueden comunicar en ejecución, puesto que se ejecutan concurrentemente.

Los patches se pueden editar mientras se están ejecutando.

2 . Principios básicos de funcionamiento

Page 11: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

11

Elementos básicos de PD Objetos, que representan acciones o

métodos, responden a entradas y generan salidas después de procesarlas (se pueden definir, pero hay muchos predefinidos)

Mensajes, representan elementos de control para los objetos.

Comentarios Números y símbolos, son celdas que pueden

albergar números y strings. Canales, establecen las relaciones entre los

diferentes elementos. Por los canales pueden discurrir números, strings, eventos de teclado,.. y muestras de audio y video.

2 . Principios básicos de funcionamiento

Page 12: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

12

Ejemplo

2 . Principios básicos de funcionamiento

Page 13: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

13

Elementos básicos de PD Un elemento “mensaje” admite en principio

cualquier texto. Un elemento “objeto”, solo admite palabras

“comprensibles” para PD. Estas palabras constituyen el vocabulario de

PD, y son los equivalente a lo que en cualquier otro lenguaje de programación serían las instrucciones básicas (e.g. IF,<, +…) y las funciones.

Si pulsamos con el botón izquierdo sobre un objeto podemos acceder a la ayuda que también son patches y por lo tanto los podemos ejecutar y copiar en otros patches.

2 . Principios básicos de funcionamiento

Page 14: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

14

Entradas, salidas y canales Las marcas negras situadas en la parte

superior de un objeto (o mensaje) son sus entradas (varían de 0 a varias)

Las marcas negras situadas en la parte inferior de un objeto (o mensaje) son sus salidas (varían de 0 a varias)

Solo se puede conectar las salidas (parte inferior de un objeto o mensaje) con las entradas (parte superior de un objeto o mensaje) y viceversa.

Una salida puede conectarse a varias entradas

Una entrada puede recibir de varias salidas No todas las salidas y las entradas son

compatibles

2 . Principios básicos de funcionamiento

Page 15: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

15

Nombres de objetos Los nombres de los objetos no pueden

contener espacios. Si vemos un objeto en el que aparecen varios nombres (o números) separados por espacios, estaremos ante un objeto con argumentos.

PD distingue entre mayúsculas y minúsculas. En este sentido, la mayoría de objetos PD utilizan sólo minúsculas en el nombre, pero en el caso de que alguno contuviera alguna mayúscula, deberíamos escribirlo tal cual

2 . Principios básicos de funcionamiento

Page 16: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

16

Mensajes especiales

Hay determinados mensajes que producen determinadas acciones en los objetos. Por ejemplo “open” o “close” .

Bang se utiliza para “disparar” cualquier tipo de evento. Significa algo así como “hazlo!”. La mayoría de objetos que reciben un mensaje de tipo “bang” se ponen en marcha y realizan una acción y normalmente producen una salida.

Los valores numéricos constantes se utilizan de la misma forma que en la mayoría de lenguajes de programación. Siempre que queramos guardar un valor numérico con un significado especial, o un valor por defecto.

2 . Principios básicos de funcionamiento

Page 17: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

17

Objetos numéricos (IGU)

El objeto Number se comporta tanto como entrada como salida. Si (en modo ejecución) arrastramos el ratón por encima del objeto, modificaremos su valor.

Estudiar el siguiente ejemplo:

2 . Principios básicos de funcionamiento

Page 18: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

18

Prioridades en la E/S

Dado que de un punto pueden producirse varias salidas y que un objeto puede tener varias entradas (y que en un ordenador no existe realmente el concepto de simultaneidad), la pregunta es ¿En que orden se ejecutan los objetos/patches PD?

2 . Principios básicos de funcionamiento

Page 19: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

19

Entrada Activa

Una primera regla fundamental de PD es que la mayoría de objetos, sólo disparan una salida cuando reciben algo por la entrada más a la izquierda.

La entrada izquierda es la entrada activa

Normalmente, las entradas que va recibiendo un objeto, se van almacenando en su interior, hasta que la entrada izquierda active una salida. Esta salida se calculará con los valores que se habrán ido almacenando.

Probar diferentes conexiones del ejemplo:

2 . Principios básicos de funcionamiento

Page 20: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

20

Orden de salidas

En Pd cuando una salida se dirige a varias entradas, la que primero sale es la primera que se conectó.

Ejemplo:

2 . Principios básicos de funcionamiento

Page 21: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

21

El objeto trigger

El objeto trigger, se debe usar SIEMPRE que queramos que una misma salida se distribuya por varias conexiones.

Este objeto admite una entrada y varios argumentos

Estos argumentos pueden ser los siguientes: float, bang, symbol, list y anything

El número de salidas de trigger será igual al número de argumentos.

trigger permite redistribuir la entrada por varias salidas, garantizando el orden de salida (de derecha a izquierda) y dando la opción de convertir la salida a otro tipo de dato, por ejemplo, convirtiendo un valor numérico en un mensaje de tipo bang

2 . Principios básicos de funcionamiento

Page 22: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

22

Ejemplo de trigger

2 . Principios básicos de funcionamiento

Page 23: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

23

Argumentos en los objetos

Algunos objetos no aceptan argumentos Otros aceptan un número fijo (e.g. +) Otros un número variable (e.g. trigger) Algunos aceptan cualquier símbolo (e.g.

print) Otros sólo símbolos específicos (e.g. valor

númerico para los operadores como suma, o los símbolos específicos de select (if))

2 . Principios básicos de funcionamiento

Page 24: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

24

Argumentos en los objetos

En algunos casos, los argumentos determinan un valor inicial por defecto.

En estos casos, las entradas de la derecha suelen modificar este valor (aunque visualmente no se modifique este valor en el patch), como es el caso de la suma:

– Inicialmente, todo valor que entra por la izquierda, sale sumado en 10.

– Después de que hayamos introducido un nuevo valor por la izquierda (e.g. 18), el sumando toma un nuevo valor (e.g. 18), aunque lamentablemente seguimos visualizando un 10, lo cual puede prestar a confusión.

2 . Principios básicos de funcionamiento

Page 25: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

25

Argumentos en los objetos Una alternativa a

este tipo de argumentos, sería utilizar un loadbang, que manda un bang cuando se abre el patch.

2 . Principios básicos de funcionamiento

Page 26: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

26

Argumentos en los objetos

En algunos casos, los argumentos alteran el comportamiento de un objeto, como en el caso de trigger que acabamos de ver, en que el número de argumento determina incluso el número de salidas del objeto. En estos casos, estos argumentos no suelen poderse modificar en ejecución.

2 . Principios básicos de funcionamiento

Page 27: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

27

Resumen

Los objetos PD disparan una salida cuando reciben algo por la entrada izquierda

Cuando un objeto PD tiene varias salidas diferentes su orden es de derecha a izquierda.

Cuando una misma salida se manda a varias entradas diferentes es difícil garantizar el orden de llegada su orden es el de creación de la conexión, a no ser que se utilice el objeto trigger

Los argumentos se utilizan para inicializar objetos y para modificar su comportamiento.

2 . Principios básicos de funcionamiento

Page 28: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

28

Encapsulamiento y abstracciones

En un lenguaje tradicional, una función es un fragmento de código que puede tener varias entradas (parámetros) y hasta una salida (retorno de la función). En PD, una abstracción puede tener varias entradas y también varias salidas.

En Pd, una abstracción se define como un patch donde las entradas se corresponden con los objetos inlets y las salidas con los objetos outlets:

– tendrán tantas entradas como objetos inlets

– tendrán tantas salidas como objetos outlets

– el orden de entradas (y de salidas) en el objeto se corresponderá con su posición espacial en el patch (es decir la entrada de la izquierda corresponderá con el objeto inlet situado más a la izquierda, etc.)

La ventana de una abstracción puede estar cerrada o abierta. Si esta cerrada los números y otros objetos no consumen recursos.

3 . Abstracciones

Page 29: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

29

Ejemplo

3 . Abstracciones

Page 30: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

30

Ubicación de las abstracciones

Para que cualquier patch encuentre los objetos que hemos creado nosotros, es necesario que se cumpla una de las dos condiciones siguientes:

– Que nuestro objeto esté salvado en unos de los directorios incluidos en el path de PD . (pantalla principal de pd File>Path..)

– Que el objeto y el patch que lo debe contener se encuentren en el mismo directorio (lo cual solo podrá darse, si el patch que lo contiene ya ha sido bautizado y salvado, puesto que antes no está en ningún directorio).

3 . Abstracciones

Page 31: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

31

Subpatches

Los subptaches son una versión reducida de las abstractions. Permiten hacer que nuestro programa sea más limpio pero no nos permite reutilizar objetos. Los subpatches son subventanas de la ventana principal.

3 . Abstracciones

Page 32: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

32

Argumentos

A menudo es útil poder hacer que nuestros patches puedan utilizar argumentos, igual que la mayoría de objetos PD. Esto se consigue mediante el signo $ seguido de un valor numérico.

3 . Abstracciones

Page 33: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

33

Los objetos send y receive

Los objetos send (s) y receive (r) se usan cuando las posiciones de los objetos en una ventana hacen que sea difícil mantener un cierto orden y evitar un confuso amasijo de cables.

Ambos objetos necesitan un parámetro, que se podría asimilar al nombre de una variable en un lenguaje de programación convencional( aunque es un canal)

El objeto send tiene una entrada, y el objeto receive tiene una salida.

Cuando un send recibe algo (e.g. un valor numérico, un mensaje…) inmediatamente lo manda a todos los receives que tengan el mismo argumento

Puede haber un número cualquiera de sends con el mismo argumento(obviamente, también con argumentos diferentes)

3 . Abstracciones

Page 34: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

34

Ejemplo

3 . Abstracciones

Page 35: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

35

send y receive con mensajes Los mensajes también pueden incluir

destinatarios (nombres de objetos receive) lo que permite su uso sin cables. Para indicar el destinatario de un mensaje, basta con anteponer ; (punto y coma) al nombre del destinatario.

Así, cuando un mensaje comienza por ; la primera palabra que le sigue no es el mensaje en si, sino su destinatario. La palabra siguiente sí que es el mensaje.

3 . Abstracciones

Page 36: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

36

El objeto value

Una variante del send y receive es el objeto value (o v en abreviado). Igual que send y receive utiliza un nombre como argumento. A diferencia de los anteriores, la entrada de value no sale automáticamente por la salida. Para que la salida se produzca se necesita un bang en la entrada.

Al igual que con send y receive, los objetos value se comunican aunque estén en ventanas diferentes.

3 . Abstracciones

Page 37: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

37

Los objetos integer y float

integer y float se utilizan para almacenar valores.

No utilizan argumentos, por lo que NO funcionan como variables compartidas (a diferencia de send/receive o value)

Un valor numérico por la entrada derecha almacena este valor (y no lo dispara)

Un valor numérico por la entrada izquierda almacena este valor y lo dispara inmediatamente

Un bang por la entrada izquierda, dispara el valor almacenado

3 . Abstracciones

Page 38: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

38

Ejemplo

Si inicialmente mandamos un 0 a i, dado que esta entrada se produce por la izquierda, inmediatamente sale el mismo 0.

Este 0 llega al objeto + 1, con lo cual, la salida es la entrada incrementada en 1, es decir 1

Este valor entra de nuevo en el objeto i, pero esta vez por la derecha, con lo cual no sale, pero se almacena

Cuando i recibe un bang, este objeto dispara el valor almacenado, es decir 1, que tras pasar por + 1, entra de nuevo en i con un valor 2

Este valor no sale y se almacena hasta que volvamos a mandar un bang …

3 . Abstracciones

Page 39: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

39

Análisis por casos

El objeto sel (o select) tiene una única entrada (en algunos casos dos)

Admite un nuevo variable de argumentos

Presenta tantas salidas como argumentos + 1

Si una entrada coincide con el argumento número N, select manda un bang por la salida número N

Si una entrada no coincide con ninguno de los argumentos, select saca esta entrada inalterada por la salida N+1 (es decir por la de más a la derecha)

Los argumentos de sel pueden ser de cualquier tipo (valores numéricos, palabras, etc.)

Cuando sel tiene un único argumento, presenta además una entrada adicional (por la derecha), que permite modificar el valor a comparar.

4 . Control de flujo

Page 40: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

40

Análisis por casos

Traducción de la instrucción if a pd.If evaluacion

print cumple Else print nocumple

4 . Control de flujo

Page 41: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

41

Repeticiones

Para realizar repeticiones se utiliza el objeto until.

Este objeto emite un bang por su salida hasta que le llega un bang por su entrada derecha.

4 . Control de flujo

Page 42: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

42

Ejemplo

4 . Control de flujo

Page 43: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

43

Elementos de la IGU

Hasta ahora hemos visto el objeto Number que permite introducir valores numéricos mendiante el ratón.

En PD existen otros objetos de interfaz gráfico (GUI). Estos objetos permiten normalmente modificar su aspecto (tamaño, color, etc) y algunas otras opciones de configuración:– 1. Bang– 2. Toggle– 3. Number2– 4. Vslider– 5. Hslider– 6. Vradio– 7. Hradio– 8. VU– 9. Canvas

5 . Interfaz gráfica de usuario

Page 44: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

44

El objeto Bang

Se comporta exactamente igual que el mensaje bang.

Su aspecto es el de un botón pulsador de tamaño y color configurable por el usuario que manda un bang cada vez que se pulsa con el ratón (o cada vez que recibe cualquier entrada)

5 . Interfaz gráfica de usuario

Page 45: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

45

Propiedades del objeto Bang

5 . Interfaz gráfica de usuario

Page 46: 1 TEMA 7. Sistemas visuales interactivos (1) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

46

5 . Interfaz gráfica de usuario