Pure Data cuenta con una serie de objetos que nos va a permitir controlar el flujo de datos en nuestras aplicaciones.
Estos objetos sirven para seleccionar o filtrar números y para direccionar la información.
Cuando deseamos saber si la salida de un objeto es un número en particular podemos valernos del objeto select. En G.2.7. observamos varios ejemplos que describen el modo de utilizarlo.
En A, el número 14 en el argumento determina el criterio de selección; cuando el número que ingresa es
el 14, el objeto envía un bang a la salida. En B, vemos un alias de select, sel, implementado para ahorrar escritura, dado
que este también es un objeto muy usado. En C, el outlet de la derecha envía los números que no cumplieron
con la condición (todos menos el 14). En D, observamos que por el inlet derecho se puede cambiar el criterio de
selección, y reemplazar el 14 del argumento por cualquier otro valor. Finalmente, en E vemos que un mismo objeto
select puede reconocer más de una opción numérica, simplemente aumentando la cantidad de argumentos escritos
en el objeto. Pero en este último caso, no resulta posible cambiar los argumentos por valores externos al objeto.
A través del patch “07-select.pd” podremos experimentar el uso de este objeto, ingresando valores o modificando la programación.
El objeto switch dispone de varias entradas y una única salida. La cantidad de entradas está determinada por el argumento que escribamos al crear ese objeto. A switch ingresan varias líneas de datos numéricos, pero solo una –o ninguna– pasa a la salida. A través del número que entra por el primer inlet determinamos cuál de las entradas dejamos salir por el outlet. Si por el inlet izquierdo ingresamos un 0 (cero) ninguna entrada sale por su outlet; si ingresamos un 1, sale solo lo que entra por el segundo inlet; si entra en cambio un 2, sale lo que entra por el tercer inlet, y así sucesivamente.
El ejemplo “08-switch y gate.pd”, cuya ventana se reproduce en G.2.8. implementa estas compuertas. A partir de su uso comprenderemos mejor el funcionamiento y posibles aplicaciones de estos objetos de control.
El objeto gate, por otra parte, funciona de manera inversa. Mediante el número que ingresa por el inlet izquierdo
determinamos a qué salida se dirigen los números que entran por la derecha. Aquí también el valor del argumento
que elijamos determina la cantidad de outlets del objeto. En ambos ejemplos empleamos un nuevo objeto gráfico,
denominado radio button. Para switch utilizamos uno vertical, Vradio (que encontramos en el menú Poner), y para gate un radio button horizontal, denominado Hradio. La cantidad de opciones de selección de este objeto GUI, la especificamos
en el menú de Propiedades del objeto (accedemos haciendo clic con el botón derecho del mouse sobre él), al
igual que sus dimensiones y colores. Si presionamos el primer botón de un radio button obtenemos un cero (0), un uno
(1) con el segundo botón, y así sucesivamente.
El objeto spigot deja pasar a su salida cualquier número que ingresa por la izquierda, siempre y cuando su argumento,
o el número que entra por la derecha, sea distinto de cero.
El objeto split, por su parte, deja pasar a su outlet izquierdo cualquier número que esté comprendido en cierto rango
de números. Si el número ingresado se encuentra fuera del rango, sale por la derecha. En G.2.9., a la derecha,
se observa que el rango se establece mediante dos argumentos, o bien a través del segundo inlet (valor mínimo del
rango) y del tercero (valor máximo).
El ejemplo “09-spigot y split.pd”, cuya ventana se reproduce en la figura anterior, implementa estas compuertas.