You are on page 1of 47

TUTORIAL MAX MSP

Clase particular 1: Hola


Fundamentos máximos del patcher
Abra la clase particular.
En esta clase particular, examinaremos los bloques huecos de un patcher máximo: la caja del
objeto, la caja de mensaje y la caja del comentario. También cavaremos en algunas de las
funciones de edición básicas proporcionamos por el ambiente máximo.
Este breve viaje de un patcher simple demostrará la tipología básica de los programas simples
escritos en máximo: opóngase las cajas que realizan acciones del comando dentro de un
remiendo; cajas de mensaje que permiten que creemos los mensajes que se pueden enviar a los
objetos; cajas del comentario que permiten que documentemos nuestros patchers para hacerlos
más fáciles entender.
Mirada alrededor
Heche una ojeada el patcher 01mHello. En el lado derecho superior de la ventana del remiendo,
podemos ver tres tipos de cajas.
El primer elemento es la caja etiquetada impresión. Esto es una caja del objeto, y se puede
reconocer por él ha redondeado el esquema y (en este caso) un pequeño “puerto” en el izquierdo
superior que llamamos una entrada. Las cajas del objeto son el elemento de lógica básica de
máximo - contienen las funciones que realizan una cierta clase de tarea, y funcionan como
programas miniatura dentro del ambiente más grande.
Apenas debajo de objeto la caja es una caja de mensaje (etiquetada con la palabra “mensaje”).
Éstos son visualmente diferentes de la caja del objeto - tienen un fondo gris, y no tienen un
esquema. Las cajas de mensaje contienen una cierta información (llamada un mensaje) que se
puede enviar a los objetos, y pueden funcionar como comandos o datos de control.
La tercera caja no parece una caja en absoluto - aparece ser texto en el fondo de la ventana del
patcher. Hay realmente una caja alrededor de este texto, pero no es visible hasta que decidamos
corregir nuestro remiendo. Esta caja del comentario se utiliza para agregar el texto para los
controles de etiquetado (e.g. “chasqúeme”), o para agregar comentarios a su remiendo para
hacer su operación más evidente a usted o cualquier persona usted puede ser que comparta su
remiendo con.
Los programas máximos funcionan pasando mensajes entre los objetos. Las cajas del objeto se
pueden conectar con una otra, y las cajas de mensaje se pueden utilizar para originar o, en
algunos casos, los mensajes de proceso que se utilizan para controlar otros objetos.
Abrir el patcher
Cuando usted primero abrió este patcher, encontramos que en “trabó” el estado - significado
que no podemos corregir objetos o el texto uces de los en la ventana. Cuando un patcher es
bloqueado, la intención es que esté utilizada como programa. Puesto que la energía de máximo
es que podemos corregir y manipular estos programas para hacer de lo que tenemos gusto,
déjenos “abren” este remiendo y hacen cierto corregir.
Elija corrigen del menú de la visión. Usted verá varios cambios en el patcher. Primero, las
cajas que rodean las cajas del comentario se revelan (le dijimos que estaban allí). En segundo
lugar, el mensaje y las cajas del comentario demuestran las entradas que fueron ocultadas en
el estado bloqueado. Además, los puertos en la parte inferior de estas cajas se revelan; éstos son
enchufes. Finalmente, mucho más de los iconos en la parte inferior de la ventana del patcher
están disponibles ahora para nuestro uso.
Además de los cambios visibles, estamos libres ahora de corregir el contenido de la ventana.
Double-click dentro de la caja del objeto en el upper-right que dice la impresión; se selecciona
el texto, y usted puede mecanografiar el nombre de otro nombre de objeto en esa caja.
Mecanografíe el “metro” (sin las cotizaciones), y chasque fuera de la caja del objeto para
terminar el corregir. Ahora hemos cambiado la función de ese objeto (ahora es un objeto del
metro). Usted verá el objeto encajonar tamaño del cambio, y el número de entradas y de
enchufes cambiará como la función del objeto ha cambiado. Aprendemos máximo aumentando
un vocabulario de objetos y cómo conectan con otros objetos (es decir qué mensajes entienden y
transmiten).
Double-click dentro de la derecha de caja de mensaje debajo de eso. Cambie el texto de
mensaje cualquier cosa (por ejemplo, mecanografíe adentro la palabra “cualquier cosa”),
después chasque fuera de la caja para aceptar el cambio. Observe eso que cambia el texto de
mensaje no cambia las entradas o los enchufes, puesto que solamente el contenido (pero no la
función) de la caja de mensaje ha cambiado.
Finalmente, el double-click dentro de la caja del comentario y cambia su texto. Puesto que la
caja del comentario no tiene ninguna función con excepción de agregar el texto al remiendo,
usted está libre de poner en cualquier texto que le satisfaga.
El obrar recíprocamente con un patcher bloqueado
Trabe el remiendo unchecking corrigen en el menú de la visión. Veamos qué sucede cuando
chascamos encendido cada uno de los tipos de la caja. En la esquina derecha superior del
remiendo, chasque encendido la caja del objeto (que cambiamos de la impresión al metro) -
nada sucede. Chascar encendido la caja de mensaje directamente debajo de él, sin embargo,
cambia el color de fondo - obviamente, algo está sucediendo cuando chascamos encendido esa
caja.
En el lado izquierdo de nuestro patcher, hay tres cajas de mensaje conectadas con un objeto de
la impresión con las líneas (llamadas los patchcords). Chasque encendido cada uno de estas
cajas de mensaje alternadamente, después mire la ventana máxima; usted verá que el
contenido de las cajas de mensaje que chascamos está exhibido allí. Éste era un resultado de
chascar en las cajas de mensaje: generaron un mensaje (el contenido de la caja de mensaje) y lo
enviaron abajo del patchcord al objeto de la impresión. El objeto de la impresión toma
cualquier mensaje que reciba en su entrada y “la imprime” hacia fuera en la ventana máxima.
Las comas cambian todo
Usted notó probablemente que dos de las cajas de mensaje tienen texto casi idéntico, pero la
exhibición en la ventana máxima es diferente. ¡La caja de mensaje con buena mañana del texto
la “, todos! ”, cuando está enviado a la impresión el objeto, causado el texto que se exhibirá en
dos líneas. ¡La derecha de caja de mensaje debajo de ella (con buena mañana del texto la “\,
todos! ") fue exhibido por el objeto de la impresión en una sola línea en la ventana máxima. La
diferencia está en el uso de la coma, que tiene un significado especial en cajas de mensaje
dentro del máximo.
En una caja de mensaje, la coma se utiliza como separador del mensaje; esencialmente, da
vuelta a una sola línea de texto en dos mensajes discretos. Así, el mensaje “buena mañana,
todos!” se trata realmente como dos mensajes: La “buena mañana” se envía el enchufe de la caja
de mensaje, seguido inmediatamente por “todos!”.
Para tratar la coma como texto (algo que como separador del mensaje), usted necesita dejar la
caja de mensaje saber que usted está eliminando el comportamiento especial de la coma. Usted
hace esto precediendo la coma con el carácter de la barra (“\ "), que dice la caja de mensaje no
hacer caso del uso especial de la coma, y lo trata como carácter literal del texto. Los de usted
familiar con lenguajes de programación textuales encontrarán el uso de un carácter de la barra
“de escapar” un carácter que tenga el familiar del significado especial.
Abra el patcher, chasque dentro de la caja de mensaje más baja (la que está con la barra) y
quite la raya vertical. Trabe el remiendo y chasque encendido la caja de mensaje corregida -
usted verá que, ahora crea también dos líneas de texto en la ventana máxima. Corrija la primera
caja de mensaje, agregando una barra antes de su coma, y trabe el remiendo; ahora exhibe el
comportamiento previsto de la impresión el mensaje entero en una sola línea.
Conseguir ayuda
El objeto de la impresión está haciendo obviamente algo enviar el texto a la ventana máxima;
de hecho, cada caja del objeto realiza una cierta clase de tarea. Para determinar qué función
realiza una caja del objeto, usted puede ver varios tipos de documento para conseguir ayuda.
Abra el patcher y seleccione la caja del objeto de la impresión chascando en él o chascando y
arrastrando el ratón sobre él para destacarlo. Seleccione la ayuda abierta de la impresión
del menú de ayuda. Una nueva ventana del patcher (llamada un patcher de la ayuda) se abre
con un ejemplo que demuestre el objeto de la impresión en la acción. Observe que esto es un
remiendo máximo real, y puede ser abierto, ser corregido, o ser copiado a otra parte,
conservando funcionalidad exhibida ua de los.
Cierre el patcher de la ayuda del objeto de la impresión y reelija el objeto de la impresión.
Seleccione la referencia abierta de la impresión del menú de ayuda. Una ventana de
hojeador (como ésta) se exhibe con la página del manual.N-POS=30 de referencia para el objeto
de la impresión. Esto da la información detallada sobre el objeto, todas sus entradas y los
enchufes, e incluso proporciona un remiendo del ejemplo para su referencia. Ésta es quizás la
información más detallada disponible para cualquier objeto. En el patcher de la ayuda y la
página de la referencia, los objetos y los asuntos relevantes o similares al objeto que usted es
visión se pueden ver chascando en acoplamientos en el considerar también seccionan en la
parte inferior.
Cree algunos nuevos mensajes
Agreguemos algunos objetos a nuestro remiendo, y cree nuestro propio mensaje que pasa lógica.
Primero, con el patcher abrió, chascan encendido el icono de la gama de colores (“+” símbolo en
la parte inferior de la ventana) y seleccionan el primer objeto - es la caja del objeto. Esto
colocará una caja vacía del objeto en su ventana del patcher, lista para que usted incorpore su
nombre. Incorpore la “impresión”, después chasque fuera de la caja para aceptar este cambio.
Mueva el objeto en alguna parte en el patcher con un cierto espacio claro sobre él chascándolo y
arrastrando alrededor.
Después, chasque encendido el icono de la gama de colores y seleccione el segundo objeto, una
caja de mensaje. Cuando aparece en su ventana del patcher, mecanografíe adentro el mensaje
“adiós!”. Coloque esta caja de mensaje sobre el objeto de la impresión. Finalmente, conecte
las dos cajas chascando en el enchufe de la caja de mensaje, arrastrando el ratón con la
entrada del objeto de la impresión, entonces lanzando el botón de ratón. Esto creará un
patchcord entre los dos objetos, permitiendo que los mensajes pasen de la caja de mensaje al
objeto de la impresión.
Trabe el remiendo y chasque encendido el nuevo “adiós!” mensaje. Usted verá el texto
“adiós!” aparezca en la ventana máxima. ¡Enhorabuena - usted acaba de hacer su primer
remendar máximo!
Conclusión
Los tres elementos principales de un remiendo máximo (cajas del objeto, cajas de mensaje y
cajas del comentario), junto con patchcords, son la base de todos los programas máximos.
Cada tipo de elemento responde a una variedad de mensajes y de funciones de edición; éstos
pueden ser explorados viendo los archivos de la ayuda y los documentos del manual.N-POS=30
de referencia. Cada uno de estos aspectos será ampliado sobre en clases particulares posteriores.
Vea también
Nombre Descripción
impresión Imprima cualquier mensaje en la ventana máxima
mensaje Envíe cualquier mensaje
comentario Nota explicativa o etiqueta

Clase particular 2: ¡Explosión!


El mensaje de la explosión
Abra la clase particular.
En esta clase particular, trabajaremos con el mensaje de la explosión como manera de seguir
mensajes a través de las conexiones en un patcher máximo.
Este patcher simple nos dejará mirar cómo generar mensajes en máximo, y cómo estos mensajes
ejecutan a través de un patcher en una orden predefinida.
Mirada alrededor
Heche una ojeada el patcher 02mBang. En el lado izquierdo del patcher la ventana es un
remiendo muy simple, con un objeto del botón UI conectado con un objeto de la impresión. ¡Si
usted chasca encendido el botón (marcado por el comentario, “chasqúeme! "), usted verá que
la ventana máxima exhibe un mensaje de la explosión - la salida del botón.
El mensaje de la explosión tiene un uso específico dentro de máximo - es el mensaje que dice
muchos objetos hacer que lo hace la cosa usted. Consecuentemente, el envío del mensaje de la
explosión a otros objetos los hará normalmente enviar mensajes de sus enchufes. ¡En la
segunda parte del patcher (a la derecha), hay un botón (etiquetado “ahora chasqúeme! ")
conectado con una caja de mensaje (con el mensaje Gotcha!), que es conecte posteriormente
con un objeto de la impresión. ¡Si chascamos encendido la caja de mensaje, podemos ver el
Gotcha! mensaje enviado a la ventana máxima - apenas como en la clase particular anterior.
Ahora, chasque encendido el objeto del botón. ¡Vemos el mismo Gotcha! el mensaje aparece en
la ventana máxima. ¿Cómo eso sucedió?
Sigamos los mensajes. Primero, el chascar en el objeto del botón envía un mensaje de la
explosión de su enchufe. Este mensaje sigue la cuerda de remiendo a la entrada de la caja de
mensaje. Cuando la caja de mensaje recibe el mensaje de la explosión, realiza su tarea - envía
su mensaje. ¡Por lo tanto, el Gotcha! el mensaje se envía del enchufe de la caja de mensaje al
objeto de la impresión, donde se imprime a la ventana máxima.
La mayoría de los objetos máximos (la caja y el botón de mensaje incluidos) interpretarán
una explosión como instrucción de realizar su principal labor usando cualquier información
tienen disponible. Veremos en clases particulares subsecuentes cómo esto se realiza con los
objetos que manipulan números y otros artículos de datos en el universo máximo, pero para
ahora él vale el observar de eso puesto que la función primaria de la caja de mensaje es
construir y pasar mensajes, enviando una explosión a cualquier caja de mensaje hará ese
objeto hacer salir cualquier mensaje se almacena en él.
Mensajes siguientes a través de conexiones
El mensaje de la explosión es no sólo útil para accionar las cajas de mensaje - como
mencionamos anteriormente, puede actuar como disparador para muchos otros objetos
también. Chasque encendido el botón en el tapa-derecho del tercer remiendo - está conectado
con un segundo botón que sea accionado por un mensaje de la explosión, que entonces envía
su mensaje (explosión) al objeto de la impresión.
Observe que este objeto de la impresión tiene una discusión después de él (“una”). Si usted
mira la ventana máxima, usted verá que en vez de la palabra “impresión” que aparece en la
columna del objeto, la discusión al objeto de la impresión aparece - “uno”. Esto es útil para los
patchers máximos del depuración, pues permite que usted cree objetos múltiples de la
impresión con las etiquetas de encargo para distinguirlas a partir de la una otra en la ventana
máxima.
Ahora abra el patcher, y conecte el enchufe del botón superior con el botón solitario con su
izquierda. Note que esto no rompe la conexión que existe ya; los enchufes se pueden conectar
con más de un objeto, y el mismo mensaje será enviado abajo de cada uno de las cuerdas de
remiendo. Trabe el remiendo y chasque encendido el botón superior. La explosión consigue
enviada a ambos objetos del botón, y cada uno de ellos produce un mensaje de la explosión sus
los propios.
Por un símbolo similar, las cuerdas de remiendo múltiples se pueden también conectar con una
sola entrada de un objeto. En este caso, ambos de nuestros objetos del botón están conectados
con un solo objeto de la impresión. Cuando usted chasca encendido el botón superior, la salida
de ambos botones que reciban los mensajes de la explosión se encamina al objeto de la
impresión, y dos mensajes de la explosión se exhiben en la ventana máxima.
El remiendo siguiente encima demuestra ambos principios. Chascar el botón en la tapa del
remiendo envía tres mensajes de la explosión a la ventana máxima (a través de un objeto de la
impresión etiquetado “varios”). El objeto de la impresión recibe una explosión de ambos
objetos del botón de la “segundo-grada” (accionados por nuestro botón superior) así como
una sola explosión del botón superior sí mismo, conectado directamente con el objeto de la
impresión.
Podemos tomar esta idea más lejos con el remiendo de derecha. Tiene un número de cajas de
mensaje, conectadas todo con solo la impresión un objeto nombrado “muchos”. Cada caja de
mensaje tiene un botón atado a ella, y un botón de alto nivel que los controla todos. Usted
puede hacer que los objetos individuales de la caja de mensaje imprimen su mensaje
chascando en la caja de mensaje sí mismo, o chascando en sus objetos atados del botón. Si
usted quiere accionar todas las cajas de mensaje inmediatamente, usted puede chascar
encendido el botón superior.
Cuando usted golpea el botón superior, note la orden en la cual los mensajes se exhiben en la
ventana máxima. Los mensajes no están en una orden arbitraria - se generan basaron en la
organización espacial de los objetos en el patcher, ejecutando de right-to-left. Exploraremos los
detalles del mensaje que ordenan en una clase particular futura, pero es útil entender que los
mensajes están enviados en orden right-to-left cuando un solo objeto está conectado con
muchos otros objetos.
Abra el remiendo, y agregue varios más objetos del botón. Usted puede hacer esto trayendo
para arriba la gama de colores y seleccionando el icono del objeto del botón, o simplemente
chascando la llave de “b” (para el botón) en el teclado en un patcher abierto. Conéctelos con
otros objetos del botón en ese remiendo derecho. Intente diversas combinaciones de
conexiones múltiples del enchufe y de conexión múltiple de la entrada. Como usted conecta cada
botón, intento para conjeturar qué mensajes exhibirán y qué orden serán enviados a la ventana
máxima.
Conclusión
El mensaje de la explosión está entre los mensajes más de gran alcance del ambiente máximo;
hace otros objetos accionar su salida, y puede ser utilizado para crear matrices de las conexiones
que producen la salida deseada. También hemos visto que las entradas y los enchufes pueden
tener conexiones múltiples, y que estas conexiones hacen salir sus mensajes en una orden fiable.
También hemos visto que algunos objetos, tales como el objeto de la impresión, se pueden
asignar una discusión, que hace el objeto cambiar su comportamiento. Una discusión al objeto
de la impresión permite que usted identifique la fuente de mensajes impresos a la ventana
máxima.
Vea también
Nombre Descripción
botón Destelle en cualquier mensaje, envíe una explosión
impresión Imprima cualquier mensaje en la ventana máxima
mensaje Envíe cualquier mensaje

Clase particular 3: Números y listas


Datos numéricos en máximo
Abra la clase particular.
Mucho qué entra la programación en máximo implica el poder manipular diversos tipos de
datos. En esta clase particular, miraremos cómo los repartos máximos con algunos nuevos tipos
de mensajes: números y listas. Pasaremos una cierta hora con los elementos del interfaz
utilizador que permiten que manipulemos números, y aprendemos cómo utilizar discusiones
para insertar elementos de la lista en un mensaje.
Mientras que los mensajes hechos del texto son útiles para comunicar con los seres humanos (y
enviar comandos a muchos objetos máximos que miraremos después), mucho del mundo de los
medios es dependiente en números, si son datos de la nota de MIDI, colores video del pixel o
control de movimiento robótico. Tener un comando de mensajes numéricos es crítico hace
remiendos máximos útiles en la mayoría de los usos del mundo real.
Los mensajes numéricos en máximo no son siempre entidades singulares; se combinan a
menudo con el texto del comando o la otra información para crear una lista de datos que sean
útiles a otros objetos, al usuario de su remiendo, o al mundo exterior. Por lo tanto, combinar
mensajes en listas proporciona el formato necesario crear las estructuras de datos útiles.
Cajas de número
Heche una ojeada la clase particular 03mNumbersAndLists. La ventana del remiendo contiene
varios pequeños remiendos que ofrezcan manipulaciones del número y de la lista. Las miradas
extremas izquierdas del remiendo en un nuevo objeto (en verde) llamaron la caja de número.
Se ocupa de números del número entero (a menudo llamado entero), y acepta muchos diversos
mensajes. Chasque encendido algunas de las cajas de mensaje conectadas, y note su efecto
sobre la caja de número (así como cuaesquiera mensajes que pudieran aparecer en la ventana
máxima vía el objeto de la impresión).
El efecto más sensible viene cuando los datos numéricos se envían a la caja de número:
responde exhibiendo los datos así como el envío del número de su enchufe. Cuando un número
de coma flotante (tal como 3.5) se envía al objeto, toma la porción del número entero del
número y trunca la porción decimal. ¡Si se envía un mensaje no numérico (por ejemplo Hey! el
mensaje), la ventana máxima exhibe una queja por el objeto, indicando que no entiende ese tipo
de mensaje.
Dos otros mensajes especiales son aceptados por la caja de número. Primero, el envío una caja
de número de una explosión fuerza el valor actual para ser hecho salir sin ninguÌ チ n cambio a
los datos. En segundo lugar, preceder un número con el mensaje del sistema cambiará los datos
sin ninguna salida - esencialmente, proporcionando una manera cambie “silenciosamente” el
contenido de una caja de número. El método del sistema es bastante común en objetos
máximos como manera de manipular el estado del objeto sin accionar ningunos mensajes
adicionales.
El remiendo apenas a la derecha es similar, pero aplicaciones una caja de número de coma
flotante que permita para que los valores decimales sean exhibidos y salida. Muchos de los
mensajes producen resultados similares a la caja de número del número entero. Sin embargo,
cuando se recibe un valor de la coma flotante, el valor entero se ahorra (y se exhibe) en esta caja
de número. ¡Los mensajes de la explosión y del sistema se comportan como esperaríamos, y
Hey! el mensaje es inválido.
El interfaz utilizador de la caja de número
Además de enviarles mensajes, podemos también incorporar y manipular directamente los
valores en gran número las cajas almacenadas. Por ejemplo, podemos chascar-arrastramos
dentro de la caja para cambiar manualmente el contenido de la caja de número. Esto es útil
para las situaciones del funcionamiento donde podemos querer un cambio un número en
tiempo real mientras que el remiendo está funcionando. Algo que las cajas de mensaje de
disposición para cada valor posible que puede ser que necesitemos, nosotros pueden manipular
la caja de número para cambiar un ajuste. Si chascar-arrastramos en la caja de número del
número entero, vemos que la ventana máxima exhibe una corriente de datos - la caja de número
genera la salida para cada uno de los valores que enrollamos a través.
Con datos del número entero, es fácil apoyar un área del valor del movimiento en sentido
vertical - el levantarse agrega 1 al valor, mientras que el enrollamiento abajo resta 1. ¿Pero qué
agregamos/restamos cuando tenemos valores de la coma flotante? En el caso de la caja de
número de coma flotante, la respuesta se basa en donde colocamos el ratón antes de que
chascar-arrastremos. Si el ratón está en la porción del número entero de los datos (a la izquierda
de la coma), la chascar-fricción producirá los cambios similares a la caja de número del
número entero. Sin embargo, si colocamos el ratón de la porción fraccionaria de los datos,
podemos cambiar dígitos exhibidos uces de los. Esto permite que manipulemos los datos
almacenados en la caja de número en “un grano grueso” y “fino”.
Encontraremos a veces las situaciones donde el movimiento en sentido vertical alrededor en
gran número de las cajas accionará demasiados acontecimientos o será demasiado inexacto.
Alternativamente, puede ser que sepamos simplemente exactamente qué número queremos.
Podemos también cambiar los datos para las cajas de número del número entero y de coma
flotante chascando en ellas (cuando el remiendo es bloqueado), mecanografiando en ese
número, y entonces pulsando la tecla de vuelta o chascando a otra parte en el patcher. Esto es
una manera conveniente de incorporar números exactamente sin tener que recurrir a una caja
de mensaje (o teniendo que enrollar por días). Note que los nuevos datos están exhibidos en la
caja de número, y el objeto hace salir su valor también.
El tercer remiendo tiene tres cajas de número enganchadas hasta uno a. Aquí, usted puede ver
la diferencia visible entre el número entero y las cajas de número de coma flotante - las
versiones flotantes tener una coma exhibida. Si usted cambia la caja de número (flotante)
superior, usted verá sus datos que son utilizados para poner al día una caja de número del
número entero, que pone al día posteriormente la caja de número (flotante) siguiente. Usted
puede también manipular directamente el número entero uno para ver cómo sus mensajes
afectan a la variante flotante.
Incorpore un gran número en la caja de número superior - algo como 60000. Usted verá que
las cajas de número del número entero no pueden exhibir este número, puesto que es
demasiado grande para la zona de visualización proporcionada. Abra el remiendo y mueva su
ratón al lado derecho del objeto. Usted verá una pequeña “manija” aparecer, y el cursor
cambiará a una flecha izquierda/derecha; esto se llama una caja del crecimiento, y se puede
utilizar para volver a clasificar según el tamaño la mayoría de los objetos del interfaz utilizador
en máximo Chascar-arrastra en la manija para cambiar la anchura de la caja de número,
después chasca encendido un área en blanco del remiendo para no reelegir como candidato el
objeto. Usted verá un cambio inmediato en la exhibición del número entero.
Finalmente, incorpore un número ridículo elevado, como 7245569558. La caja de número del
número entero cambió a -2147483648. ¿Cómo eso sucedió? Mientras que los números de coma
flotante tienen un umbral muy alto del valor reconocido, los números enteros de 32 bits tienen
un límite - en este caso, el valor máximo de un número entero es 2147483520. Cuaesquiera
números mayores que ése causa el valor de número entero al “desbordamiento”, y hecho el
número negativo más grande. Otros mismos elevados valores pudieron proporcionar otros
valores, dependiendo de hasta dónde terminado este límite el número ha.
Mirada de listas y de discusiones reemplazables
El remiendo de derecha es un poco diferente - es apenas un grupo de cajas de mensaje con el
contenido que es grupos de número y de texto. Cuando chascamos encendido la caja de
mensaje con 60 30, vemos los dos números exhibidos juntos en la ventana máxima. Una
combinación de números y de texto se llama una lista; la lista es un mecanismo para guardar
datos juntos en un solo mensaje que pueda ser envíe vía patchcords a otros objetos. Los
números pueden ser número entero, flotante, o una combinación, como usted puede ver en el
segundo ejemplo (22 33.9 -5 -44.2).
El mensaje del ejemplo siguiente es una caja de número conectada con una caja de mensaje.
Utilice el ratón para cambiar el valor de la caja de número; el resultado es que la ventana
máxima exhibe el mensaje de las pulgas, pero substituye el texto $1 por el número entrante. El
texto $1 se llama una discusión reemplazable, y permite que usted substituya el contenido de
mensaje variable usando una caja de mensaje.
El ejemplo pasado acepta dos valores (según lo observado por las $1 y $2 discusiones
reemplazables), y las aplicaciones que la lista entrante valora para crear las pulgas y hacen
tictac mensaje. Usted puede hacer hasta 9 discusiones reemplazables, numerar $1 a $9, y las
discusiones pueden estar en cualquier orden. Intentemos un experimento con las discusiones:
Abra la ventana del remiendo, y seleccione el texto en esa caja de mensaje pasada. En el
extremo del texto existente, agregue el texto siguiente:
$2 señales son peores las $1 pulgas. $2 ticks are worse the $1 fleas
Trabe el remiendo, y chasque encendido una de las dos listas conectadas. Usted debe ver la
nueva declaración exhibida en la ventana máxima, con el contenido apropiado de la lista
substituyendo las discusiones en el mensaje. Esto demuestra que las discusiones reemplazables
se pueden reutilizar (es decir usted puede tener múltiplo $1 discusiones en un mensaje) y se
pueden invocar en cualquier orden (es decir $2 pueden seguir $1 en un mensaje).
Conclusión
Máximo puede enviar datos numéricos como mensajes, apenas como el texto. Hay algunos
objetos del interfaz de usuario que nos ayudan a construir y a procesar datos numéricos, tales
como las cajas de número del número entero y de coma flotante. Máximo puede también
mantener grupos de números ligados un solo mensaje usando listas; las cajas de mensaje se
pueden utilizar para construir listas y otros mensajes más complejos con discusiones
reemplazables.
Vea también
Nombre Descripción
número Exhiba y haga salir un número

Clase particular 4: Metro y palanca


Acciones automatizadas
Abra la clase particular.
Esta clase particular se centra en acciones automatizadas y la capacidad para controlarlas.
Trabajaremos con el objeto de palanca del interfaz utilizador para controlar el objeto de la
sincronización del metro. También miraremos más lejos en discusiones del objeto y la
eliminación de esas discusiones.
Uno de los objetos más usados de su hogar es el interruptor ligero - proporciona un interfaz
utilizador simple a un sistema complejo (las luces en su hogar). Asimismo, el objeto de
palanca, combinado con la función de temporización automatizada del metro, de la oferta un
interfaz simple en un mundo de otra manera complicado de acciones automatizadas y
programadas.
Diversión con el objeto de palanca
Heche una ojeada el patcher 04mMetroAndToggle. El remiendo extremo izquierdo ofrece una
serie de cajas de mensaje (y de un botón) conectados con una caja cuadrada. Comienzo
chascando en esa caja - vemos su terraplén interior con un checkbox. Un 1 mensaje también fue
enviado del objeto rio abajo a la caja de número conectada debajo de él. El chascar en el objeto
quitará el checkbox y enviará otra vez un 0. Ése es todo este objeto hace - hace salir un valor
cero o diferente a cero, dependiendo de su estado (de o encendido). El nombre formal de este
objeto es de palanca, y es uno de los objetos más-usados en la programación máxima.
Desemejante la mayor parte de de los checkboxes en los cuales funcionamos al usar nuestras
computadoras, este checkbox puede ser automatizado enviándole mensajes. Chasque encendido
las cajas de mensaje que están conectadas con la palanca para ver su efecto sobre el estado de
objeto. Mirando la caja de número conectada, vemos que cualquier número con excepción de 0
le da vuelta a "ON" (la marca de cheque se fija visualmente); la palanca también “repite” el
valor del número que le dio vuelta en hacia fuera su enchufe. El chascar en los 0 mensajes apaga
la palanca, y hace salir un 0.
La acción del objeto del botón es aún más interesante. El chascar en el botón cambia el objeto
de palanca por intervalos, con la salida (véase en la ventana máxima y en la caja de número)
que alterna entre 0 y 1. Ésta es la raíz del nombre de objeto de palanca - su capacidad “de
accionar la palanca” de los estados basados en mensajes entrantes de la explosión.
Introducción al metro: el objeto del metrónomo
El remiendo en el centro introduce un nuevo objeto: metro. El metro produce mensajes de la
explosión, como el objeto del botón. Sin embargo, desemejante del botón, los objetos del
metro envían estos mensajes automáticamente sobre una base programada. Una vez que está
encendido, el metro continuará enviando mensajes de la explosión hasta parado. Chasque
encendido la palanca que está conectada con el metro, y mire el resultado - envía un mensaje
de la explosión (en este caso, a un objeto del botón) una vez cada segundo. Podemos apagarlo
un-checking (que apaga) la palanca. el objeto del metro es uno de los objetos máximos que se
pueden utilizar para crear acciones automatizadas o de uno mismo-funcionamientos en
nuestros programas.
Si chascamos encendido el botón que está conectado con el metro nosotros vea que, comienza
también el funcionamiento del metro. Si lo chascamos encendido otra vez, vemos que acciona
inmediatamente una explosión fuera del metro inmediatamente; chasque rápidamente
encendido el botón, y la salida continúa siendo generada. Es solamente cuando nos detenemos
brevemente que vemos la generación programada del acontecimiento. Cuando un metro recibe
una explosión, el metro “recomenzará” sí mismo y comenzará a programar mensajes
subsecuentes de la explosión a partir del momento que lo accionamos. Cuando queremos
apagarlo, podemos chascar encendido el mensaje de la parada para apagar la generación del
acontecimiento; decir un metro parar con un mensaje es equivalente a enviarle un 0.
¿Cómo determinamos la velocidad a la cual el metro hace salir mensajes de la explosión?
Determinamos la velocidad de un metro fijando su período. El objeto del metro toma a
discusión (el número 1000, en este caso) esa sistemas el intervalo de tiempo (en milisegundos)
entre los mensajes. 1000 milisegundos segundo de los iguales 1, que es porqué vemos los
mensajes de la explosión el salir a esa tarifa. ¿Cómo cambiamos esta tarifa? Ésa es la función de
la entrada derecha del objeto del metro - permite que usted envíe un nuevo ajuste del intervalo
de tiempo sin tener que mecanografiar adentro un nuevo valor de la discusión.
En nuestro remiendo, hay una caja de número con varias cajas de mensaje conectadas con
ella. Chasque encendido el mensaje 2000, y (después del período programado próximo) la
salida se retardará a un mensaje cada dos segundos. Chasque encendido los 500 y el metro
acelera, enviando los mensajes de la explosión dos veces un segundo. El mensaje 250 causará
cuatro mensajes de la explosión por segundo. El cambio del ajuste del intervalo no cambia
ninguÌ チ n otro aspecto del metro (e.g. si es "ON" o "OFF").
El cambio del intervalo con un mensaje en la entrada derecha también no cambia la discusión
del metro. ¿Por qué no? ¿No sería conveniente ver el nuevo valor? Quizás, pero él significaría
que cualquier cambio al objeto cambiaría el valor ahorrado con el remiendo - y, la mayoría de
las veces, usted quiere mantener mecanografiar-en la discusión puesto que funciona como el
valor inicial del defecto del metro. Muchos objetos máximos se comportan de esta manera:
tienen una o más discusiones que se puedan eliminar por los mensajes enviados en entradas.
Funcionamiento paralelamente
El tercer patcher en nuestra clase particular ofrece una sola palanca atada a tres objetos de
palanca adicionales, que está conectada con un metro con una diversa discusión. Gire la
palanca a nivel superior, y los objetos del metro generan una demostración ligera “galopante”.
Esto es porque las tres discusiones del intervalo de tiempo de los objetos del metro son
relacionadas: el primer metro enciende cada segundo (1000 milisegundos), los segundos
disparadores tres veces por segundo, y los terceros encienden cada cuarto-segundos. No hay
nada que maneja este patrón - apenas ocurre porque la salida programada de los objetos del
metro es constante, así que el patrón guarda el aparecer. Observe que el intervalo de tiempo de
un metro puede ser un número entero (e.g. 1000) o un número flotante (e.g. de 333.33).
Ampliémosnos en la idea de crear patrones rítmicos usando algunas de las otras ideas que
acabamos de aprender. Podemos cambiar el patrón cambiando los valores de tiempo de cada
metro; comencemos agregando tres cajas de mensaje, de los valores 500, 200 y 750, y
conexión de uno con la entrada derecha de cada metro. Cuando los chascamos para cambiar los
intervalos de tiempo de nuestros objetos del metro, ninguÌ チ n patrón evidente existe. Esto es
porque necesitamos sincronizar el comienzo de los objetos del metro para ver el patrón. Esto
puede ser lograda girando la palanca superior apagado y otra vez. El resultado es una luz de
centro rápidamente que destella, con un patrón exterior sincopado.
Hagamos otro patrón, usando las cajas de mensaje para los valores 200, 400, y 600,
respectivamente. Sin embargo, en vez de usar la palanca para encender y los objetos del metro
y, conecte un solo objeto del botón con la entrada izquierda de los tres objetos del metro.
Chasque encendido las tres cajas de mensaje, y después chasque encendido el botón para
recomenzar todos los objetos del metro. El botón fuerza los objetos del metro para
recomenzar en la sinc., dándonos la demostración prevista de la luz del “balanceo”.
Conclusión
Las acciones automatizadas están en el corazón de muchos remiendos del funcionamiento
máximo, y los objetos del metro son de uso frecuente mientras que el punto de partida para
estas acciones. Una vez que está comenzado, el sistema de previsión de máximo proporciona un
sistema que mide el tiempo estable para la salida máxima, y podemos permitir que los
acontecimientos funcionen sin la interacción adicional.
Controlar remiendos usando checkbox-como objeto de palanca es también una herramienta
de programación dominante, puesto que una sola palanca puede proporcionar un interfaz
con./desc. simple a procesos mucho más complicados.
Vea también
Nombre Descripción
palanca Cambie entre de y encendido (0 y 1)
metro Haga salir un mensaje de la explosión en los intervalos regulares

Clase particular 5: Orden y depuración del mensaje


Introducción
Abra la clase particular.
Esta clase particular se centra en ordenar del mensaje - la secuencia en la cual los mensajes se
pasan de objeto-a-objeto y cómo los objetos la generan. También utilizaremos algunas de las
herramientas de puesta a punto en máximo para determinar cómo un remiendo está
funcionando.
Los remiendos máximos parecen a menudo tener todo el suceder inmediatamente; en realidad,
los mensajes se producen y se actúan sobre en una orden específica. Para hacer los remiendos
que funcionan correctamente, necesitamos entender que la orden que son las cosas ocurra, y
cómo controlar matrices complejas de acciones.
Right-to-left, parte-a-tapa
Heche una ojeada el patcher preceptoral. Este archivo tiene un número de pequeños remiendos
que utilicemos para aprender sobre las reglas que los mensajes siguen. Chasque encendido el
botón superior en el remiendo tapa-izquierdo; parece que los tres del botón conectado se
opone el fuego simultáneamente. Esto es una ilusión - los mensajes se envían abajo de los cables
del remiendo en una orden secuencial.
La manera más fácil de considerar esto en la acción es utilizar algunas de las herramientas de
puesta a punto en máximo. Usted notará que la fila superior de remiendos en la clase particular
tiene pequeños círculos rojos con números en ellos que cubren los patchcords. Éstos se llaman
los watchpoints (específicamente - watchpoints del punto de desempate). Cuando eliminamos
errores de nuestro patcher, podemos utilizar estos watchpoints para parar la ejecución del
remiendo en un punto específico. Esto es hecha permitiendo la depuración máxima. Selecto
permita el depuración del menú de la eliminación de errores. Una vez que se permite el
depuración, estos watchpoints nos ayudarán a considerar la manera que los mensajes se pasan
en nuestro patcher.
Chasque encendido el botón superior en el remiendo izquierdo. En vez del “flash inmediato” de
todos los objetos del botón que se encienden para arriba, el patchcord de derecha comienza a
centellar rojo. Además, una ventana se abre llamado la ventana de la eliminación de
errores. Mirando la ventana, usted puede ver lo que un poco nos da la información él. La
ventana nos dice que un mensaje de la explosión ha sido interceptado por un watchpoint; por
otra parte nos dice qué watchpoint fue disparado (en este caso, el watchpoint #1), el nombre del
patcher y qué clase de objeto el objeto de envío y de recepción era (en este caso, ambos es
objetos del botón). Seleccione el paso del menú de la eliminación de errores (o presione el
Cambiar de puesto-Comando-T). Usted verá que destella la cuerda del centro; el paso selecto
otra vez y usted considerarán que destella la cuerda extrema izquierda. Paso selecto una vez más
para acabar nuestro rastro del remiendo. Cuando el enchufe de un objeto está conectado con
más de una entrada, los mensajes se envían en orden right-to-left.
¿Pero qué sucede cuando los objetos de recepción se apilan verticalmente (y por lo tanto en la
misma posición horizontal)? Con la eliminación de errores todavía permitida, chasque
encendido el botón superior en el remiendo medio en la fila superior. Como los watchpoints
encienden, seleccione el paso del menú de la eliminación de errores. Cuando caminamos a
través del remiendo, vemos que el botón más bottom-most recibe su mensaje primero,
seguimos por el medio, entonces la tapa. Así pues, podemos ver que máximo tiene dos niveles de
ordenar: right-to-left, entonces parte-a-tapa.
Hay una más torcedura al mensaje que ordena, y ése es el efecto de los mensajes que hacen más
mensajes ser generados. El tercer remiendo ilustra la edición. Chasque encendido el botón y el
paso superiores con la pedido de los mensajes. Remontando a través de esta matriz de los
objetos del botón vemos que los mensajes viajan con la profundidad entera de una cadena del
mensaje antes de enviar un mensaje a la “rama siguiente” de objetos. Note que la ventana de la
eliminación de errores le demuestra la longitud de cada cadena del mensaje en una rama;
despeja solamente cuando se ha terminado una rama.
Por lo tanto, las reglas de mensaje-petición en máximo son:
1. Right-to-left, entonces parte-a-tapa.
2. Profundidad-primer traversal de objetos conectados.
Observe que, para determinar el right-to-left o la parte-a-tapa que ordena, él es la localización
del objeto conectado, no la localización de las cuerdas de remiendo, que determina la ruta del
mensaje.
Como ejercicio, cree una nueva matriz de los objetos del botón, con órdenes verticales y
horizontales de objetos del botón (quizás usando la opción del alinear del menú del arreglo),
y las profundidades múltiples de objetos. El comentario del uso encajona para numerar las
cajas en la orden que usted piensa que entonces encenderán remontan el remiendo. ¡Haga esto
hasta que el ordenar del mensaje se convierta en segunda naturaleza!
Seleccione el depuración de la neutralización del menú de la eliminación de errores, y
miremos los otros remiendos en el patcher preceptoral.
El más ordenar del mensaje
Es a veces incómodo emparejar la orden espacial del remiendo con nuestro resultado deseado.
En la fila inferior de remiendos, el remiendo extremo izquierdo se estructura bien: se presenta
limpio, y tiene las cajas de número en orden numérica ascendente de izquierda a derecha. Si
quisiéramos que los mensajes fueran de punto bajo al colmo, es también incorrecto; cuando
chascamos el botón superior, vemos los números salir en orden reversa en la ventana máxima.
Esto es porque las cajas de mensaje están recibiendo mensajes de la explosión en orden right-
to-left.
El remiendo siguiente demuestra una versión corregida de este remiendo, usando un nuevo
objeto: bangbang. Este objeto toma un mensaje entrante y produce mensajes de la explosión
de sus enchufes en orden right-to-left. El número de enchufes es determinado por la discusión
al bangbang (en este caso, la discusión 3 produce tres enchufes). Los enchufes están
conectados con las cajas de mensaje en la orden apropiada; cuando chascamos encendido el
botón superior, la ventana máxima exhibe los mensajes en la orden preferida.
Note que los enchufes del fuego del bangbang en orden right-to-left, mímico ordenar del
mensaje del remiendo sí mismo. La mayoría de los objetos con los enchufes múltiples seguirán
esta regla: la salida es del enchufe de derecha al enchufe extremo izquierdo.
Utilice el objeto del bangbang hace la orden del mensaje explícita; es decir, fuerza los mensajes
para seguir una trayectoria específica sin importar la orientación espacial, y nos deja poner
objetos dondequiera que queremos en el remiendo, sabiendo que serán accionados en la orden
determinista basada en qué enchufes los accionamos. Otro mensaje que proporciona ordenar
explícita es el objeto del disparador. El objeto del disparador acepta la entrada, y hace salir los
mensajes basados en sus discusiones. Las discusiones determinan el tipo de salida, con opciones
de l (para la lista), de b (para la explosión), de i (para el número entero), de s (para el símbolo -
un mensaje de texto) y de f (para el número de coma flotante). Usted puede también utilizar
números enteros, números de la coma flotante o símbolos específicos como salidas constantes.
El remiendo siguiente contiene dos cajas de mensaje con el número entero 90. Si chascamos
encendido el que está conectado directamente con los objetos de la impresión, la ventana
máxima exhibe ordenar right-to-left típica de mensajes. Sin embargo, si chascamos encendido la
caja de mensaje conectada con el objeto del disparador, vemos que podemos controlar la
salida para imprimir en orden (invertida) de izquierda a derecha. Los mensajes enviados todos
se imprimen como el número entero 90, puesto que eran nuestras discusiones para el
disparador son del tipo i (número entero).
El remiendo siguiente a la derecha también utiliza un mensaje entrante del número entero (90),
y está conectado con un objeto del disparador (usando la abreviatura del objeto: “t "). Sin
embargo, en este caso, se utilizan tres diversas discusiones. Cuando chascamos encendido la
caja de mensaje, vemos que la salida de los tres enchufes es toda diferente, emparejando la
diferencia en discusiones. El enchufe de derecha, con la discusión del tipo i (número entero),
produce 90 sin cambios hechos salir. El enchufe, el sistema para mecanografiar f (para flotante),
los moldes medios el mensaje entrante a su equivalente flotante (90.000000) y lo envía al
objeto de la impresión. Finalmente, el enchufe extremo izquierdo, del tipo b (explosión),
acepta el mensaje entrante pero vueltas él en una explosión. Así pues, además de hacer la orden
del mensaje explícita, el objeto del disparador puede hacer el tipo conversión de mensajes.
El remiendo de derecha demuestra el uso de valores constantes dentro del objeto del
disparador. Cuando cambiamos la caja de número de coma flotante a cualquier número, el
objeto del disparador convierte otra vez el número entrante, pero también incluye un número de
símbolos (mensajes de texto) que se utilicen como valores constantes. También vemos que el
mensaje entrante no cambió la salida del enchufe de la explosión - una explosión es una
explosión, sin importar tipo de mensaje entrante.
Ahora sea un buen rato de construir más matrices del botón, pero combinarlas con los objetos
del disparador y del bangbang, y el etiquetado de ellos con su orden prevista del mensaje.
El apuro con los lazos
El remiendo final en nuestro archivo preceptoral es un sistema de cuatro objetos del botón
interconectados todo en un lazo. Cuando chascamos encendido objetos uces de los del botón, el
sistema viene a un alto con un error de desbordamiento de apilado. ¿Por qué esto sucedió?
Recuerde que máximo hace una profundidad-primera priorización de mensajes. Sin embargo,
una construcción colocada del remiendo tiene una profundidad infinita, y por lo tanto no puede
ser analizada correctamente. Un botón envía al siguiente, que envía al siguiente, que envía al
siguiente, que envía al primer, accionando el ciclo de nuevo. AUTORIZACIÓN del tecleo para
librarse del diálogo del error. Cuando ocurre un desbordamiento de apilado, máximo apagan su
planificador para evitar que todo lo demás sucedan; una vez que hemos encontrado el problema
y lo hemos corregido en nuestro remiendo (e.g. desconectando uno del botón se opone en el
lazo), podemos dar vuelta al remiendo "ON" otra vez chascando el curriculum vitae bajo
menú del corregir.
Conclusión
Una comprensión profunda de las reglas que ordenan del mensaje es necesaria crear remiendos
correctamente de funcionamiento. El right-to-left, parte-a-tapa, profundidad-primera orden es
la regla implícita para el mensaje que pasa, pero usted puede utilizar objetos como bangbang y
disparador para hacer ordenar explícito. ¡En todos los casos, sin embargo, usted necesita tener
cuidado para los lazos estructurales - son remiendo-asesinos literales!
Vea también
Nombre Descripción
bangbang Envíe una explosión a muchos lugares, en orden
disparador Envíe la entrada a muchos lugares, en orden

Clase particular 6: Matemáticas simple en máximo


Ejecución de cálculos
Abra la clase particular.
Esta clase particular cubre las operaciones matemáticas básicas que están disponibles con los
objetos máximos, y el proceso de la conexión encima de varios objetos en una cadena del
cálculo. También cubriremos las operaciones comunes de objetos con las entradas múltiples, y
algunas ediciones con la conversión numérica.
Las operaciones comunes de la matemáticas, tales como adición y multiplicación, son
importantes para manipular datos entrantes en una gama y forman que sea útil para nuestros
remiendos. Además, el ocuparse de la diferencia entre el número entero y los números de coma
flotante es crítico al trabajar con muchos tipos de datos tales como información de MIDI, audio
y serial.
Todos ama matemáticas
Mire el archivo preceptoral 06mSimpleMath.maxpat. La fila superior de remiendos demuestra
ejemplos de las varias operaciones matemáticas simples que están disponibles en máximo. El
remiendo extremo izquierdo realiza la adición usando + (más) objeto. + el objeto, como la
mayoría de la matemáticas se opone en máximo, tiene dos entradas - una para cada operando.
Los números que entran en la entrada derecha se almacenan, y se agregan a los números que
entran en la entrada izquierda. Si ninguÌ チ n número todavía ha entrado en la entrada derecha,
el operando correcto se fija a la discusión del objeto; si no se suministra ninguna discusión, el
operando correcto omite 0.
Cuando chascamos encendido la caja de mensaje que contiene el número 2 (a la izquierda), el
resultado (que se exhibe en la caja de número conectada) se revela para ser 2 también; puesto
que ninguÌ チ n número ha entrado en la entrada derecha, los restos almacenados actuales 0 del
operando. El chascar en la caja de mensaje con el número 3 no produce ninguna salida, sino
almacenes el número 3 como el nuevo operando derecho. Cuando chascamos encendido los 2
otra vez, vemos el resultado aditivo - 5 - exhibido en la caja de número.
El remiendo siguiente utiliza una discusión a + el objeto que fija un valor prefijado inicial para
el operando derecho. Ahora, cuando pusimos un número en + objeto (usando la caja de
número superior), vemos un resultado sin tener que enviar cualquier número en la entrada
derecha. Usando defecto las discusiones para las operaciones de la matemáticas son una
disposición común en muchas situaciones donde usted necesita realizar una operación
matemática constante (e.g. compensación o escalamiento de un número) en una corriente de los
valores de la entrada.
Sea después - (menos) y * (multipliqúese) los objetos, que realizan la substracción y la
multiplicación, respectivamente. Como + objeto, tienen operandos del defecto de 0, y aceptan
valores almacenados en su entrada derecha y producen los resultados basados en los valores que
vienen en la entrada izquierda. Las operaciones de la divisoria (/) y del modulo (%) son también
similares, pero con una diferencia - para prevenir “divisoria indeseada por” los errores cero, sus
operandos derechos del defecto son un (1) algo que cero.
Entradas, caliente y frío
Como hemos visto en el primer sistema de objetos de la matemáticas, algunas entradas hacen
un objeto hacer salir un mensaje, mientras que otras hacen el objeto almacenar simplemente
valores. De hecho, mensajes enviados a la causa ua de los de las entradas estos objetos para
almacenar valores; la diferencia es que los valores que vienen en la entrada extrema izquierda
tienen un mensaje implícito de la explosión atado a ellos - éste fuerza el objeto de la
matemáticas para hacer salir el resultado del cálculo que el valor se recibe y que se almacena
una vez. Podemos ver esto en la acción atando un objeto de la explosión a un objeto de la
matemáticas, y usándolo para forzar explícitamente salida.
El primer remiendo en la segunda fila es un remiendo simple de la adición, pero con un botón
conectado con la entrada izquierda. Enviando números en + el objeto realiza el resultado
previsto: los números en la entrada derecha se almacenan y se utilizan como operando derecho,
mientras que los números en la entrada izquierda se utilizan como operandos izquierdos y
hacen el objeto hacer salir resultados. El chascar en el botón también produce un resultado: la
adición se realiza con el sistema actual de operandos, y el resultado se envía del enchufe. Esto es
útil cuando usted quiere cambiar el operando derecho, pero quiere salida sin tener que volver
a enviar el operando izquierdo. Es también un buen ejemplo de la ejecución del mensaje de la
explosión su “la hace!” función.
Las entradas que hacen un objeto hacer salir mensajes a menudo se llaman las entradas
calientes mientras que las entradas que almacenan solamente la información se llaman las
entradas frías. Es una práctica común, cuando una entrada fría necesita producir la entrada,
encaminar un mensaje de la explosión (vía un botón o un objeto del disparador) en la entrada
extrema izquierda a la salida de la fuerza.
Tipo conversiones con discusiones
Las dos partes siguientes del patcher demuestran qué aparecen ser operaciones equivalentes
usando + objeto. Ambos ellos pretenden agregar juntos los números 2.5 (en la entrada derecha)
y 12.75 (en la izquierda). Pruébelos ambos (recuerde que necesitamos chascar el mensaje
derecho primero para fijar el operando correcto).
El resultado de agregar 12.75 y 2.5 debe ser 15.25. Pero entre los dos + los objetos, solamente
el uno derecho producen el resultado correcto. El izquierdo + salidas 14. ¿Por qué?
Como muchos lenguajes de programación, máximos tiene diversos tipos de datos numéricos, y
las operaciones en ésa los datos se pueden hacer usando número entero o matemáticas flotantes.
Por abandono, todos los objetos que realizan operaciones de la matemáticas en uso máximo
número-basaron aritmética. Cuando los números de coma flotante son recibidos por un objeto
de la matemáticas en modo del “número entero”, se truncan a los números enteros antes de ser
utilizado. Así, 12.75 se convierte en 12, y 2.5 se convierte a 2 - que agrega para arriba a 14.
Para fijar un objeto de la matemáticas al uso a la aritmética flotante, necesitamos proporcionar
una discusión que sea flotante. El remiendo derecho hace apenas que - utiliza 0. discusiones
para informar a + objeto que queremos realizar aritmética flotante, y la adición da lugar al valor
15.25 que esperábamos.
Forzar un cálculo
Los dos remiendos finales en la segunda demostración de la fila un mecanismo simple para
accionar salida del + objeto, sin importar el cual la entrada recibe mensajes. La entrada
izquierda es alimentada directamente por una caja de número; puesto que las entradas
izquierdas son ya calientes, no necesitan ninguna otra atención. Sin embargo, para que la
entrada derecha produzca salida, tenemos que enviar una explosión en la entrada izquierda
después de que la entrada derecha haya recibido la entrada. Esto es un uso perfecto para el
objeto del disparador, que se utiliza para manejar esta función.
En ambos casos, el objeto del disparador (abreviado a t) hace dos enchufes (definir por sus
discusiones): el enchufe correcto es tipo-específico (i para el número entero, f para el flotador),
mientras que el (b) izquierdo envía una explosión. Cuando un número se incorpora en el objeto,
el disparador procesa las discusiones en una orden right-to-left, primero enviando el valor
numérico (número entero o flotante) en la entrada derecha del + objeto. Entonces, una
explosión se envía a la entrada izquierda de +, forzando el cálculo y la salida a la caja de
número abajo. De esta manera, podemos forzar ambas entradas del + objeto a comportarse
como si son “calientes”, y para recibir la salida sin importar la cual la entrada se envía los
mensajes.
Usando las entradas frías para la repetición
En la parte inferior de la clase particular el archivo es un pequeño remiendo curioso de el cual
tiene el resultado a + objeto que retroactúa en sí mismo. Usted puede ver lo que él que sucede
chascando en la caja de número superior, incorporando un número, y después incorporando
más números después que (usted puede también arrastrar la caja de número para enrollar
valores). Pues usted incorpora números, el resultado guarda el acumular.
Esto es un caso donde nos estamos aprovechando de la entrada (derecha) “fría” del + cambiar
su operando correcto basado en la salida de la operación anterior. En este caso, el resultado de
la adición se retroactúa en la entrada derecha, donde se almacena como el operando correcto
para la operación siguiente de la adición. Esto da lugar a una acumulación de la salida, que
puede ser práctica para seguir un total corriente de valores entrantes. Estos tipos de operaciones
recurrentes son útiles para hacer contadores, alisando algoritmos, y pedazos de código donde
está dependiente el comportamiento de sistema en las salidas anteriores del sistema.
Objetos de conexión en cascada de la matemáticas
Todos los ejemplos antedichos han sido bastante simples - han sido operaciones simples de la
matemáticas con un resultado simple. Sin embargo, usted puede encadenar varias de estas
operaciones juntas para crear una ecuación más compleja.
Por ejemplo, digámosnos quiso hacer un patcher máximo para convertir temperaturas:
específicamente, convirtiendo Fahrenheit a Celsius. La fórmula para esta conversión es:
°C = (°F - 32) * (5/9)
De un punto de vista del objeto, puede ser que sea más fácil simplificar esto:
°C = (((°F - 32) * 5)/9)
Podemos producir esta salida usando -, *, y/los objetos encadenados juntos. Abra el remiendo, y
comience usando una caja de número para Fahrenheit (entrada del °F). Conecte esto con a -
objeto con una discusión de 32 como el operando derecho del defecto. Conecte la salida - objeto
a a * del objeto con 5 como discusión, y conéctela con a/el objeto con 9 como la discusión.
Finalmente, conecte la salida del/del objeto con otra caja de número para ver el resultado de
Fahrenheit a la conversión cent3igrada.
Conclusión
Los objetos matemáticos, usados solo o en una secuencia, proporcionan las herramientas
necesarias para manipular la entrada numérica en gran medida. Los objetos de la matemáticas
proporcionan entradas calientes y frías, pero las operaciones que remiendan simples se pueden
utilizar para forzar salida en entradas frías. La matemáticas se opone, por abandono, realiza sus
cómputos usando aritmética del número entero; una discusión flotante se puede proporcionar
para decir el objeto realizar aritmética usando números verdaderos.
Vea también
Nombre Descripción
+ Agregue dos números, haga salir el resultado
- Reste dos números, haga salir el resultado
* Multiplique dos números, haga salir el resultado
/ Divida dos números, haga salir el resultado
% Los números de la divisoria dos, hicieron salir el resto
disparador Envíe la entrada a muchos lugares, en orden

Clase particular 7: Interfaces utilizador numéricos


Resbaladores y diales
Abra la clase particular.
En esta clase particular, trabajaremos con varios elementos del interfaz utilizador que prevean
la exhibición y corregir numéricos. Utilizaremos los mensajes y al inspector del objeto para
cambiar el aspecto y el comportamiento de objetos para hacerles el trabajo como deseamos.
La exhibición numérica y el corregir está en el corazón de remendar máximo. Si los datos vienen
de los sensores, dispositivos de MIDI o apenas de mover controles en pantalla, los datos
numéricos son fáciles de probar, manipulan y utilizan para el control de programa.
Objetos numéricos de UI
Mire el patcher nombrado 07mNumericalUserInterfaces. En el lado izquierdo del remiendo es
un sistema de cajas de mensaje, de resbaladores, de perillas y de cajas de número
interconectados. El objeto básico del “resbalador” en máximo se llama un resbalador, y se
puede orientar horizontalmente y verticalmente, dependiendo de lo que necesitamos para
nuestro interfaz del patcher. La “perilla” se llama un objeto del dial.
Chasque y arrastre en el “pulgar” de los objetos del resbalador para ver los resultados
exhibidos en las cajas de número conectadas. La salida de un resbalador es un número del
número entero basado en la gama del resbalador. El resbalador vertical y horizontal se realiza
idénticamente.
El dial al lado del resbalador vertical realiza una función similar; sin embargo, en su
configuración actual, usted necesita mover el indicador de ratón en un movimiento vertical para
cambiar la posición del limpiador de la perilla. Éste es algo que miraremos cambiantes más
adelante en esta clase particular.
Chasque encendido el botón apenas sobre el resbalador horizontal - no parece realizar
ninguna función. Sin embargo, si cambiamos la caja de número conectada con el resbalador,
después chasque el botón otra vez, nosotros verá que cuando un resbalador recibe una
explosión, responde haciendo salir su valor más reciente. Así, un resbalador actúa como una
herramienta del almacenaje del número así como un redactor numérico.
Finalmente, déjenos abren el remiendo. Si ponemos el indicador de ratón cerca de la esquina
parte-derecha de un resbalador o de un dial, vemos que un pequeño volver a clasificar según
el tamaño la caja aparece, y los cambios del cursor reflejar que podemos volver a clasificar
según el tamaño los objetos. Cuando chascamos y arrastramos la caja del volver a clasificar
según el tamaño, el tamaño del objeto cambia, pero la función del objeto permanece iguales.
Esto permite que cambiemos la disposición de nuestro remiendo para la conveniencia sin el
cambio de la manera que nuestros elementos del interfaz utilizador funcionan.
Comportamiento cambiante del objeto de UI
Los tres de nuestro interfaz utilizador se opone la parte la misma gama de la salida: 0 a 127.
Obviamente, éste no es el comportamiento que queremos siempre (o aún normalmente). Por
abandono, estos objetos hacen salir números en la gama de 0 a 127 (que mímico la gama del
número de MIDI); esta gama se puede cambiar fácilmente usando mensajes al objeto.
Sobre los objetos son algunas cajas de mensaje que dan formato a los mensajes basados en los
números que vienen adentro de las cajas de número atadas. Como hemos visto en clases
particulares anteriores, esto es un mecanismo para enviar comandos a otro objeto; en este caso,
los utilizaremos para cambiar el comportamiento de los objetos del resbalador y del dial. Si
cambiamos la primera caja de número (conectada con el mensaje del tamaño $1) a 50 y
después movemos los resbaladores o la perilla, vemos que la gama ha cambiado: usted puede
ahora producir la salida a partir el 30 a 79. ¿Por qué no 80? Es porque el mensaje del tamaño
determina el número de pasos discretos para el objeto. Si el paso que comienza de 30 es
incluido, 50 pasos le darán un valor máximo de 79.
Después, déjenos ajustan la caja de número que acciona el mensaje mínimo. Si cambiamos esto
a 0, el resbalador se opone y el dial ahora hizo salir mensajes en la gama de 0 a 49. Usando los
mensajes del minuto y del tamaño en tándem permita que fijemos los objetos para hacer salir
cualquier gama de valores necesitamos para nuestro remendar.
Si cambiamos la tercera caja de número (conectada con el mensaje del mult) a 5, la salida
cambia para hacer salir la gama a partir de la 0 a 245, en pasos de 5. Este resultado se basa en
multiplicar la gama actual por el valor del multiplicador.
Cuando usted mueve los resbaladores, usted puede ser que sea sorprendido por algunos de los
valores provisionales que usted ve. Esto se basa en la manera de la cual los objetos del interfaz
calculan su salida: los objetos mantienen un valor interno a partir de la 0 a la gama (- minuto -
1) máximo. Esto es multiplicada por el valor del mult, después compensó para emparejar el
valor mínimo. Esto significa que la salida tendrá siempre tamaños de paso del mult, incluso
durante el valor pasa con 0.
opciones de la caja de número y el inspector
En el lado derecho del remiendo es un arsenal de cajas de número, cada uno del diamante que
proporciona un diverso tamaño de representación. La caja de número superior es familiar a
nosotros - un número decimal del formato, con un triángulo que nos ayude a reconocer esto
como caja de número editable. Están conectadas con esto dos cajas de número con diversos
tamaños de representación: la caja izquierda exhibe la información en el hexadecimal (base-16),
mientras que la caja derecha exhibe la información como si fuera un valor entrante de MIDI.
La caja de número inferior demuestra un cambio en características de la exhibición: el número
está en una fuente en negrilla, y no hay triángulo en la izquierda de la caja. Esto puede ser útil si
usted quiere ver más del número en un espacio limitado, o si usted quiere implicar que el valor
no debe ser corregido.
Todas estas variaciones en la caja de número se basan en cambios en las cualidades del objeto.
Las cualidades se cambian usando el inspector del objeto, una ventana que contiene todas las
cualidades de un objeto, y un interfaz para corregirlos. Abra el remiendo y asome el ratón sobre
el medio-izquierdo de una de las cajas de número - un pequeño círculo azul con la letra “”
apareceré. Chasque encendido este círculo para invocar al inspector del objeto.
La exhibición inicial del inspector demuestra todas las cualidades disponibles, color-coded por
el tipo. Hay también un sistema de las lengüetas a través de la tapa del inspector que permiten
que limitemos las cualidades que vemos. “La cualidad del tamaño de representación” tiene un
número discreto de valores; usted puede ver los formatos disponibles chascando en el valor
actual. Las opciones son “decimal”, “maleficio”, “octales”, “binario”, “MIDI”, y “MIDI (C4)”.
Éstas son todas las variaciones en la exhibición decimal que puede ser útil, dependiendo de los
valores que usted es que entra o de exhibición en una caja de número.
Cuando chascamos encendido la lengüeta del “aspecto”, vemos solamente las cualidades que
afectan al aspecto de la caja de número. Las opciones incluyen el “triángulo del drenaje”, algo
que vimos lisiado en la caja de número inferior en nuestro patcher. Dé vuelta a esto por
intervalos en el inspector, y note que hay un cambio inmediato en el objeto; los cambios a los
valores del inspector causan cambios inmediatos al objeto.
Los nombres usados por el inspector no emparejan necesariamente los mensajes usados para
controlar el objeto. ¿Cómo sabemos qué mensaje pudo emparejar una cualidad particular? La
manera más fácil de crear un mensaje que empareja es chascar encendido el nombre de una
cualidad y arrastrarlo en un patcher abierto. El nombre será transformado en una caja de
mensaje formatada con el mensaje apropiado, ofreciendo un atajo cuando usted quiere el
control programático de cualidades.
Usando el inspector
Abramos el patcher y creemos nuestro propio pequeño interfaz utilizador. Abra la gama de
colores del objeto y seleccione un resbalador, un dial y una caja de número. Vuélvalos a
clasificar según el tamaño para ser diversos tamaños, y muévalos alrededor para hacer una
disposición atractiva. Observe cómo el resbalador cambia de una vertical a la orientación
horizontal dependiendo del cociente de aspecto (altura contra anchura). Conecte los objetos
para ver cómo obran recíprocamente, y utilice los objetos mientras que ambo exhibición y las
herramientas el corregir. Entonces, para cada objeto, abra al inspector y realice algunos cambios
en aspecto. Cambie los colores, y (si usted tiene gusto) cambie su comportamiento. Cuando le
hacen, traba el remiendo y se cerciora de la mirada del objeto y actúa como usted esperó.
Conclusión
La representación visual y el corregir de datos numéricos pueden tomar muchas formas. Hemos
visto cómo utilizar objetos del resbalador y del dial, y cómo exhibir números en varios
formatos dentro de la caja de número. También hemos cambiado el comportamiento de objetos
usando los mensajes y el inspector del objeto. Puesto que usar datos numéricos es tan
importante en la programación máxima, es provechoso tener muchas maneras de demostrar y
de alterar este tipo de datos.
Vea también
Nombre Descripción
resbalador Números de la salida moviendo un resbalador en pantalla
dial Números de la salida moviendo un dial en pantalla

Clase particular 8: Entrada del teclado y del ratón


Mecanografíe, chasque, y arrastre
Abra la clase particular.
En esta clase particular, miraremos que controlan acciones máximas usando dos reguladores
comunes - el ratón y el teclado de su computadora. También veremos cómo convertir números
en letras, e identificamos golpes de teclado particulares.
No es siempre conveniente - o aún útil - utilizar el hardware externo para controlar remiendos
máximos. La computadora sí mismo contiene a veces todos los mecanismos de control que usted
necesite para trabajar con sus remiendos. El trabajo con el ratón y el teclado puede darnos el
control extenso de nuestros remiendos sin tener que preocuparse de cualquier otro dispositivo.
Observación del ratón
Heche una ojeada el patcher 08mKeyboardAndMouseInput, que será nuestro remiendo del
ejemplo para esta clase particular. En el lado izquierdo de la ventana es un pequeño remiendo
que conecta un objeto del metro con dos nuevos objetos máximos etiquetados mousestate y
los modificantes. Chasque encendido el checkbox para girar el metro, después mueva su ratón
alrededor de la pantalla. Usted notará que las cajas de número conectaron con la información
del informe del objeto del mousestate como su ratón se mueve, y que el checkbox conectado
está girado siempre que usted chasque el botón de ratón.
La salida del objeto del mousestate proporciona la información del botón-estado y de la
cursor-posición sobre el ratón/el cursor cuando el cursor se coloca dentro de una ventana
máxima del patcher. Proporciona un valor que indica si el botón de ratón “está chascado” tan
bien como dos sistemas de coordenadas: posición absoluta del ratón respecto al eje de x y de y, y
una posición del delta que demuestra al movimiento desde entonces que vez última el
mousestate fue votado. La posición absoluta se basa en los coordenadas de la pantalla, no
coordenadas dentro de la ventana del patcher, así que usted puede seguir el movimiento
dondequiera en su pantalla de ordenador. También significa que los resultados del mousestate
variarán dependiendo del tamaño de sus propiedades inmobiliarias de la pantalla de ordenador.
Los coordenadas de la pantalla en la computadora son reverso-cartesianos, que es decir que el
coordenada superior izquierdo de la mano de su pantalla será 0, 0, y el coordenada bajo-derecho
será el tamaño de su pantalla menos 1 (e.g. una exhibición 1024x768 le dará los coordenadas
1023, 767 cuando el ratón está en el borde parte-derecho).
¿El valor del delta divulga cambios en la posición del ratón - pero cuando los cambios se
divulgan realmente? El cambio (así como la posición absoluta) se divulga solamente cuando un
mensaje de la explosión se recibe en la entrada del objeto - por lo tanto, el uso del objeto del
metro de generar mensajes. Esto se llama interrogación, y permite que usted controle la
densidad de los mensajes que son creados por un objeto. Esto es especialmente importante en el
caso de un objeto como el mousestate, donde las corrientes masivas de datos indeseados
podrían ser generadas si actuaba automáticamente. La única salida que no requiere la
interrogación activa es la notificación del botón de ratón (el enchufe izquierdo del objeto).
Observación del teclado
Adyacente a mousestate el objeto es el objeto de los modificantes. Esto seguirá (de de
izquierda a derecha) las llaves del cambio y de la casquillo-cerradura en su teclado, así como las
llaves de Cmd, del control y de la opción en un sistema de Macintosh o el Alt, las llaves derechas
del ratón o las llaves del Ctrl en un sistema de Windows. Todas estas salidas requieren la
votación también, pero son una gran manera de capturar el estado de las llaves de modificante
como casos especiales dentro de su remiendo.
Los tres pequeños remiendos siguientes demuestran la captura de las prensas dominantes en su
teclado de computadora. Desemejante de mensajes del ratón, los golpes de teclado producen
salida solamente cuando está presionado y lanzado, tan no hay necesidad de utilizar la
interrogación para reducir densidad del mensaje. En el remiendo extremo izquierdo, el objeto
dominante se utiliza para conseguir el valor del ASCII de una llave cuando se presiona. Que la
salida está enviada a una caja de número (exhibir el valor), después pasada al itoa un objeto -
que traduzca ese valor de número entero a un símbolo alfanumérico. Esto se envía a la ventana
máxima (vía un objeto de la impresión), donde usted puede ver la letra de la tecla pulsada.
Intente mecanografiar su nombre y mirar la ventana máxima; note que los números enteros que
salen del objeto dominante están convertidos correctamente a su símbolo correspondiente. Las
llaves que generan los caracteres sin impresión, e.g. la llave de vuelta (ASCII 13) y el tabulador
(ASCII 9) generan los valores numéricos correctos del objeto dominante, pero imprimen una
sola línea en blanco en la ventana máxima.
Apenas a la derecha está otro pequeño remiendo que utiliza el objeto del keyup. Esto es casi
idéntico al objeto dominante, salvo que no divulga ninguna información dominante hasta que
se lance la llave. Esto es útil para las situaciones donde usted quisiera que ocurriera una acción
solamente mientras que se está pulsando una tecla; usted podría dar vuelta a la acción en
cuando usted recibe un mensaje de llave, después le da vuelta de cuando usted consigue un
mensaje de keyup.
El pequeño remiendo siguiente alimenta la salida de un objeto dominante a un objeto llamado
numkey. Éste es un objeto muy conveniente que permite que usted trabaje con la entrada de
teclado numérico en el dominio del número entero. Comienzo mecanografiando en algunos
números - usted los verá que son acumulados en un número del enchufe derecho. Si usted
golpea la llave de vuelta, usted verá que el número está divulgado como número entero del
enchufe izquierdo. Esto significa que el objeto del numkey está realizando toda la acumulación
y traducción de valores del teclado en un enchufe numérico. Observe que este remiendo está
limitado a la salida del número entero; si usted quisiera que una coma flotante hiciera salir,
usted necesitaría agregar una discusión flotante (como 0.0) al objeto del numkey para decirlo
respetar la coma y divulgar salida flotante.
Salida que controla con el mousefilter
Finalmente, el remiendo de derecha demuestra un objeto llamado mousefilter en la acción.
Cuando chascamos y arrastramos el resbalador superior, vemos que no se genera ninguna
salida hasta que se lance el botón de ratón. Éste es otro objeto de la conveniencia que se puede
utilizar para limitar la generación de datos intermedios indeseados. En este caso, usted no
puede querer realizar ninguna acción hasta que el movimiento del resbalador sea completo.
Concentrando la salida del objeto del resbalador a través del mousefilter, se suprime toda la
salida hasta que se lance el botón de ratón.
Crear un remiendo “inteligente”
Utilicemos algunas de estos objetos y técnicas para crear un remiendo que los trabajos basaron
“inteligente” en actividad del teclado y del ratón. Cree dos objetos del metro con discusiones de
250, y conecte los objetos del botón con sus enchufes - éstos serán nuestros temas de prueba.
Usando el remiendo extremo izquierdo como punto de partida, conecte el enchufe extremo
izquierdo del mousestate (que divulga el estado del botón de ratón) con la entrada izquierda
de los dos objetos del metro. Trabe el remiendo y verifiqúelo que eso presionar el botón de
ratón gira los objetos del metro, y lanzándolos las causas el metro se oponen para parar.
Después, sigamos la posición horizontal del ratón usando un resbalador. Agregue un
resbalador al remiendo, y conéctelo con el segundo enchufe del mousestate. Para hacer que
esto tenga sentido, necesitaremos cambiar la gama del resbalador. Utilice el mensaje del
tamaño (o utilice al inspector del objeto) para cambiar la gama máxima del resbalador a la
anchura de su pantalla en pixeles - éste será algo como 800, 1024, o 1280 (dependiendo de la
resolución de su pantalla). Ahora, si usted gira el objeto del metro que vota el mousestate,
usted debe ver el resbalador moverse con los movimientos horizontales de su ratón.
Utilicemos este valor para controlar la velocidad de la salida de los dos objetos del metro.
Conecte el enchufe del resbalador con la entrada derecha del primer metro que usted creó.
Ahora, como usted mueve el ratón (con el botón mantenido), usted verá la velocidad del primer
cambio del metro basado en el cargo actual del ratón. También utilicemos el resbalador para
controlar velocidad la segunda del objeto del metro, pero escalado usando un operador de la
matemáticas. Agregue a * opóngase al remiendo con una discusión de 2, y conéctela entre el
resbalador y la entrada derecha del segundo objeto del metro. Ahora, como usted mueve el
ratón (y presione el botón de ratón), usted verá que el segundo metro lleva dos veces tan de
largo el fuego como el primer, pero ambos están siendo controlados por la posición del ratón.
Finalmente, deja uso el teclado de cambiar la escala de ese * objeto. Usando la salida del enchufe
izquierdo del objeto del numkey (el que divulga solamente valores después de que se golpee la
llave de vuelta), podemos conectarla con la entrada derecha * del objeto. Ahora, podemos
cambiar el escalamiento del segundo metro entrando en un número usando las llaves del
número - y hacer tan sin tener que chascar encendido la caja de número para realizar el
cambio. Usted puede probar esto incorporando un número (intento 3 por ejemplo), golpeando
la vuelta, entonces probando la función del tecleo de ratón. Usted debe ver los objetos del metro
responder a la posición actual del ratón.
Conclusión
Esta clase particular demuestra cómo la computadora sí mismo se puede utilizar como
regulador para su remiendo máximo. Algo que dependiendo solamente de elementos del
interfaz utilizador, usted puede preguntar el ratón y el teclado directamente, y utiliza los valores
resultantes para alterar las acciones de su trabajo.
Vea también
Nombre Descripción
itoa Números enteros del convertido a los caracteres de ASCII
llave Divulgue las prensas dominantes en el teclado de computadora
keyup Divulgue los lanzamientos dominantes en el teclado de computadora
modificantes La llave de modificante del informe presiona en el teclado de
computadora
mousestate Divulgue el estado y la localización del ratón
mousefilter Números de pase solamente cuando el botón de ratón está para
arriba
numkey Interprete los números mecanografiados en el teclado de
computadora

Clase particular 9: Dibujo del ratón


Introducción
Abra la clase particular.
En las clases particulares anteriores, hemos mirado un sistema de los objetos básicos que
utilizamos todo el tiempo para construir patchers en máximo. En esta clase particular,
utilizaremos estos objetos (y algunos más) para controlar realmente algo (en este caso,
dibujando). Miraremos algunas maneras de manipular mensajes encaminándolos (usando el
objeto de la puerta) y manipulando listas (usando el paquete y desempaquetar objetos).
También preguntaremos el estado del ratón para cambiar la manera que nuestro remiendo
trabaja, y aprenderemos más sobre conseguir la información sobre objetos individuales y el
cambio del aspecto de objetos y de patchcords. Utilizaremos estos nuevos objetos y técnicas para
controlar el objeto del lcd, que permite que dibujemos gráficos de dos dimensiones simples
dentro del máximo.
Uno de los aspectos más de gran alcance de máximo es la capacidad de crear pequeños
segmentos de programar eso realiza funciones específicas, y tener la capacidad de encaminar
mensajes a la porción apropiada de un patcher más grande. la encaminamiento del Intra-
remiendo es dominante a esa energía, y el objeto de la puerta proporciona esa funcionalidad de
una manera muy flexible. Es también útil construir mensajes complejos en marcha, así que
podemos controlar procesos complejos del remiendo con facilidad relativa.
El paquete y desempaqueta objetos se utiliza para crear mensajes de la lista y para partirlos
en sus componentes individuales otra vez. Las listas son la llave al trabajo con los objetos que
requieren mensajes más complejos, y es a menudo necesario construir y deconstruct listas de
componentes más pequeños (número entero y los números de coma flotante, por ejemplo).
Finalmente, cavaremos en conseguir más información sobre mensajes del objeto. También
aprenderemos cómo colorear y manipular patchcords. Las señales visuales nos ayudan a
imaginar la funcionalidad del remiendo de la otra gente, y hacen remiendos más legibles cuando
compartimos nuestros remiendos.
Conseguir más Info
Antes de que comencemos a mirar qué nuestro patcher preceptoral hace, tomemos una
diversión corta para mirar algunas de las maneras que podemos conseguir la información sobre
los objetos que tenemos en nuestro remiendo. Abra el patcher y mueva su ratón alrededor de los
objetos en el remiendo. Usted ha notado probablemente eso cuando colocamos nuestro ratón en
una entrada o un enchufe, una pequeña caja se exhibe con la información sobre el uso de esa
entrada o enchufe. Este texto de la ayuda se proporciona como recordatorio para el
programador de lo que hace esa entrada o enchufe en un objeto. Usted también notará que un
pequeño círculo está exhibido alrededor de la entrada/del enchufe.
Si chascamos encendido una entrada mientras que se exhibe el círculo, se exhibe un menú del
contexto que demuestra todos los mensajes entrantes apoyados, tan bien como ataja para ver el
archivo de la ayuda del objeto, se refiere a las páginas e incluso para buscar nuestro sistema para
los fósforos relevantes en el hojeador del archivo. Esto proporciona un mayor nivel de detalle si
necesitamos saber los detalles sobre el uso exacto del objeto.
Hay otra opción para la información en marcha: la ventana de la pista. Seleccione la ventana
de la pista del menú de ventana de máximo; una pequeña ventana será exhibida. Ahora,
cuando usted libración el ratón sobre un objeto, nosotros verá una breve explicación de la
función del objeto. También, si se exhibe el menú del contexto, el cernido sobre mensajes
exhibirá una breve pista sobre cómo el mensaje afectará al objeto. Usando la ventana de la pista
ver el uso de objetos es una gran manera de examinar los objetos usados dentro de un remiendo
más complejo.
Más sobre objetos y patchcords
Si usted mira los objetos en este patcher preceptoral, notamos que los patchcords parecen un
poco diferentes que los que hemos visto anterior. En primer lugar, un número de los patchcords
tienen segmentos de ángulo recto; además, algunos de ellos son diversos colores. Miremos
algunas de las maneras que podemos manipular los patchcords ellos mismos. Bajo menú de las
opciones en máximo, compruebe los patchcords divididos en segmentos opción. Esto
permite que creemos los patchcords que tienen curvas en ellos. Podemos suprimir un patchcord
seleccionándolo y golpeando la llave de cancelación. Suprima uno de los patchcords que
conectan las cajas de mensaje con el objeto de la puerta en el tapa-izquierdo del remiendo.
Ahora, vuelva a conectar la caja de mensaje a la puerta, pero en vez de hacer una conexión
directa entre los dos, hacen un patchcord dividido en segmentos chascando el enchufe de la caja
de mensaje y después lanzando el ratón; podemos agregar segmentos chascando el ratón
dondequiera mientras que dibujamos el patchcord; acabamos la conexión chascando la entrada
del objeto de la destinación (la puerta). Si usted utiliza derecho o los patchcords divididos en
segmentos son en gran parte una cuestión de estilo personal, pero usted puede hacer a menudo
a veces un limpiador de la mirada del remiendo usando patchcords divididos en segmentos.
Máximo también puede ayudarnos a limpiar nuestros patchcords. Chasque encendido el
patchcord y golpee el Comando-y en el mac, Ctrl-Cambie de puesto-UNo en la PC
(alternativamente, usted puede seleccionar la función del alinear bajo menú del arreglo en
máximo). El segmento máximo de la voluntad y reencamina el patchcord para evitar traslapar
objetos. Podemos también seleccionar varios patchcords llevando a cabo la tecla de mayúsculas
mientras que chascan en patchcords - la secuencia de comando entonces reencaminará todos los
patchcords seleccionados. No hay diferencia cualesquiera entre un asiduo y un patchcord
dividido en segmentos en términos de cómo los mensajes se pasan entre los objetos.
Finalmente, miremos la capacidad máxima de cambiar el color de objetos y de patchcords.
Podemos seleccionar un objeto o el patchcord (chascando en él) entonces selecciona color del
menú del objeto. Exhibirá un diálogo del recogedor del color, donde podemos seleccionar un
color para el artículo seleccionado. La selección de un color vuelve al redactor del remiendo con
el objeto o el patchcord que tiene el color nuevamente seleccionado. Hemos sido verde de los
objetos del colorante como los introducimos en las clases particulares; como usted puede ver, es
una gran manera centrarse la atención en artículos de las partes importantes dentro de nuestro
remiendo.
Trabajo con el objeto de la puerta
Ahora deja mirada en lo que lo hace el patcher. En nuestro patcher preceptoral, encontramos
dos pequeños remiendos (a la izquierda) y un remiendo muy grande. El remiendo en el
izquierdo superior es donde comenzaremos.
Este remiendo demuestra el objeto de la puerta en la acción. El objeto de la puerta es uno de
los objetos más importantes usados para la encaminamiento de mensaje dinámica dentro del
máximo. Comenzaremos chascando en el mensaje etiquetado 1 (la caja de mensaje media),
después el cambio del valor de la caja de número ató la entrada derecha de la puerta. Cuando
hacemos esto, vemos que el valor de la caja de número está enviado el enchufe izquierdo de la
puerta (enchufe 1). Si chascamos encendido el mensaje etiquetado 2 y alteramos la caja de
número otra vez, vemos que los cambios ahora están enviados el enchufe correcto de la puerta
(o el enchufe 2).
Como podemos ver, el número enviado en la entrada izquierda determina la encaminamiento
del mensaje recibido en la entrada derecha; esencialmente, la entrada izquierda determina se
abre qué enchufe. Ahora, chasque encendido el mensaje etiquetado 0 y cambie el número a la
derecha. El mensaje nunca lo hace fuera de la puerta - los 0 mensajes han cerrado todos los
enchufes. Esto es útil para las situaciones donde queremos suprimir mensajes dentro de nuestro
remiendo, por ejemplo cuando necesitamos permitir e inhabilitar selectivamente los números
que fluyen a partir de una porción de nuestro remiendo a otra.
Como ejercicio, cambie el objeto de la puerta para tener 4 para una discusión (tiene
actualmente un 2). Vemos que el objeto cambia - ahora tiene cuatro enchufes. La discusión a la
puerta determina el número de enchufes que el objeto tenga. Si agregamos algunos más
mensajes a la entrada izquierda (agregando una opción 3 y 4 para apoyar los nuevos enchufes
de la puerta) y a atar las cajas de número a los nuevos enchufes, podemos ver cómo es fácil es
ampliar la matriz de la encaminamiento apoyada por el objeto de la puerta.
el paquete, desempaqueta, prepend
La parte siguiente del remiendo la cual miraremos está apenas debajo de la puerta - utiliza los
objetos del desempaque y del paquete para partir y para volver a montar listas de números, y
el objeto del prepend para colocar un selector del mensaje (un símbolo) delante de la lista. Las
dos cajas de mensaje contienen listas del dos-número; cuando las chascamos encendido,
vemos las dos cajas de número conectadas con el desempaque para oponerse la exhibición los
números del individuo dentro de la lista. El objeto del desempaque ha tomado la lista entrante
y la partió en mensajes numéricos individuales. Puesto que las listas son de uso frecuente crear
mensajes complejos, utilizamos a menudo el objeto del desempaque para desempaquetar
estas listas en sus componentes individuales (llamados los átomos).
Después de que las cajas de número exhiban los mensajes, envían su contenido en el objeto del
paquete abajo, que invierte el proceso combinándolo nuevamente dentro de las listas que se
envían al objeto del prepend y se exhiben en la ventana máxima (vía el objeto de la impresión.
Note que solamente un mensaje está exhibido en la ventana máxima, aunque el objeto del
paquete recibió dos mensajes (uno de cada caja de número). Esto es porque el objeto del
paquete (como la mayoría de los otros objetos en máximo) producirá solamente un mensaje
cuando la entrada extrema izquierda recibe un mensaje. El remiendo que corrige el ambiente
proporciona una pista para esto: si abrimos el remiendo y asomamos el cursor sobre la entrada
derecha, vemos que exhibe un círculo azul - significado que es (no-mensaje produciendo) una
entrada fría. La libración sobre la entrada izquierda y nosotros consideramos que circundó en
rojo; es una entrada caliente, y hará el objeto generar salida cuando recibe un mensaje.
Podemos confirmar esto mecanografiando otros números en las cajas de número que se
intercalan entre el desempaque y el paquete - solamente la caja de número izquierda hará
una lista salir del objeto del paquete.
Las discusiones a embalar y a desempaquetar determinan el número de entradas y los
enchufes, respectivamente, el objeto tendrán, pero también el tipo de mensaje que se puede
enviar en esas entradas. En nuestro caso aquí, ambos objetos están trabajando con las listas del
dos-elemento compuestas de los números del número entero (significados por el uso de 0 como
discusión inicial). Si la lista nosotros hacía números de coma flotante requeridos, habríamos
podido utilizar 0. (o cualquie otro valor flotante inicial) como discusión; semejantemente, si un
símbolo (una palabra) fue necesitado en la lista, habríamos podido utilizar la letra s (o cualquie
símbolo); los tipos de datos pueden ser mezclados y emparejados dentro de una lista.
Note que el objeto del prepend coloca el thelist de la palabra delante de la lista de números
que salen del desempaque - este símbolo puede ser cualquier palabra que tengamos gusto,
pero en muchos casos en máximo utilizamos prepend colocar un selector del mensaje al
principio de una lista antes de enviarla en un objeto que tenga un uso especial para ese mensaje.
El objeto del lcd
Ahora es hora de atacar el remiendo grande a la derecha. Veamos lo que hace girando el objeto
del metro en la tapa del remiendo chascando el objeto de palanca a 1 (comprobado).
El objeto rectangular grande en el centro del remiendo es un objeto del lcd (indicador de cristal
líquido): podemos utilizar este objeto para dibujar los pixeles, las líneas, las formas, el texto, y
otros gráficos de vector de dos dimensiones simples. Si usted arrastra el ratón en esta área
mientras que mantiene el botón de ratón, vemos que dibuja líneas que usted va dondequiera
que. Lance el botón de ratón, y el dibujo parará.
Si usted mantiene la tecla de mayúsculas, la llave de la opción/alt o una combinación de ambos,
el objeto del lcd dibuja diversas formas debajo del ratón algo que líneas. Hay tres cajas de
mensaje coloreadas sobre el lcd que se puede utilizar para cambiar el color del primero plano
del dibujo (usando el mensaje del frgb), y otra caja de mensaje (a la derecha) que enviará el
mensaje claro al lcd, borrando su pantalla.
Una de las secciones dominantes de este remiendo es la dirección de las llaves del cambio y de la
opción/alt; el es hecho por los modificantes se opone, que se vota usando el metro, y divulga
el ajuste actual de las varias llaves de modificante en su teclado. En este caso, utilizamos los
enchufes que divulgan las llaves del cambio y de la opción/alt; multiplicamos el estado de la
llave de la opción por 2 y lo agregamos al estado de la tecla de mayúsculas. El resultado es que
el cambio solamente nos dará el valor 1, la opción/alt solamente dará el valor 2, y la
combinación nos dará 3. Si no hay llaves de modificante deprimidas, el valor será 0. Este tipo de
circuito del remiendo es perfecto para controlar el estado del objeto de la puerta abajo.
Además de proporcionar una superficie del dibujo, el objeto del lcd puede darnos la localización
actual del ratón de una forma análogo al objeto del mousestate, solamente concerniente a la
posición del lcd en el remiendo. Enviando el mensaje esté desocupado 1 al objeto permite que
consigamos coordenadas del ratón sin importar independientemente de si el ratón esté
chascado realmente dentro del lcd (permitimos mousing ocioso cuando giramos la caja de
palanca, arriba).
Estos coordenadas son proporcionados por el segundo enchufe del objeto del lcd - podemos ver
los valores (una lista de dos números que representan las coordinadas de X y Y dentro del objeto
del LCD) en las cajas de número en la derecha más baja, después de que hayan sido partidos
aparte por el objeto del desempaque. Esta lista también se envía a la entrada derecha del
objeto de la puerta; hemos coloreado ese patchcord rojo para hacerlo fácil ver.
Encaminando el ratón coordina a diversas áreas del patcher, el objeto de la puerta ahora
controla qué tipo de dibujo ocurrirá en el lcd. Si no hay llaves de modificante deprimidas, la
puerta recibe un 0 y no se utiliza ningunas de las rutinas del dibujo, aunque podemos todavía
chascar-arrastramos dentro del lcd para dibujar líneas. Si el cambio, la opción/alt, o ambas son
deprimidos, la puerta encamina la localización del ratón a la sección apropiada del remiendo.
En cada uno de estas secciones, se funcionan las localizaciones de X y de Y desempaquetan a
través objetos para conseguir los coordenadas individualmente. Entonces se utilizan para crear
una forma correctamente clasificada. En el caso izquierdo (del cambio), un valor de 10 se resta y
se agrega a ambos coordenadas y se envía en un objeto del paquete en la orden:
X-10 Y-10 X+10 Y+10
Esta lista de cuatro valores entonces se envía a un prepend, que pone un símbolo en el frente
de la lista. El objeto del lcd apoya un número de comandos del dibujo que hagan diversas cosas;
en este caso, estamos dando instrucciones nuestro lcd para dibujar marcos rectangulares
proveyendo de él un mensaje seguido por cuatro discusiones - los límites izquierdos, superiores,
correctos, e inferiores del framerect del rectángulo que quisiéramos dibujar.
Mirando los otros dos pedazos de código del dibujo, podemos ver que trabajan de maneras
similares. El enchufe medio del objeto de la puerta (que responde a la llave de la opción/alt)
dibuja los marcos oval-shaped (el mensaje frameoval) que es los pixeles 10x10 de tamaño (nota
+ y - los objetos). La tercera alternativa del dibujo (para cuando se mantienen el cambio y la
opción/alt) dibuja completados rectángulos con las esquinas redondeadas (paintroundrect).
Además de los coordenadas del rectángulo, dos cajas de número adicionales se envían en el
packobject - éstos control cómo está redondeado las esquinas sea.
Cuando se crean y se determinan (usando la matemáticas se opone y paquete) y se dan los
coordenadas un selector del mensaje para determinar la rutina del dibujo (usando el objeto del
prepend), el mensaje se envía nuevamente dentro del objeto del lcd. Para ver fácilmente esta
encaminamiento de mensaje, hemos coloreado los patchcords del comando del dibujo en azul.
Las cajas de mensaje del frgb también se colorean para emparejar el color que dirá el lcd
dibujar con. Éstos son ejemplos del colorante de la cuerda del objeto que usa y de remiendo para
hacer la función de un remiendo más obvia.
Conclusión
Ha habido varios asuntos diversos (pero importantes) cubiertos en esta clase particular. Vemos
cómo el objeto de la puerta se puede utilizar para activar el mensaje que pasa a las secciones de
su remiendo. También hemos visto cómo utilizar el desempaque, embalar, y prepend
objetos para construir y analizar mensajes complejos. También hemos visto cómo colorear y
manipular patchcords y objetos para ayudar a hacer remiendos y la encaminamiento de mensaje
más fácilmente visible. Finalmente, hemos visto cómo utilizar el objeto del lcd para el dibujo
simple.
Vea también
Nombre Descripción
puerta Pase la entrada hacia fuera un enchufe específico
paquete Combine los números y los símbolos en una lista
desempaquete Rompa una lista en mensajes individuales
prepend Ponga un mensaje al principio de otro
lcd Dibuje los gráficos en una ventana del patcher

Clase particular 10: Dibujo al azar


Introducción
Abra la clase particular.
En esta clase particular, exploraremos más lejos el dibujo usando el objeto del lcd. Sin embargo,
en vez de formas explícitamente de dibujo, miraremos maneras automáticamente de generar
comandos del drenaje usando los objetos al azar y borrachos.
Muchas diversas formas de arte utilizan las técnicas al azar y pseudoaleatorias para generar el
contenido interesante o inesperado. Veremos cómo utilizar el objeto al azar para producir una
gama de números para el material de fuente, puesto que éste es el método usado dentro de
máximo para crear el material al azar. El objeto borracho proporciona una manera de realizar
una caminata al azar a través de una gama del número, que puede proporcionar el
unexpectedness de la generación de número al azar mientras que evita saltos grandes
indeseados en el número generó.
Dibujo con al azar
Heche una ojeada el patcher preceptoral. En el izquierdo superior del patcher es un remiendo
que utiliza el objeto al azar (verde coloreado) para generar un número al azar. Cuando
golpeamos el botón conectado con él, la salida del objeto es un número entre 0 y 999 -
dándonos una gama de 1000 números al azar potenciales. Ése es el propósito de la discusión del
objeto; fija la gama de números que el objeto puede generar.
Cada vez que usted chasca encendido el botón, el objeto genera otro número. Si usted quiere
cambiar la gama de la salida, usted puede cambiar la discusión - o usted puede enviar un nuevo
valor en la entrada derecha del objeto al azar. Si introducimos 20 en la caja de número
conectada en la tapa, podemos ver que eso el golpe del botón ahora generará números entre 0 y
19. Ahora, utilicemos esto para generar algunos gráficos interesantes en el lcd se oponen en el
parte-izquierdo del remiendo.
La sección del remiendo etiquetado con el 1 comentario es un generador automatizado de los
gráficos para el lcd abajo. Un objeto del metro proporciona una corriente constante de los
mensajes de la explosión en cinco objetos al azar, cada uno con una gama que sea apropiada al
tamaño del objeto del lcd (que es 320 pixeles de par en par y 240 pixeles altos). La salida el
primeros dos objetos al azar se manipula con algunos objetos de la matemáticas para crear los
números que necesitamos; todo entonces se embala junto para crear una lista de siete números
(vía el objeto del paquete); el mensaje paintoval se pone antes de que la lista (vía el objeto del
prepend), y después se envía al lcd.
Para ver lo que representan los siete números en la lista, debemos comprobar el texto de la
referencia del lcd. Podemos hacer esto abriendo el patcher, seleccionando el objeto del lcd,
después eligiendo referencia abierta del lcd del menú de ayuda. Esto exhibe la página
manual del lcd, donde podemos repasar el mensaje paintoval.
Según el manual.N-POS=30 de referencia, se dejan las discusiones, tapa, la derecha, parte
inferior y color (se envían como lista de tres valores que representan las cantidades rojas,
verdes, y azules del color que se utilizará). Mirando el código de dibujo automatizado, vemos
que el primer objeto al azar proporciona la localización izquierda y derecha (con 5 pixeles
agregados y restados para proporcionar una forma pixel-ancha 10); el segundo objeto al azar es
similar, pero proporciona las localizaciones de la tapa y de la parte inferior para la forma.
Finalmente, los tres objetos al azar pasados crean tres números al azar (en la gama de 0-255)
que creen un color al azar del RGB para el dibujo.
Cuando giramos el metro con la caja de palanca, vemos que el lcd rápidamente se llena de los
pequeños (círculos del pixel 10) del color al azar. Éste es un gran ejemplo de la selección
verdaderamente al azar de la localización y de color. ¿Pero qué si queremos ejercer un poco más
control sobre la localización del dibujo?
Dibujo con borracho
Hay muchos tipos de comportamiento al azar que se pueden modelar por la computadora. El
objeto al azar proporciona la aproximación más cercana a la aleatoriedad “pura” que podemos
conseguir; cada número dentro de su gama tiene una probabilidad igual de la selección. Una
alternativa al objeto al azar es el objeto borracho, supuesto porque permitió que usted
realizara la “caminata borracha” a través de una gama de números; esta distribución aleatoria
(técnico una variante algo movimiento browniano llamado) caracteriza muchos procesos “al
azar” en naturaleza.
Apenas debajo de nuestro ejemplo al azar (en el izquierdo superior del remiendo) está un
segundo remiendo de la prueba para el drunkobject. Si usted chasca encendido el botón
conectado, usted verá que nos da un número al azar basado en la gama proporcionada por su
primera discusión (una discusión de 1000 nos da números entre 0 y 999). El golpe del botón
una segunda vez, sin embargo, nos da un resultado algo diferente: todavía conseguimos un
número al azar, pero sigue habiendo dentro de la gama de +/- 20 del valor anterior (la segunda
discusión). Continúe golpeando el botón, y usted verá que el valor permanecerá siempre dentro
de 20 pasos del eligió previamente número. La segunda discusión a borracho nos da el tamaño
de paso máximo para cada recibo de una explosión.
Como con el objeto al azar, ambas discusiones a borracho pueden ser cambiadas conectando
las cajas de número con las entradas proporcionadas. En el caso del objeto borracho, la
segunda entrada cambia el valor de la gama, mientras que (la tercera) entrada derecha cambia
el valor del paso. Si cambiamos los tamaños de la gama y de paso a números más pequeños
(como 10 y 2 respectivamente), podemos ver cómo la salida se afianza con abrazadera a una
gama más pequeña cuando chascamos el botón otra vez.
Podemos limpiar la lona del lcd limpia chascando la caja de mensaje etiquetada claramente
debajo de la sección 1 en el remiendo preceptoral. El patcher tapa-derecho (etiquetado 2)
demostraciones cómo podemos utilizar el objeto borracho para realizar otra tarea de dibujo
automatizada. En aspecto, es muy similar a la rutina del dibujo que demostrábamos el objeto al
azar, simplemente con un objeto substituido para otro. Después de despejar el objeto del lcd,
encienda el metro chascando la palanca sobre ella. El objeto del lcd se envía los mensajes del
paintrect con una lista de valores de número entero generados; los rectángulos resultantes se
mueven alrededor del lcd, pero nunca hacen un salto grande porque son obligados por el
pequeño tamaño de paso (20 por 15 pixeles) de los objetos borrachos. Usted también
observará que el color cambia muy lentamente, porque las discusiones del color creadas
también son obligadas por el tamaño de paso (5) de los objetos borrachos.
Un dibujo más al azar
El tercer sistema de objetos de dibujo automatizados está en el bajo-derecho del remiendo
(etiquetado 3). Esta sección de las miradas del remiendo complicadas algo, y aplicaciones un
nuevo mensaje del dibujo para el objeto del lcd: framepoly. Si abrimos de nuevo la página de la
referencia del lcd otra vez, vemos que este mensaje cuenta con una serie de pares de x/y para
crear un marco del polígono, donde cada par de x/y representa una esquina o una cima.
Nuestras aplicaciones rutinarias automatizadas ocho objetos al azar de crear cuatro pares de
coordenadas, éstos se combinan en una lista (con el paquete), prepended con framepoly el
mensaje (con prepend), después se envían al lcd. Algo que framepoly el mensaje con la
información del color, nosotros calculan por separado un sistema al azar de tres valores, los
hacen en una lista, y crean un mensaje del frgb (para el primero plano RGB) que también se
envíe al lcd.
Esta rutina lleva un diverso acercamiento la selección al azar del punto. Algo que aleatoriamente
seleccionando cualquier punto en la superficie del lcd, los números al azar generan un valor a
partir de la 0-9, después multiplican el resultado para terminar la selección coordinada. En el
caso (x) de coordenadas horizontales, el valor es multiplicado por 32; para la vertical (y)
coordina, el valor es multiplicado por 24. Así, la superficie del lcd se divide en una rejilla 10x10,
y todos los coordenadas son “bloqueados” en esta rejilla.
Cuando giramos el metro para esta sección del remiendo (vía el objeto de palanca sobre él),
vemos que el marco del polígono está dibujado en el color (al azar) generado, pero también
vemos rápidamente el resultado de limitar la selección del número al azar: el gráfico adquiere
una calidad web-like, especialmente sensible a lo largo de los bordes. Levemente cambiando la
manera utilizamos el objeto al azar, nosotros hemos implicado un cierto control en el resultado
generado.
Un resultado levemente diverso puede ser considerado si substituimos los objetos al azar
usados para la creación coordinada por los objetos borrachos. Substituya todos los 10 objetos
al azar por los 10 2 objetos borrachos. Ahora, cuando usted funciona el remiendo, la creación
de la tela parece aún más controlada. Usted puede pellizcar más lejos la función del dibujo
substituyendo los generadores del color, cambiando todos los 255 objetos al azar algo como
255 15 borrachos. Esto hará el color cambiar suavemente, dándole una perspectiva distinta en
el dibujo generado.
Conclusión
Hemos aprendido un poco más sobre el dibujo en el objeto del lcd, usando el paintoval (crear
pequeños círculos), paintrect (crear pequeños cuadrados) y framepoly (crear líneas
articuladas) los mensajes. Más interesante, también hemos aprendido para tener máximo
realizar el dibujo para nosotros, usando el al azar y los objetos borrachos para generar
coordenadas y colores en el lcd emergen. También hemos visto, usando gamas y la
multiplicación, que podemos manipular la generación de número al azar para caber necesidades
específicas a la aplicación. No debe ser ninguna sorpresa que los objetos al azar y borrachos
son en el corazón de muchos usos generativos de la música y de los gráficos.
Vea también
Nombre Descripción
al azar Genere un número al azar
bebido Números al azar de la salida en una gama móvil

Clase particular 11: Dibujo procesal


Introducción
Abra la clase particular.
En esta clase particular, utilizaremos varios nuevos objetos para realizar el dibujo procesal con
el objeto del lcd. El objeto contrario proporcionará el paso enumerado que procesa, la línea
objeto permitirá creemos salida alisada, y el objeto de la escala permitirá que cambiemos la
gama de salida. Finalmente, introduciremos algunos objetos matemáticos que nos ayuden a
crear algunas formas comunes que requieran la trigonometría simple.
Utilizamos a menudo las construcciones programáticas y procesales para realizar tareas en
nuestros programas; éstos pueden presentar las nuevas oportunidades para la representación
gráfica, pero se pueden también utilizar cualquier momento necesitamos contar a través de un
sistema de números, crean una trayectoria numérica, o valores de escala. Si está utilizado para la
visualización audio, la regeneración del regulador o apenas un pedacito interesante del arte, el
código procesal puede servir como una herramienta útil e inspiración.
El usar opuestamente a drenaje
Heche una ojeada el patcher preceptoral. Este remiendo tiene algunas áreas que nos ayuden a
entender algunos nuevos objetos, y otro remiendo grande del dibujo. En el tapa-izquierdo es un
pequeño remiendo que demuestra el objeto contrario. Cuando chascamos encendido el botón
izquierdo, el objeto produce la salida numérica que incrementa por 1 para cada mensaje de la
explosión que recibe. Cuando la salida alcanza 9, la explosión siguiente reajustará la salida a 0.
Las discusiones que hemos proporcionado aquí al contador proporcionan los números
mínimos y máximos para la salida. Cuando el objeto golpea su máximo, colocará - trasero otra
vez al número mínimo. Esto permite que utilicemos opuestamente a crea lazos de valores.
El objeto contrario es algo inusual en que puede aceptar un número variable de discusiones:
• Si usted tiene una discusión, fija el valor máximo del contador.
• Si usted tiene dos discusiones, fijan el mínimo y los valores máximos del contador.
• Si usted tiene tres discusiones, fijan la dirección, el mínimo y los valores máximos del
contador.
Nuestro remiendo de la prueba para el contador incluye un botón adicional (azul coloreado) y
dos cajas de número a los valores determinados del objeto. Esto es una gran oportunidad de
utilizar la ayuda en entradas de descubrir lo que él lo hace. Si abrimos el remiendo y asomamos
sobre la tercera entrada (que tiene un botón y caja de número conectados), la ayuda dice
“reajustes opuestamente a número en el reloj siguiente”. Esto nos deja cambiar el valor actual
del contador mientras que está funcionando.
Si cambiamos la caja de número a 5 entonces golpeó el primer botón, nosotros ve que la salida
es el número 5 - sin importar cuáles era el valor anterior. Éste es cómo fijamos el estado del
contador en marcha. El chascar en el segundo botón (del azul) (que envía el mensaje de la
explosión) reajustará el valor al mínimo: 0 en este caso.
La caja de número a la derecha permite que cambiemos el valor máximo en marcha. Esto sería
útil para las situaciones del dibujo donde usted puede ser que necesite cambiar el tamaño del
área de dibujo, o cuando usted está ordenando un efecto y necesita cambiar el número de pasos.
Cuando cambiamos este valor y golpeamos en varias ocasiones el botón, vemos que el nuevo
valor máximo está honrado.
El remiendo del dibujo tiene una sección etiquetada 1; aquí es donde utilizamos el objeto
contrario procesal al drenaje en el objeto del lcd. Cuando encendemos el metro (usando el
objeto de palanca conectado), vemos que el remiendo comienza a dibujar pequeños círculos en
el lcd, con el color cambiando gradualmente mientras que progresa. Cuando el dibujo alcanza la
parte inferior del lcd, recomienza el dibujo en la tapa.
Cuatro diversos objetos contrarios se utilizan en este remiendo; un para fijar la localización y el
tamaño del dibujo, y tres otros para cambiar el color. La comprensión del contador extremo
izquierdo es la más importante: cuenta a partir la 0 a 767, dándonos total de 768 pasos. La
localización del dibujo X/Y se calcula con los % (modulo) y/los objetos (de la división),
rompiendo para arriba nuestro objeto del lcd en una rejilla 24x24. Si miramos la salida del
contador y el % y/se opone, podemos ver que el sistema trabaja creando dos lazos a partir de la
0 a 23, a uno que va rápidamente (de los % del objeto) y al otro que incrementa cada vez que el
primer lazo ha repetido (/objeto). Los valores son multiplicados por 10 (conseguir la
localización del pixel para la localización tapa-izquierda), después tienen 10 agregados
(conseguir la localización del pixel para el parte-derecho). Esto fijó una rejilla de lcd-relleno de
los círculos para que nuestro programa dibuje.
Los tres otros objetos contrarios completan un ciclo a través de tres diversas gamas del número
para darnos una gama de colores de color evolutiva. Estos objetos contrarios utilizan la
inicialización de la tres-discusión, donde la inicial 2 fuerza opuestamente a movimiento hacia
arriba al máximo, entonces hacia abajo al mínimo. Esto es qué hace el dibujo cambiar
lentamente colores mientras que dibuja. Chascar el botón etiquetado "RESET" recomenzará la
simulación del principio del lazo.
Usando la escala a dibujar
Si volvemos de nuevo al tapa-izquierdo del patcher, el segundo pequeño ejemplo demuestra el
uso del objeto de la escala. Este objeto permite que usted fije una gama de valores de la entrada
y una gama de valores de la salida; el objeto entonces escalará correctamente los valores para
trazarlos en la nueva gama del número. En nuestro ejemplo, los valores entrados entre 0 y 100
se trazan a la gama de -1.0 a 1.0 - esto es determinada por las discusiones proporcionadas al
objeto. Si usted cambia la caja de número de la entrada, usted verá que un valor de 0 rinde
una salida de -1.0, un valor de 50 nos dará un valor de 0.0, y un valor de 100 nos dará un
resultado de 1.0. Estos números se trazan en una manera linear a través de la gama que
proporcionamos.
Si usted elige exceder la gama de la entrada, usted encontrará que la salida continúa utilizando
el efecto calculado de la gama, de tal modo permitiendo que usted exceda la gama prevista sin
fallar. Por lo tanto, un valor de 150 traducirá a una salida de 2.0, mientras que un valor de -100
le dará un valor de -3. Las discusiones se utilizan para determinar la expresión matemática
usada para la conversión.
La sección del remiendo del dibujo etiquetado escala de 2 aplicaciones para dibujar una forma
basada en cálculos de la onda de seno. Un objeto contrario produce la salida que se extiende a
partir de la 0 al valor máximo (fije usando las dos cajas de número a la derecha del objeto del
metro). Esto se escala a partir la 0.0 a 6.283185 (2*pi), después se envía al pecado un objeto,
que calcula el seno del valor de la entrada. Esto produce una onda de seno que varíe a partir el
-1.0 a 1.0 en gama. Este valor se envía a otro objeto de la escala que trace esta gama a la gama
0 a 319 del número entero - la gama del tamaño del objeto del lcd. Esto se utiliza para
proporcionar las localizaciones de X de la línea. Un sistema similar de funciones se utiliza para
fijar la localización de Y. Estos números entonces se insertan en una lista (usando el paquete,
prepended con el mensaje del lineto (usando prepend) y después enviado al lcd.
Despeje el lcd usando la caja de mensaje que contiene el mensaje claro. Gire el metro usando
la palanca, y mire el resultado. El resultado es un dibujo seno-basado sobre la cara entera del
lcd. Usted puede fijar los valores máximos del procedimiento alterando las cajas de número
que se atan a los objetos contrarios. Observe que las cajas de número cambian no sólo los
parámetros de los objetos contrarios, pero también la gama máxima de la entrada esperada por
la escala se opone inmediatamente abajo (la tercera entrada para el objeto de la escala
determina la gama máxima de la entrada esperada).
Los dos objetos contrarios, cuando sistema a diversos puntos máximos, crean diversas ondas
de seno que se enclavijan que dibujen a través del lcd. Estas curvas se llaman los patrones
lissajous y simulan qué sucede cuando los osciladores desfasados se alimentan en las entradas
de X y de Y de un osciloscopio. Éste es un gran ejemplo de usar funciones simples de la
matemáticas para crear dibujos complejos.
Usando la línea a dibujar
Volviendo al tapa-izquierdo del remiendo, el tercer ejemplo nos da una oportunidad de
considerar la línea objeto en la acción. La línea objeto toma un par de valores entrantes
(configurados como un valor/un rato que se aparea) y se mueve lentamente a partir de un valor
al siguiente. Si se recibe un solo valor, salta inmediatamente a ese valor. Sin embargo, cuando se
proporciona un segundo valor, se trata mientras que el número de milisegundos para moverse a
ese nuevo valor.
El chascar en la primera caja de mensaje (etiquetada 100 1000) moverá la línea desde el valor
inicial de 0 al valor de blanco (100) durante 1000 milisegundos. El chascar en él no demostrará
otra vez ninguÌ チ n cambio, porque el valor actual (qué restos en 100) es igual que el valor de
blanco (tiene en ninguna parte ir). La línea objeto es “estado enterado”, significando que
entiende su valor actual, y ajustará su acción basada en el estado de ese valor.
El chascar en la segunda caja de mensaje (0 5000) moverá el resultado de la línea de nuevo a
0 durante 5000 milisegundos (5 segundos). El chascar en la primera caja nos moverá de nuevo a
100.
La tercera caja de mensaje es un poco más interesante. Utiliza una función especial de la caja
de mensaje para crear mensajes múltiples; cuando una coma separa valores, se tratan como
mensaje separado, y funcionarán como si dos mensajes fueran enviados abajo de la misma
cuerda de remiendo inmediatamente después de una otra. En este caso, el valor 20 se envía
como el primer mensaje. Puesto que no hay hora que se aparea, el valor actual fuera de la línea
salta inmediatamente a 20. Inmediatamente luego, los 50 2500 pares se envían, haciendo la
salida resbalar a partir el 20 a 50 durante 2.5 segundos. Podemos también utilizar la caja de
número para saltar inmediatamente la línea a un nuevo valor; puesto que no se proporciona
ninguÌ チ n valor que mide el tiempo, hará también el estado actual saltar al valor incorporado.
La sección del remiendo del dibujo etiquetado 3 es el procedimiento más complejo que todavía
hemos visto. Depende del mecanismo ocioso del objeto del lcd para hacer alguÌ チ n dibujo
procesal. Cuando se gira el mensaje ocioso (con la marcha lenta 1 mensaje), el objeto del lcd
hace salir la localización actual del ratón concerniente a la lona del objeto del lcd cuando usted
mueve su ratón sobre él. Estos coordenadas de X/Y se mandan como lista el segundo enchufe
del lcd.
El patchcord azul claro fuera del lcd conecta nuestros coordenadas del ratón con una parte
posterior del objeto del desempaque en la tapa. Estos valores se envían en nuestro código del
dibujo, que crea un sistema de valores usados para dibujar un par de formas redondas que sigan
el cursor. La línea objeto se utiliza para retardar los cambios en las formas, y las causa a
lentamente “pone a cero adentro” en la localización de cursor actual. Gire el mensaje ocioso con
la caja de palanca, después el ratón alrededor del objeto del lcd para ver cómo reacciona.
Hay dos cosas muy importantes en este procedimiento. Primero, el uso de la línea objeto a la
ciénaga que la salida valora sobre un calendario de un segundo (ms 1000). Esto da a resultados
una sensación más orgánica haciéndolos interpolar en un cierto plazo. En segundo lugar,
utilizamos el objeto del cartopol (cartesiano a polar) para cambiar la posición de X/Y
(“cartesiano”) del cursor en un par de la distancia/del ángulo (“polar”) de coordenadas, útil para
el contenido del dibujo en un dominio circular. Una vez que se calculan los coordenadas polares,
se escalan para emparejar el tamaño del área de dibujo circular, después se utilizan como parte
de un complejo, caja de mensaje del multi-mensaje para crear los dos “ojos” encontrados en el
medio del objeto del lcd.
La caja de mensaje en la parte inferior del código envía cuatro comandos de dibujo en orden al
lcd. Los primeros dos dibujan dos círculos del fondo usando el comando paintoval en las
posiciones fijas (100 100 140 140 y 180 100 220 240). Las tres discusiones pasadas al
sistema paintoval el color (negro: 0 0 0). Los segundos dos mensajes utilizan los valores del
objeto del paquete para dibujar el verde “pupilas” en los ojos. Los cuatro valores proporcionan
el ángulo que comienza y de terminación para las pupilas que usan el mensaje del paintarc.
La comprensión de toda la funcionalidad de este procedimiento puede ser difícil, pero la vale -
éste es otro ejemplo de usar una cierta programación matemática para crear un resultado final
complejo y realista. Los gráficos en tiempo real simples se hacen fuera de bloques huecos del
código procesal apenas como esto; tomar un sistema de valores de la entrada y el escalamiento
de ellos a sus necesidades es críticos para muchos usos en máximo.
Conclusión
Hemos visto que alguÌ チ n bastante complejo programando eso proporciona funcionalidad
controlada del dibujo dentro de un objeto del lcd creando los lazos (contrarios), escalando
valores de la entrada a los valores de la salida (escala), e interpolando números en un cierto
plazo (línea). También hemos trabajado con algunos objetos que computan la trigonometría.
Usando estos nuevos objetos en la combinación, podemos afirmar mucho control procesal sobre
lo que queremos lograr en nuestros programas.
Vea también
Nombre Descripción
contador Cuente los mensajes de la explosión recibidos, haga salir la cuenta
escala Trace una gama de la entrada de valores a una gama de la salida
línea Haga salir los números en una rampa a partir de un valor a otro
pecado Función del seno
cartopol Cartesiano a la conversión del coordenada polar

Clase particular 12: Aparato de lectura de la película


Introducción
En esta clase particular, seremos centrados en la exhibición de películas usando las
herramientas video del aparato de lectura de QuickTime de Apple. También aprenderemos
sobre usar el hojeador incorporado máximo del archivo para encontrar el contenido video útil, y
aprendemos algunas maneras de manipular aparato de lectura de la película en tiempo real.
El sistema de QuickTime de Apple es bien sabido como mecanismo película-que juega, pero
también provee de los analistas de programas informáticos una caja de herramientas rica para el
aparato de lectura y la manipulación de muchos tipos de contenido de los medios. Las
herramientas del revelador de QuickTime fueron utilizadas para crear varios objetos para
máximo; uno del más importante es el objeto del imovie, que exhibe el contenido video dentro
de un patcher. Utilizaremos el imovie para cargar y los vídeos del juego así como manipulan la
velocidad del aparato de lectura y la localización del aparato de lectura. También aprenderemos
cargar y cambiar entre los vídeos, abriendo la puerta para los remiendos interactivos del
funcionamiento.
Mientras que el objeto del imovie provee de mucha funcionalidad para trabajar los medios
video dentro de máximo, el sistema de la inquietud de las extensiones del objeto para máximo
proporciona mucho más. Una vez que usted consigue cómodo con el imovie, usted lo
encontrará fácil de utilizar su inquietud jit.qt.mo equivalente para competir, que permite que
usted no sólo juegue el vídeo pero enviado le en el sistema de proceso de la matriz de la
inquietud para agregar dinámicamente efectos, para realizar operaciones compositing, y para
desarrollar sistemas de video más avanzados.
Operación básica del imovie
Abra la clase particular.
Este archivo carga con un número de pequeños remiendos y una zona de visualización grande -
éste debe demostrar inicialmente un número dentro de los retículos. Esta zona de visualización
es realmente el objeto del imovie, y permite que usted encaje un clip de la película de
QuickTime directamente dentro de un patcher. El número con los retículos es un videoclip que
el objeto ha cargado cuando abrimos el patcher; ha llamado countdown15.mov. Utilizaremos
este caso del imovie, junto con varios mensajes del control, para exhibir y para controlar
aparato de lectura de la película de QuickTime.
Apenas sobre imovie el objeto es un arsenal de cajas de mensaje que envía comandos al
objeto. Los cuatro mensajes superiores proporcionan algunos comandos básicos: el mensaje
leído leerá adentro un archivo especificado de la película; el comienzo lo hará comenzar a
jugar; la parada dejará de jugar el archivo; disponga quitará la película actual de la memoria
del objeto del imovie. Una vez que usted ha dispuesto de la película, usted puede recargarla otra
vez usando el comando leído. Intento que chasca estas cajas de mensaje. Observe que el
comienzo comienza la película que usted envía al principio cada vez ese mensaje.
Está después un sistema vertical de cinco diversos mensajes de la tarifa. El mensaje de la tarifa
dice el objeto del imovie cambiar la velocidad del aparato de lectura del clip de la película,
donde el valor 1. significa aparato de lectura (delantero) normal. Un índice de -1. jugará la
película al revés a la velocidad normal; movimientos de la tarifa 0.5 que el clip remite a la
velocidad del ½. Comience el aparato de lectura de la película (con el mensaje del comienzo),
después chasque encendido los mensajes de la tarifa para ver la alteración. Observe eso que
envía la tarifa del mensaje 0. pausas la película donde está. Un mensaje subsecuente de la
tarifa 1. (o cualquie otra velocidad) cogerá cosas donde se fue apagado.
Cuando la película alcanza el extremo, usted puede chascar el mensaje del comienzo otra vez
para recomenzarlo. Sin embargo, apenas a la derecha de los mensajes de la tarifa, podemos ver
una alternativa al recomienzo del constante: usando el mensaje del lazo para hacer el archivo
video colocar repetidamente. Chasque encendido la caja de palanca para dar vuelta encendido
a la colocación. Ahora usted puede ver que la película, sobre alcanzar su extremo, recomenzará
al principio - funcionando por siempre.
El objeto del imovie puede también decirnos cosas sobre la película de QuickTime que juega
actualmente. Hay muchos diversos mensajes que se pueden utilizar para preguntar la
información del imovie; usted puede descubrir sobre ellos en las páginas del manual.N-
POS=30 de referencia. Uno de los fragmentos de información más importantes es la duración
de la película - la cantidad de hora para una sola iteración del aparato de lectura de una película.
Esto se podría utilizar para generar una cuenta de la música, o apenas para fijar una exhibición
que ayuda a la demostración donde estamos en la película. En todo caso, el envío del mensaje de
la duración hace el imovie mandar la duración de la película (en milisegundos) el enchufe
extremo izquierdo del objeto.
Usando el hojeador del archivo
Los mensajes que acabamos de intentar nos dan el control básico del objeto del imovie, pero
teniendo que cambiar el mensaje leído que queremos agregar un nuevo archivo sería en
caulquier momento algo oneroso. Una opción es cambiarlo a un mensaje leído sin la discusión;
esto abrirá una caja de diálogo que le deje escoger cualquier archivo en su sistema informático.
Sin embargo, quizás la manera más fácil agregar una nueva película a su objeto del imovie es
utilizar el hojeador del archivo.
Usted puede abrir una ventana de hojeador del archivo seleccionando el hojeador del nuevo
archivo del menú de archivo. Esto presenta una ventana con nombres del archivo, tipos de
archivo, fechas de la modificación, y etiquetas de encargo - todos los archivos que resuelto
máximo pudo ser útil para su programación del patcher.
La exhibición “todo” (la opción implícita) puede no ser que provechoso, pero si usted busca para
los archivos específicos, usted puede poner a cero normalmente en el contenido usted necesita.
Por ejemplo, en la caja de la búsqueda en la derecha superior del hojeador, entre en el sufijo
.mov del archivo. Ésta es la extensión de archivo de uso frecuente para las películas de
QuickTime; la búsqueda para este texto exhibirá todos los archivos con .mov como parte de su
nombre.
El hojeador puede también hacer una búsqueda basada en el tipo de archivo que usted necesita
(algo que apenas su nombre). Vacie la caja de la búsqueda, después golpee + botón a la su
derecha. Otro cristal de los criterios de búsqueda se exhibe en la tapa de la ventana. El menú
drop-down en la izquierda le deja elegir el campo para buscar - si lo cambiamos a la “clase”,
después seleccione “moviefile”, nosotros consiguen rápidamente la lista de todas las películas, si
usa la extensión de .mov o alguÌ チ n otro identificador de la película. Si esto es una búsqueda que
usted va a utilizar a menudo, usted puede agregarla a la ventana de hojeador del archivo
chascando en + botón en la parte inferior de la ventana; esto permite que ahorremos las
búsquedas para el uso más adelante.
Ahora que tenemos la lista de películas disponibles exhibidas, podemos asir una película por
nombre y arrastrarla sobre el objeto del imovie para abrirlo. Chasque encendido uno de los
archivos por nombre (o de cualquie otra columna, realmente) y arrástrelo a la ventana del
patcher. Cuando usted asoma sobre el objeto del imovie, usted debe ver una frontera azulada
aparecer en el objeto - éste significa que puede ser un recipiente del archivo que usted está
arrastrando. La liberación del ratón a este punto cargará el archivo de la película en el objeto del
imovie.
Usando el ratón para alterar tarifa
Durante nuestro primer experimentamos con este remiendo, utilizamos mensajes de la tarifa
para determinar la velocidad del aparato de lectura; también observamos que las tarifas
mayores de 0. causaron aparato de lectura delantero mientras que las tarifas menos de 0.
causaron aparato de lectura reverso. Vamos a utilizar este concepto, junto con un cierto ratón-
seguimiento, para realizar una cierta limpieza en tiempo real/que rasguña del vídeo.
En la sección del remiendo etiquetado 1, usted verá que un metro está fijado para votar un
objeto del mousestate, y se está utilizando el segundo enchufe (la localización horizontal del
ratón). El valor se exhibe y se escala (a través de un objeto de la escala) en un valor que se
extienda a partir de la -2. a 2. (o mayor, si su pantalla es más ancha de 1024 pixeles de par en
par). El resultado se utiliza para crear un mensaje de la tarifa que se envíe al imovie.
Si giramos el metro con la caja de palanca, veremos la localización horizontal del ratón que es
seguida en esta porción del remiendo. Comience la película (con el mensaje del comienzo) y dé
vuelta encendido a colocación (con la caja de palanca conectada con el mensaje del lazo $1).
Mueva el ratón a través de la pantalla - usted verá la acelerar, retrasar y la dirección contraria
dependiendo de la posición actual del ratón. El pasar “con cero” (produciendo los números
positivos que se mueven con cero y nuevamente dentro de números negativos más altos)
produce la función de rasguño típica que hemos venido identificar como manipulación útil de
VJ.
Usando el ratón para alterar el punto del aparato de lectura
Apague el metro en la sección 1, y gire el metro en la sección 2. Este pequeño secundario-
remiendo es muy similar al primer - estamos siguiendo los movimientos del ratón y les estamos
dando vuelta en los mensajes video del aparato de lectura. En este caso, estamos utilizando la
localización vertical del ratón para fijar la posición actual del aparato de lectura. Para que esto
trabaje correctamente, usted necesitará la duración de la película actual, que usted puede
conseguir cerca que chasca en la caja de mensaje de la duración (encontrada apenas sobre el
selector del lazo en la tapa del remiendo).
Una vez que la duración apropiada tiene ser comunicada a nuestro remiendo, podemos ver que
los cambios a la posición vertical del ratón serán escalados a la gama 0 - 10000 (para el vídeo de
la “cuenta descendiente”) y enviados a la entrada del imovie. El objeto del imovie trata
números enteros entrantes como ajustes del “cargo actual”, y la película saltará inmediatamente
a esa posición.
Por abandono, sin embargo, una vez que se fija la posición apenas guardará el jugar a su
velocidad actual. El comportamiento de las películas de QuickTime es que están funcionando
siempre a su tarifa actual; si usted quiere controlar totalmente la localización del aparato de
lectura de la película, usted necesitará comenzar fijando la tarifa a 0. Si hacemos esto (usando
la caja de mensaje de la tarifa 0.), los movimientos verticales del ratón ahora permitirán que
maniobremos con la película en pasos del marco-por-marco.
El cambiar entre varias películas
Otra manera que podemos controlar la salida del imovie está cargando y cambiando entre
varias películas. Desemejante de muchos otros objetos medio-relacionados, el imovie puede
cargar varios diversos archivos de la película, después puede utilizar el mensaje del interruptor
para saltar entre los archivos para determinar cuál es activo.
El segmento del remiendo etiquetado 3 es el área que demuestra cómo cargar y contar los vídeos
múltiples. En este caso, cuatro archivos se tiran del camino de búsqueda en un fichero y leen en
el objeto del imovie a través de la caja de mensaje en la tapa. Después, tenemos una entrada
de teclado de observación del usuario del objeto dominante; las letras “a”, “s”, “d” y “f” (ASCII
97, 115, 100, y 102, respectivamente) son cada uno trazada usando el objeto selecto a una
declaración de interruptor (seguida por un mensaje del comienzo para recomenzar el vídeo). Si
usted chasca encendido la caja de mensaje leída de cuatro partes, usted puede ver que se han
cargado los vídeos. Ahora, usando uno de los 4 archivos, mecanografíe “a”, “s”, “d” o “f” en el
teclado para seleccionar la película que usted quiere exhibir. Usted puede hacer esto tan
rápidamente como usted desea; puesto que los archivos de la película se cargan ya en el objeto
del imovie, habrá poco estado latente al cambiar entre ellos.
Conclusión
Nos hemos centrado en el objeto del imovie, que permite que juguemos y que manipulemos el
contenido video. Además simplemente de jugar y de parar películas, hemos aprendido alterar la
velocidad del aparato de lectura con los mensajes y con el movimiento del ratón; también hemos
aprendido cómo utilizar el movimiento del ratón para cambiar la posición actual del aparato de
lectura. Finalmente, aprendimos que el imovie puede tener muchas películas cargadas, y un
remiendo simple puede aceptar la entrada de teclado y realizar la conmutación de alta velocidad
de la película. Todo el este los emplear los comandos simples proporcionó por el objeto del
imovie.
Vea también
Nombre Descripción
imovie Juegue una película de QuickTime en una ventana del patcher

Clase particular 13: Secuencia de la película


Introducción
En esta clase particular, trabajaremos con algunos nuevos objetos: los objetos del rslider, del
umenu y del loadbang. El objeto del rslider permite que seleccionemos una gama de números
usando un solo elemento de UI. El objeto del umenu permite que escojamos un artículo de un
menú móvil dentro de un patcher. El objeto del loadbang es un objeto de la disposición -
permite que accionemos mensajes cuando un patcher primero se carga. Todos los éstos son
artículos importantes para remiendos más complejos - y los utilizaremos en el contexto de hacer
algunos programas vídeo-conducidos interesantes.
El abastecimiento de selecciones del usuario es importante una vez que su remiendo consigue
complicado - o si usted quiere compartir su remiendo con otros. El objeto del rslider es grande
para seleccionar puntos del lazo (puesto que le da la capacidad de seleccionar puntos del
comienzo y del extremo con un solo golpe fuerte del ratón), y el objeto del umenu es perfecto
para seleccionar entre una lista de archivos o de opciones de la exhibición. Finalmente, el
loadbang nos da la capacidad de fijar parámetros del objeto cuando se carga un remiendo,
permitiendo que creemos los patchers con los cuales requiera un mínimo de disposición
conseguir comenzado.
Algunos nuevos objetos: rslider, loadbang, umenu
Abra la clase particular.
Heche una ojeada el patcher preceptoral. Este remiendo contiene algunos remiendos simples en
la izquierda, y dos remiendos más grandes a la derecha. Comencemos mirando los remiendos
izquierdos, donde nos presentan a nuestros tres nuevos objetos.
El remiendo superior es el remiendo del ejemplo para el objeto del rslider. Chasque encendido
la superficie, y usted verá que el limpiador saltará a su localización actual - como el objeto del
resbalador que hemos trabajado con en el pasado. Sin embargo, si usted chasca el ratón
después arrastre hacia arriba o hacia abajo en la superficie, usted verá que usted puede
seleccionar realmente una gama de valores - reflejados en las dos salidas del objeto. El rslider
conocido refiere al hecho de que esto es un “resbalador de la gama”, capaz de seleccionar una
gama de valores con un solo movimiento del ratón. La gama real que el rslider cubre se puede
fijar con un mensaje simple (omite la gama 0 a 127), pues veremos más adelante en la clase
particular.
El objeto siguiente es bastante simple, pero muy importante. Es el objeto del loadbang, y envía
una explosión siempre que se cargue el archivo del patcher (por lo tanto el nombre). Esto es la
más de uso frecuente para los valores de la creación en un interfaz utilizador - en este caso,
estamos cargando la caja de número con 55 (omitiría normalmente 0) cada vez que abrimos el
remiendo. Podemos también forzar el loadbang para encender double-clicking en él. Si
cambiamos la caja de número conectada a otro número, el double-clicking en el loadbang hará
un mensaje de la explosión golpear la caja de mensaje (que contiene el mensaje 55), y la caja
de número se pondrá al día otra vez a su valor anterior.
Finalmente, el umenu se demuestra en la parte inferior de los tres pequeños remiendos. Si
usted chasca encendido el umenu, exhibe todas las opciones disponibles como menú móvil. La
selección de uno producirá dos formas de salida: el enchufe izquierdo enviará el número de
índice de la selección, comenzando en 0; el enchufe medio hará salir un símbolo que contiene el
texto de la opción del menú. El objeto del umenu tiene varias capacidades interesantes que
sean útiles al trabajar con las listas del archivo.
Los artículos disponibles para el objeto del umenu de la selección se pueden fijar de un
número de maneras; en la sección siguiente miraremos cómo a poblado le automáticamente.
Primero, sin embargo, abra el patcher y abra al inspector para el objeto del umenu en el lado
izquierdo. En el inspector usted verá una lengüeta adicional llamada los “artículos” no
generalmente presentes en objetos de UI en máximo; chasqúelo encendido, y podemos ver la
lista de artículos contenidos en el umenu (pequeño, medio, etc.). Chasque encendido
“corrigen” el botón al lado de la lista y una ventana debe abrirse que permitirá que
mecanografiemos adentro cualquier cosa que queremos. Los artículos en el umenu necesitan
ser separados por comas. Agregue a la lista (o cree enteramente un nuevo), chasque la
AUTORIZACIÓN, y cercano el inspector. Usted debe ver el cambio del umenu para reflejar
los nuevos artículos que acabamos de agregar.
Umenu del cargamento con el archivo Info
El primer remiendo grande se etiqueta 1, y tiene dos secciones interesantes: el área superior se
utiliza para seleccionar archivos de la película de una carpeta de las películas que envían con la
distribución máxima, mientras que el área inferior se utiliza para colocar el aparato de lectura
de estas películas dentro de un objeto del imovie. Comencemos mirando la sección superior.
Qué tenemos aquí es un sistema de la selección del archivo algo completo. En la misma tapa, un
objeto del loadbang se utiliza para accionar dos cajas de mensaje. Puesto que la orden del
disparador será right-to-left, significa que la caja de mensaje del prefijo encenderá primero. Si
miramos el material de referencia para el objeto del umenu, vemos que el prefijo es una
cualidad que fija un prefijo menú-ancho que se agregue al principio de cualquier artículo
seleccionado. Tiene un segundo uso también - dice a umenu dónde cargar archivos cuando se
dice para poblar (o, en nuestro caso, al autopopulate). Cuando se recibe el segundo mensaje, el
umenu se carga con los nombres de cada archivo en la carpeta señalada por al mensaje del
prefijo.
Consecuentemente, tenemos un umenu cargado con nombres del archivo de una carpeta
llamada los “medios” dentro de una carpeta llamada los “remiendos” (están concerniente a la
carpeta donde estas carpetas máximo están instaladas en su sistema). Cuando seleccionamos
uno, tres cosas suceden, los gracias al objeto del disparador conectado con el enchufe medio
del umenu. Primero, el mensaje dispone se envía al imovie; esto despeja el objeto del imovie
de cualquier archivo video que se cargue actualmente en él. Después, el símbolo (el s en
disparador) que contiene el nombre del archivo con el prefijo ./patches/media de la carpeta
prepended a él se envía. El mensaje leído se pone en frente (vía el objeto del prepend) y
después se envía al imovie. Tercero, el objeto del disparador envía una explosión a través de
un objeto del retardo, que retrasa el mensaje por 100 milisegundos; esto da el imovie de
tiempo de objeto para leer adentro la película. Después de que haya expirado el retardo, la caja
de mensaje abajo se acciona. Contiene algunos mensajes de la inicialización al imovie:
longitud (preguntar cuánto tiempo es la película), lazo 1 (decir la película colocar), y comienzo
(comenzar aparato de lectura). En este caso, aunque tengamos una caja de número conectada
con el enchufe izquierdo, no estamos haciendo cualquier cosa con el índice del objeto del
umenu - todo es accionada por (texto basado) el enchufe medio. Nota cómo el objeto del
disparador es extremadamente útil en este caso, permitiendo que fijemos una serie compleja
de pasos en la secuencia correcta: disponga la película anterior, lea la nueva película, descubra
su longitud, dígala que para colocar, comiéncela.
Seleccione una película del umenu, y note que cargará y comenzará rápidamente jugar,
colocando en el extremo del clip. Si usted selecciona un diverso clip, el anterior con se disponga
y el nuevo comenzará a colocar.
Usando el rslider para fijar puntos del lazo
Además del cargamento y de comenzar la película, esa longitud, lazo 1, comienza el mensaje
tenía otra consecuencia - forzó la longitud de la película hacia fuera el enchufe izquierdo del
objeto del imovie, y fijado una nueva cadena de acontecimientos en el movimiento. Este
mensaje de la longitud se utiliza para fijar el tamaño (es decir la gama) de un rslider, y fijó el
objeto con su gama completa seleccionada (esto es lo que lo hacen los 0 mensajes $1). Podemos
cambiar fácilmente el contenido del rslider chascando y arrastrando dentro de ella, por lo tanto
cambiando los puntos del lazo que el imovie utilizará. Al mejor vea esto en la acción,
seleccionan la película “countdown.mov” del umenu en la tapa - ésta es la película familiar que
cuenta abajo a partir el 10 a 1.
Ahora, si chascamos y arrastramos en el rslider en la parte inferior del remiendo, usted puede
ver que cambiamos el comienzo y terminamos los puntos del lazo. La salida del objeto del
rslider se envía a un objeto del paquete y después se utiliza para crear un mensaje del loopset,
en el cual cambia la colocación “y señala” honrado por el imovie. Además, rebobina la película
al comienzo del lazo ($1) el mensaje. Esta sección del remiendo demuestra un muy de uso
común para el objeto del rslider; se inicializa con la longitud de un archivo de medios, después
se utiliza para las posiciones del comienzo y de final del aparato de lectura.
Cosas del ajuste para arriba: el loadbang y screensize
Finalmente, vamos a ver cómo el loadbang (junto con algunos otros mensajes) se puede utilizar
para fijar totalmente un remiendo para el usuario cuando primero se abre. Este remiendo
(etiquetado 2, y a la derecha), toma la localización actual del ratón y la utiliza para decidir a
donde poner una película dentro de una zona de visualización de 320 x 240 pixeles. Se vota el
mousestate, y un mensaje del rect pone la película actualmente que juega, en forma encogida,
en la localización especificada dentro del objeto del imovie.
Para comenzar, un mensaje del loadbang se utiliza para cargar el archivo de la película de
“bball.mov” cuando el remiendo primero se carga. Esta manera, usted (o su usuario) no tiene
que encontrar el archivo ellos mismos. En segundo lugar, otro loadbang se utiliza en el tapa-
derecho del remiendo; envía un mensaje de la explosión al objeto del screensize. El objeto del
screensize hace salir una lista de cuatro coordenadas que representan los coordenadas de su
exhibición primaria. Los dos elementos pasados en esta lista, para todos los efectos, van a
darnos la anchura y la altura, en pixeles, de nuestra pantalla (e.g. 1024 y 768). El objeto del
mousestate, como recordamos, pone hacia fuera la posición del ratón dentro de esa gama que
comienza en 0, así que si restamos 1 del screensize que podemos escalar correctamente la
salida del mousestate en la gama 0. a 1. - ésta es un truco común al trabajar con coordenadas
del ratón, pues utilizamos raramente sus valores reales del pixel; a menudo, queremos
simplemente utilizarlos para controlar una gama enteramente diversa de números.
El objeto de la escala tiene una vez su entrada máxima fijada por el objeto del screensize, la
posición actual del ratón siempre los valores de producción entre 0.0 y 1.0. Éstos entonces son
multiplicados por 240 y 180 para conseguir la localización de la pantalla de la superior-
izquierdo-mano para la colocación video dentro del objeto del imovie. Las 80 60 porciones del
mensaje del rect fijan la anchura y la altura del rectángulo dentro del imovie -
consecuentemente, para 320 por la ventana 240, nuestros coordenadas máximos de la entrada
deben ser 240 y 180.
Gire el objeto del metro con la palanca para comenzar a votar el ratón, y chasque encendido el
mensaje del comienzo. Mueva su ratón alrededor de la exhibición. Usted debe ver una
pequeña versión localización de cursor actual de la película del baloncesto su de la pista, y se
escale siempre correctamente - no importa qué la exhibición usted la funciona encendido.
Conclusión
En esta clase particular, hemos aprendido cerca de tres nuevos objetos muy importantes:
rslider para la selección de la gama, umenu para la creación y la selección de una lista de
artículos (o de nombres del archivo), y loadbang para la disposición del estado inicial. Además,
vimos cómo el objeto del screensize se puede utilizar para descubrir la información sobre el
tamaño de su exhibición. Los demostramos creando algunos sistemas video complejos del
aparato de lectura que longitud de lazo controlado y colocación de la exhibición. Estos objetos
serán algunas de las herramientas más importantes que usted utilizará en los remiendos
futuros.
Vea también
Nombre Descripción
rslider Exhiba o cambie una gama de números
umenu Menú móvil, exhibir y enviar comandos
loadbang Envíe una explosión automáticamente cuando se carga un patcher
screensize Haga salir el tamaño del monitor

Clase particular 14: Encapsulación


Introducción
Abra la clase particular.
Esta clase particular cubrirá el concepto de encapsulación dentro de la encapsulación máxima
permite que pongamos secciones de nuestro patcher dentro de su propio subpatch usando el
objeto del patcher. Esto nos deja ocultar las partes de lógica del patcher que necesitamos no
más ver, para hacer nuestros proyectos más fáciles leer y más sucinto. Examinaremos la
creación de un patcher que contenga objetos, así como usar algunas herramientas que corrigen
para encapsular las partes de un patcher que necesitan no más ser consideradas.
Correctamente el encapsulado de su lógica máxima es importante para mantener sus archivos
de remiendo limpios, fáciles leer y conservable. La lógica encapsulada se puede corregir
fácilmente, y se puede también ahorrar apagado como archivos separados que se puedan
reutilizar en otros remiendos.
Encapsulación básica
Abra la clase particular.
En el tapa-izquierdo de la clase particular, hay dos pequeños remiendos que hacen la misma
cosa - ambos agregan 5 al número entrante. El remiendo a la izquierda lo hace con a + objeto,
mientras que el remiendo a la derecha utiliza un objeto del patcher. El objeto del patcher (que
puede ser “p abreviado”, mucho pues el disparador puede ser “t abreviado”) es literalmente
otro remiendo encajado en el remiendo actual. Para ver el contenido de un patcher opóngase,
usted puede double-click en él (cuando el remiendo es bloqueado) para abrir la ventana del
objeto encapsulado del patcher.
Si double-click en el objeto del patcher add5, una pequeña ventana del patcher demuestra el
contenido (en una ventana etiquetada add5 - el nombre del subpatch). Es un subpatch simple,
con solamente tres objetos. El objeto en el centro es obvio - es + el objeto que realiza la adición.
Los objetos sobre y debajo de + objeto son objetos de la entrada y del enchufe,
respectivamente. Un objeto de la entrada hace el objeto de cerco del patcher tener una
entrada, mientras que un objeto del enchufe hace el patcher de cerco tener un enchufe. De esta
manera, podemos hacer los objetos del patcher que actúan mucho como objetos máximos
incorporados. Los objetos múltiples de la entrada y del enchufe crearán entradas
correspondientes y los enchufes en el patcher de cerco se oponen, puesto en orden espacial en
lo referente a cómo están en el subpatch (e.g. el objeto extremo izquierdo de la entrada
corresponderá a la entrada extrema izquierda en el patcher).
Al trabajar con los objetos de la entrada y del enchufe, es útil agregar ayuda a ellos; de esta
manera, el patcher de cerco puede exhibir la información provechosa sobre el tipo de mensaje
que sea esperado por la entrada, o producido por el enchufe. Si usted selecciona una entrada o
un enchufe y después abre al inspector del objeto, usted verá que hay un campo de comentario
disponible. Cualquier texto que usted incorpore en este campo aparecerá como ayuda en el
objeto del patcher durante corregir del remiendo.
Ejecución de la encapsulación
El crear secundario-patchers necesita a veces suceder después de que la lógica esté en el lugar;
quizás su patcher se ha ampliado más allá de donde usted pensó originalmente que iría, o usted
ha agregado la lógica que no fue planeada, y las cosas están comenzando a conseguir sucias. En
estos casos, sería útil poder seleccionar un grupo de objetos y darles vuelta rápidamente en un
solo patcher encapsulado. Esto se puede hacer usando el artículo de menú del encapsulado.
Nuestro remiendo del ejemplo tiene un algoritmo interesante del dibujo, donde usted mueve un
duende malicioso alrededor de un área rectangular (usando un objeto llamó el pictslider), y los
pequeños círculos se dibujan en el área aleatoriamente cerca de la posición equivalente en el lcd
en la parte inferior del remiendo. Si usted necesita despejar el lcd, usted puede golpear la barra
de espacio (carácter de ASCII 32, capturado por el objeto dominante y accionado por el objeto
selecto). La lógica es algo sucia, y no nos ayuda realmente a considerarla separada alrededor de
la pantalla. Vamos a seleccionar a una mayoría de la lógica y a encapsularla en un subpatch.
Hay dos cajas del comentario (“encapsule de aquí” y “aquí ") esas nosotros utilizará para
seleccionar nuestra lógica encapsulada. Abra el patcher, después seleccione (usando chascar-y-
arrastre) todos los objetos entre y a la derecha de las cajas del comentario. 15 objetos serán
seleccionados. Selecto encapsule del menú del corregir, y usted verá que toda esta lógica está
doblada en un solo patcher innomado del patcher. Si usted traba el remiendo y double-click el
objeto del patcher (o comando-doble-chasque en un patcher abierto), abrirá el subpatch y
demostrará todos los objetos otra vez, atado al mundo exterior usando cuatro objetos de la
entrada y un objeto del enchufe. Si, por alguna razón, necesitamos invertir este proceso más
adelante, el comando del De-encapsulado bajo menú del corregir desenredará el subpatch
nuevamente dentro de nuestro patcher principal, volviendo a conectar todo como él estaba
correctamente originalmente.
Es a menudo útil nombrar nuestros objetos del patcher; mientras que esto no agrega ninguÌ チ n
valor particular al patcher, ayudará le (y a otros) entiende la lógica que se encapsula en el
objeto. Para nombrarlo, apenas chasque dentro del objeto, y agregue una primera discusión que
sea el nombre que usted quisiera utilizar. Algo como draw_logic sería perfectamente útil por
este ejemplo.
Crear nuestro propio subpatcher
Cuando usted sabe delante de tiempo que usted quiere trabajar dentro de un subpatch, es fácil
crear un objeto del patcher y trabajar dentro de su ventana que corrige. En el bajo-izquierdo es
un par de cajas de número conectadas cerca - nada. Haremos un subpatch aquí y lo
utilizaremos para convertir un valor en otro.
Cree un nuevo, en blanco objeto entre las cajas de número double-clicking en el área en blanco
y seleccionando la caja del objeto (en el tapa-izquierdo de la gama de colores). En la nueva caja
del objeto, tipo mycalc de p - esto creará un nuevo patcher nombrado mycalc. Una nueva
ventana aparecerá para corregir nuestro nuevo subpatch. Comience con una entrada y un
enchufe (ambos disponibles de la gama de colores del objeto). Observe eso que agrega éstos al
patcher agregado y a la entrada y a un enchufe al objeto del patcher en nuestra ventana
principal. Después, conecte la entrada directamente con el enchufe - de tal modo haciendo “a
través” del objeto que no hace nada excepto mensaje entrante del paso al enchufe. Probemos
esta encapsulación en la ventana principal del patcher.
Ahora que nuestro objeto del patcher del mycalc tiene una entrada y un enchufe, podemos
conectarlo con las cajas de número. Conecte la caja de número superior con la entrada del
patcher; conecte el enchufe del patcher con la caja de número inferior. Trabe el remiendo, y
cambie la caja de número superior: debemos ver la caja de número inferior cambiar al fósforo.
¡Esto no debe ser una sorpresa, puesto que nuestro objeto del patcher encapsula una línea recta
entre las dos cajas!
Volvamos al patcher que corrige la ventana y agreguemos una cierta lógica - si la ventana se ha
cerrado, double-click el objeto del patcher para abrirlo otra vez y para abrirlo. Comience
seleccionando y suprimiendo la cuerda de remiendo que conecta la entrada y el enchufe.
Ahora, déjenos agregan una cierta matemáticas: cree dos nuevos objetos, a + 50 se opone y el
objeto a/7. Ahora, conecte la entrada con + objeto, + a/al objeto, y a la salida del/del objeto al
enchufe. Nosotros tienen cambiado nuestro mycalc encapsulación de sin setido subpatch en
“(entrada +/7” patcher 50). La cosa agradable sobre hacer esto dentro de una encapsulación es
que no tenemos que cambiar cualquier cosa en el patcher a nivel superior - todas las conexiones
siguen siendo como está. Ahora, en nuestro remiendo principal, el cambio de la caja de número
superior producirá el nuevo resultado sin para fomentar cambios.
Conclusión
La encapsulación de la lógica que remienda logra dos cosas:
1. permite que trabajemos en niveles más altos sin tener que obrar recíprocamente con (o aún
ver) todos nuestros objetos; y,
2. permite que cambiemos nuestra lógica de nivel inferior sin tener que cambiar cualquier cosa
en la programación de alto nivel.
En el trabajo con los objetos del patcher, usted puede o crearlos y poblar manualmente, o usted
puede seleccionar lógica existente del patcher y utilizar la opción del menú del encapsulado
para crear automáticamente un subpatch. En cualquier caso, usted puede explorar y cambiar
más lejos el código del patcher sin para fomentar cambios al remiendo de alto nivel.
Vea también
Nombre Descripción
patcher Cree un subpatch dentro de un remiendo
entrada Reciba los mensajes fuera de un patcher
enchufe Envíe los mensajes de un patcher
pictslider control Cuadro-basado del resbalador

Clase particular 15: Abstracciones


Introducción
Abra la clase particular.
En esta clase particular, ampliaremos el concepto de encapsulación para incluir la abstracción -
la capacidad de tener lógica del subpatcher viva en un archivo separado, reutilizable que usted
pueda entonces utilizar el interior de cualquier patcher que usted tenga gusto. El exterior una
vez ahorrado como archivo separado, abstracciones se puede modificar para utilizar discusiones
para hacer un remiendo máximo genérico útil a su uso específico. Usando la abstracción para
sus tareas programadas más-usadas, usted podrá reutilizar ese trabajo para los proyectos
futuros sin cualquier otro que programa en absoluto.
Las abstracciones son dominantes a apoyar su conocimiento máximo creciente mientras que
maximizan su capacidad de reutilizar el trabajo previo. El mecanismo de la abstracción puede
hacer que sus subpatches parecen y actúan objetos máximos incorporados, y puede también
aceptar discusiones para templar más lejos su funcionalidad.
Una descripción del cuadro grande
En nuestro patcher preceptoral, usted verá que hay tres diversos remiendos. En este caso, cada
uno de ellos hacer el exacto la misma cosa, pero en diversos niveles de abstracción. La primera
sección (etiquetada 1) es el remiendo fully-functional. Si usted gira el metro con la palanca,
vemos que el remiendo sigue su cursor alrededor de la pantalla y dibuja una versión escalada de
sus movimientos del ratón en la exhibición del lcd. Hacemos uso del objeto del cubo en este
remiendo; un ejemplo simple del objeto se demuestra a la izquierda al lado del lcd; en su forma
más simple, sobre la recepción de un valor, el cubo pone siempre hacia fuera el valor pasado
que recibió. Esto lo hace útil pues un objeto del retardo del solo-acontecimiento, que utilizamos
en el patcher principal para construir los mensajes del linesegment que ligan el cargo actual del
ratón a su posición anterior.
En el caso de la sección 1, tenemos mucha lógica en la pantalla, y puede ser que sea útil
encapsularla en un subpatcher (como hicimos en la clase particular anterior). Sin embargo, la
lógica del patcher que vota el ratón y lo escala basó en el tamaño de nuestras miradas de la
pantalla como algo que podría ser útil a otra parte; sería interesante tenerla disponible para
otros remiendos sin tener que copiar y pegar a partir de un remiendo al siguiente.
Aquí es adonde las abstracciones entran en el juego. Una abstracción es un subpatcher que se
ahorra como archivo externo, y se puede utilizar apenas como un objeto máximo estándar.
Mientras su abstracción se pueda encontrar en la trayectoria máxima del archivo, usted puede
mecanografiar su nombre en una nueva caja del objeto y será cargada directamente en su
remiendo. Las abstracciones usadas en esta clase particular están en la misma carpeta que el
patcher que les tiene acceso; una biblioteca de abstracciones puede ser creada fácilmente
poniéndolas en un interior de la carpeta (o un manojo de carpetas) la carpeta de los “remiendos”
de su instalación máxima, o en cualquier otro lugar máximo busca archivos.
Usando una abstracción simple
La segunda sección de nuestro remiendo (etiquetado 2) demuestra una abstracción en el
trabajo. Apague el metro para la sección 1, golpee la barra de espacio (que despejará el lcd) y
gire el metro para la sección 2. Usted verá que el programa trabaja exactamente como hizo
antes. ¿El “objeto” llamó WTHITM (para “dónde las puñetas está el ratón? ") está realmente
una abstracción de la lógica del escalamiento de la sección 1. Si usted double-click en la
abstracción de WTHITM, una nueva ventana del patcher exhibirá el contenido de esta
abstracción. Note que esto parece mucho una encapsulación con una excepción - usted no puede
abrir la ventana para corregir el contenido. Esto es porque WTHITM existe como archivo
separado del patcher que vive en la misma carpeta que nuestro remiendo preceptoral.
Las abstracciones se significan para ser compartidas entre varios remiendos, así que usted no
querría corregir el contenido en un patcher, puesto que éste pudo romper su funcionalidad en
otros patchers. Si usted quiere corregir una abstracción, usted necesita abrir el archivo sí mismo
de la abstracción.
Mientras que hay varias maneras de abrir el archivo de la abstracción, mencionaremos
solamente dos: Podemos abrir un hojeador del nuevo archivo (del menú de archivo) y
mecanografiar WTHITM en a la ventana de la búsqueda y después double-click en el archivo del
patcher que aparece en respuesta a nuestra pregunta, o podemos Alt/Opción-Chascamos en la
barra de título de la ventana del patcher de WTHITM - un móvil aparecerá con la jerarquía del
patcher de la abstracción que conduce a la tapa. Si seleccionamos WTHITM, el archivo original
que es referido se abrirá dentro de máximo. Sin embargo usted elige hacerlo, abre el archivo de
fuente de WTHITM. Usted verá otra vez el contenido de la abstracción, pero ahora usted puede
corregir la lógica. Si usted cambia algo y excepto el archivo, todos los patchers que utilizan esta
abstracción reflejarán los cambios - incluso si el patcher se carga actualmente. Usted puede ver
esto en la acción agregando una segunda entrada a la abstracción de WTHITM y ahorrándola.
Instante que máximo vea una nueva versión de la abstracción, la recarga y agrega una nueva
entrada a la abstracción de WTHITM en su remiendo preceptoral.
Mientras que tenemos el remiendo de WTHITM abierto, nos dejamos mirar la documentación
que se ha agregado a los objetos de la entrada y del enchufe. Si usted abre al inspector para la
entrada, usted ve que hay varios diversos tipos de documentación incorporada. El primer se
llama Annotation; cualquier texto puesto en el campo de la anotación aparecerá en la ventana
de la pista cuando usted asoma sobre el objeto. El texto puesto en el segundo campo de la
documentación, el campo de la indirecta, exhibirá en un globo de la indirecta cuando usted
asoma sobre el objeto de la entrada en un patcher bloqueado. Finalmente, el texto puesto en la
sección de comentario no exhibe en el patcher; algo, este texto se demuestra como el texto de la
ayuda cuando usted asoma sobre la entrada del “objeto” en el patcher de alto nivel. Es sabio
documentar sus objetos de la entrada y del enchufe en abstracciones de uso frecuente, puesto
que puede proporcionar la documentación simple pero eficaz para su lógica reutilizable.
En nuestra abstracción de WTHITM, no hay lógica que necesita saber sobre el patcher de alto
nivel. ¿Sin embargo, qué si quisiéramos que la abstracción escalara correctamente la salida
basada en nuestro tamaño de objeto del lcd? En este caso, tendríamos que informar a la
abstracción el tamaño de la exhibición del lcd, que podemos hacer con discusiones a la
abstracción.
Usando una abstracción con discusiones reemplazables
La sección 3 del remiendo preceptoral es similar a la sección 2, pero la abstracción usada se
llama WTHITM_scaled, e incluye dos discusiones que representen los tamaños horizontales y
verticales del objeto del lcd. Si abrimos el remiendo de “WTHITM_scaled.maxpat” (usando el
comando abierto en el menú de archivo), vemos algo muy interesante: los factores de la
multiplicación utilizan #1 y #2 como placeholders para que los valores sean proporcionados
como discusiones. Pues usted puede ser que espere, #1 se substituye por el valor de la primera
discusión, mientras que #2 se substituye por el valor del segundo.
El uso de estos valores reemplazables (llamados las discusiones de la libra-muestra) es
dominante a hacer las abstracciones que son flexibles y reutilizables. Si usted tendría “319.” y
“239.” hard-coded en la abstracción, usted podría utilizar solamente objetos de 320x240 lcd
para exhibir los movimientos del ratón. Por una parte, si usted forzó el patcher a nivel superior
para realizar el escalamiento final (como hicimos en la sección 2), usted está forzando el
remiendo a nivel superior para duplicar el trabajo que se podría abstraer fácilmente en el
remiendo de nivel inferior. Usando valores reemplazables en sus abstracciones, hace el patcher
de alto nivel tan simple como es práctico.
Conclusión
Ahorrando su lógica en una abstracción, usted puede crear los módulos que se pueden utilizar
en el trabajo futuro con poco o nada de programación adicional. Esto permite que usted parlay
su conocimiento máximo en un trabajo más eficiente en el futuro, y le ayudará a crear los
sistemas de programación que son modulares y más fáciles de mantener.
Vea también
Nombre Descripción
cubo Pase un número del enchufe al enchufe, hacia fuera cada uno
alternadamente
Clase particular 16: Mensajería alejada
Introducción
Hasta ahora en estas clases particulares, todos los mensajes entre los objetos se han enviado
usando las cuerdas de remiendo. Sin embargo, hay otra manera de transferir mensajes entre los
objetos - usando el mecanismo alejado de la mensajería incorporado a máximo. Hay objetos
específicos para esto (llamado, naturalmente, envíe y reciba), así como los métodos para
enviar el contenido de una caja de mensaje a un objeto. Finalmente, utilizamos algunos
objetos que permitan el almacenaje de datos variables, y podemos ayudar a utilizar valores del
movimiento a través de remiendos complejos.
Mientras que nuestros remiendos consiguen más complejos, necesitamos aprovecharnos de más
técnicas para modularizar y dividir en compartimientos nuestros remiendos, haciéndolos más
fáciles entender, mantenga y extienda. Cuando nuestros remiendos contienen mucha lógica, las
conexiones de la cuerda de remiendo que mantienen pueden causar complejidad visual
innecesaria. Usando las herramientas que permiten el mensaje que pasa sin las cuerdas de
remiendo puede limpiar nuestros remiendos sin el cambio de cómo funcionan.
El jugar con envía y recibe
Abra la clase particular.
La manera más común de enviar mensajes sin las cuerdas de remiendo está con el uso del envío
y de recibir objetos. Si miramos el patcher preceptoral, la parte izquierda superior del
remiendo demuestra que un apareamiento de envía y que recibe los objetos que pasan un
valor de número entero. Cuando cambiamos la caja de número superior, el valor de número
entero se pasa al objeto de fred del envío. Este valor es “difusión” a través del ambiente
máximo, y se puede “recibir” por cualesquiera recibe el objeto con el fred conocido. En este
caso, el objeto de fred de la recepción inmediatamente debajo consigue el mensaje, y salidas él
que se exhibirá en la caja de número atada.
Puesto que un mensaje es difusión por nombre, cualquiera recibe el objeto que comparte el
nombre de objeto del envío puede recibir el mensaje. Por lo tanto, usted puede tener más de
uno recibir el objeto para un mensaje, y más de uno envía el objeto que envía mensajes
usando un solo nombre. En nuestro remiendo de la prueba, el sistema del resbalador conectó
con el objeto de la sacudida del envío hace apenas que - envía el valor (fije con el resbalador o
la caja de número) a todo recibe objetos de los mensajes de la sacudida. En la derecha más
baja del remiendo son dos diferentes reciben objetos de la sacudida: uno conectó con un
sistema del resbalador, mientras que otro está conectado directamente con una caja de
número. El cambio del valor superior del resbalador cambia ambos valores de recepción
simultáneamente.
Al trabajar con pares de envíe y reciba los objetos, él es importante realizar que el mensaje
será asido por cualesquiera recibe el objeto dondequiera en el ambiente máximo - incluso en
otro patcher. Para probar esto, abra un nuevo patcher (que selecciona nuevo Patcher del
menú de archivo). Agregue un nuevo objeto, y entre reciben la sacudida. Conecte la salida
del objeto de la recepción con una caja de número, después vuelva al remiendo preceptoral. Si
usted cambia nuestro resbalador de la prueba, usted verá la salida recibida en el nuevo
remiendo tan bien como todo el otra para recibir objetos de la sacudida en el patcher
principal.
Al trabajar con los remiendos de la otra gente, usted puede ver los objetos nombrados “s” o “r”.
Puesto que el envío y recibe objetos es tan popular, tienen alias (o taquigrafía) nombres de “s”
y de “r” respectivamente. ¡Además de ser más fáciles de mecanografiar, estos nombres del atajo
también permiten que usted mantenga el objeto pequeño tamaño!
Trabajo con; y remita
Otro de uso común de mensajería alejada es enviar el contenido de una caja de mensaje a uno
o más recibe objetos. Algo que teniendo que siempre conectar las cajas de mensaje para
enviar objetos, hay un formato especial de la caja de mensaje que puede enviar directamente
mensajes para recibir objetos. Esto implica el poner de un punto y coma (;) y el nombre de un
objeto de la recepción delante del mensaje. Así; la sacudida 155 es el equivalente de enviar el
valor 155 a cualesquiera recibe la sacudida nombrada objeto.
La caja de mensaje grande en el parte-izquierdo del remiendo es un ejemplo del envío directo
del mensaje. Se generan cuatro mensajes: dos se envían a las destinaciones lcd1, y dos se envían
a las destinaciones lcd2. Si usted chasca encendido la caja de mensaje, usted verá que los dos
lcdobjects que cada uno recibe los comandos apropiados del drenaje con su respectivos
reciben objetos - la tapa lcd (lcd1) dibuja un círculo azul; la parte inferior lcd (lcd2) dibuja un
rectángulo verde.
Otra necesidad común que puede ser que tengamos es enviar mensajes a una de varias
destinaciones basadas en algunos criterios lógicos. Esto se puede hacer usando lógica de la
conmutación (e.g. el objeto de la puerta conectado con diferente envía objetos). Sin embargo,
podemos también utilizar el objeto delantero para encaminar mensajes a las localizaciones
seleccionadas. Apenas sobre nuestra caja de mensaje el ejemplo es un objeto delantero con
lógica favorable.
Usted puede seleccionar que nombró la destinación debe recibir los mensajes: el mensaje del
envío, enviado al objeto delantero, fijará el nombre de la destinación para cualquier mensaje
entrante. Una vez que se ha fijado una destinación, usted puede enviar en los mensajes que se
encaminarán apropiadamente. Si chascamos encendido el mensaje del envío lcd1, los cambios
a la caja de número harán un rectángulo coloreado ser creados en el primer objeto del lcd. Si
chascamos encendido el mensaje del envío lcd2, cambia la destinación de salida del objeto
delantero al objeto de la recepción lcd2. Ahora, cualquier cambio a la caja de número
causará la creación de un rectángulo en el segundo objeto del lcd.
Por un símbolo similar, un objeto de la recepción sin discusiones se puede utilizar para recibir
mensajes de nombrado envía o configuró apropiadamente adelante o caja de mensaje. El
mensaje del sistema al objeto de la recepción permite que “cambie nombres”, así que que
hable, de modo que pueda escuchar diversas partes del patcher. Al lado de nuestro objeto
delantero es uno que tal recibe el objeto. Cambiándolo entre escuchar la sacudida y fred
(usando las cajas de mensaje) y después la manipulación del objeto de la caja y del resbalador
de número que envía a esos nombres, podemos ver cómo esto trabaja. La determinación de la
recepción a un nombre que no exista (e.g. ningunos) lo desconectará de escuchar cualquier
cosa en nuestro remiendo. Observe eso para que un objeto de la recepción sean “cambiable”, él
necesita sea creado sin una discusión (si no no tiene ninguna entrada).
La internacional, el flotador, y los objetos del valor
A veces, al trabajar con el remiendo que programa, necesitamos un lugar “esconder” un valor
hasta que necesitemos utilizarlo. Mientras que podríamos utilizar las cajas de número del
número entero y de coma flotante, esos objetos tienen la posibilidad del tener el cambio del
usuario el valor con su UI. Para proporcionar almacenaje y memoria de la variable simple, hay
un sistema de objetos usados específicamente con este fin. Los objetos de la internacional y del
flotador pueden actuar como almacenamiento temporal de valores; los valores que vienen en la
entrada izquierda se almacenan y enviaron el enchufe inmediatamente, mientras que los valores
que vienen en la entrada derecha se almacenan sin salida. Si usted quiere recuperar el valor
almacenado en una internacional o flotar el objeto, usted necesita enviar un mensaje de la
explosión (por ejemplo de un objeto del botón) en la entrada izquierda.
Una de las ventajas de los objetos de la internacional y del flotador es que usted puede
inicializar el valor sin usar ninguÌ チ n otro mensaje. La discusión proporcionada el objeto le da
un valor inicial; no hay necesidad de instalar éstos con los mensajes del loadbang u otras
funciones. Si miramos la internacional y flotamos objetos a la derecha de nuestro remiendo,
podemos ver cómo trabajan. Enviando una explosión en ellos con el botón se opone salidas su
valor inicializado. Una vez que comenzamos a incorporar números en ellas de las cajas de
número, esos nuevos valores se almacenan dentro de los objetos hasta que los golpeemos otra
vez.
En nuestro remiendo, apenas debajo del objeto de la internacional y del flotador,
encontramos un par de objetos llamados valor. El objeto del valor es como una combinación de
un objeto de la internacional/del flotador y de un envío/de un par para recepción - cada
uno de los objetos del valor tiene un nombre (en este caso, Joe), y cualquier valor puesto en
uno de los objetos se comparte con todos los otros objetos del valor con ese nombre. Una cosa
al aviso es ésa que envía un mensaje en un objeto del valor no acciona la salida - usted
necesidad de forzar explícitamente salida enviando un mensaje de la explosión al objeto. En
nuestro remiendo de la prueba, cambie el valor de un objeto entonces golpean el otro: usted
verá que el valor está transferido mágico a partir del uno al otro.
Desemejante de los objetos de la internacional y del flotador, el objeto del valor puede tomar
mensajes de cualquier tipo; los símbolos, los números enteros y los flotadores se pueden todos
almacenar por el objeto del valor, al igual que una lista. Mientras que esto es conveniente,
también significa que usted necesita tener cuidado sobre los objetos que usted conecta con un
objeto del valor para exhibir la salida. Nuestro remiendo de la prueba tiene cajas de número
conectadas con los objetos del valor; sin embargo, puede ser que sea mejor conectar el objeto de
la impresión o el otro objeto de la exhibición que pueden aceptar un sistema diverso de valores.
Conclusión
Pudiendo enviar mensajes sin tener que conectar las cuerdas de remiendo podemos darnos más
flexibilidad en la disposición del remiendo, y podemos también permitir que produzcamos y que
encaminemos mensajes muy complejos a través de nuestros remiendos. El envío y recibe
objetos es la manera más común de pasar mensajes alrededor de un remiendo, pero el uso de; la
notación en cajas de mensaje y el uso del objeto delantero para la encaminamiento pueden
ayudar a reducir al mínimo la complejidad visual de nuestro trabajo. Finalmente, vimos cómo
los valores se pueden almacenar en los objetos de la internacional y del flotador, y cómo un
objeto del valor se puede utilizar a ambos datos de memorización que se envíen en él. Todas
estos objetos y técnicas son importantes para trabajar con los sistemas que remiendan
complejos.
Vea también
Nombre Descripción
envíe Envíe los mensajes sin las cuerdas de remiendo
reciba Reciba los mensajes sin las cuerdas de remiendo
remita Envíe los mensajes alejados a una variedad de objetos
internacional Almacene un valor de número entero
flotador Almacene un número decimal
valor Comparta un número almacenado con otros objetos

Clase particular 17: Estructuras y probabilidad de


datos
Introducción
En esta clase particular, miramos con el objeto itable para el almacenaje de datos, la
transformación de los datos y el seguimiento del histograma. El objeto itable se puede dibujar
dentro, o se puede fijar usando varias fórmulas. También miraremos con el objeto del uzi para
generar rápidamente muchos mensajes de la explosión o corrientes de los números
ascendentes, que se pueden utilizar para crear rápidamente porciones de datos algorítmico
generados.
Usando una estructura de datos de dos dimensiones (como itable) nos da la oportunidad de
crear las transformaciones de los datos que son fáciles de fijar. Estas funciones de transferencia
permiten que usted cree las curvas irregulares, las tablas de la probabilidad que pesan la salida
basada en la entrada, y los patrones al azar que son fáciles de visualizar. Además, la
introducción del objeto del uzi para la generación rápida de mensajes procesales nos ayuda a
encontrar una manera de crear las funciones necesarias cargar estos objetos itable en maneras
interesantes.
El objeto itable usado en esta clase particular es virtualmente equivalente al objeto de la tabla,
que tiene su propia ventana y se puede mecanografiar en una caja regular del objeto. El itable
se utiliza aquí simplemente porque aparece encajada visualmente en un patcher, algo que en
una ventana separada del redactor.
Estructuras de datos básicos con itable
Abra la clase particular.
En el patcher de esta clase particular, usted verá alguno los remiendos de la exhibición/del
dibujo (etiquetados con números) y varios pequeños cálculos (etiquetados con las letras).
Comenzaremos a trabajar con el área de remiendo etiquetados 1. Este remiendo ofrece un
objeto itable; un objeto que proporciona un interfaz visual a una estructura de datos de dos
dimensiones llamó una tabla. La tabla/la estructura itable nos da una combinación de X/Y y
un interfaz simple a estos datos: envíe en un número que represente un índice en el eje de X, y
usted recibirá el valor correspondiente del eje de Y.
Cuando usted primero abre el remiendo, el itable contiene una distribución al azar de valores.
Si movemos el resbalador en la tapa del remiendo, explora los valores itable, y hace salir el
valor de Y de su enchufe izquierdo para la posición de X representada por el resbalador.
Tenemos esto conectada con una caja y un resbalador de número, así que podemos ver los
resultados de la función de transferencia descrita por el itable. Al lado del resbalador de la
entrada es un par de cajas de mensaje con las listas del dos-número entero; éstos fijarán la
localización del primer número entero (x) al valor del segundo número entero (y). Así, con la
primera caja de mensaje, el valor en la localización 50 será fijado a 80. Si chascamos
encendido esta caja de mensaje, después mueva el resbalador (o la caja de número) a 50,
nosotros puede ver que la salida del itable es 80. Asimismo, si chascamos encendido la segunda
caja de mensaje (100 20), podemos ver que entrar el valor de 100 salidas un valor de 20.
El mensaje claro “borra” la visión itable, pero los valores siguen siendo lo intrínseco al itable;
cuando está despejada, el itable asigna simplemente 0 valores a cada punto de referencias
posible. Otra manera de cambiar los valores del itable es dibujar dentro del itable sí mismo. Si
usted coloca el ratón dentro del itable y chascar-arrastra el ratón, usted puede dibujar en el
contenido de la función que usted desea. Si usted necesita hacer líneas rectas, usted puede
mantener la tecla de mayúsculas mientras que usted mueve el ratón, y chasca el ratón para
confiar la nueva línea. Usando este dibujo los comandos le dan una manera fácil de crear
manualmente funciones de transferencia interesantes.
Debajo del remiendo son tres pequeños remiendos que utilizan objetos del uzi para generar
todos los puntos en el itable. Si usted chasca encendido el botón de A, se crea una función
donde está igual el valor de la entrada que el valor de la salida. El chascar en B produce el
contrario: la entrada valora el extenderse a partir de la 0-127 se convierte en una gama 127-0.
El botón de C produce una distribución al azar similar al contenido que comienza del objeto
itable.
Crear fórmulas con uzi
Miremos más de cerca estas rutinas de función-generación, y particularmente el objeto del uzi.
El objeto del uzi, como su nombre implica, se hace para encender rápidamente de mensajes de
la explosión. Una sola explosión a la entrada de un objeto del uzi generará tantos mensajes de
la explosión como se especifican en la discusión del objeto; por lo tanto, el uzi 128 enviará 128
mensajes de la explosión del enchufe izquierdo. Para no perder de vista el número actual de la
explosión, el enchufe de derecha produce una cuenta (que comienza con 1) - esta salida es lo
que estamos utilizando para el índice al objeto itable. En el segmento A del remiendo, esta
cuenta decremented por 1 (de modo que comience con 0, el comienzo de la gama itable), y se
utiliza para los valores de X y de Y, dándonos la línea recta hecha salir para una función.
¡El segmento de B es similar, salvo que las aplicaciones del valor de Y! - opóngase para restar el
valor entrante a partir del 127. Esto da lugar a una rampa similar, pero al título en la dirección
opuesta - los valores más bajos de X tienen los valores más altos de Y. El segmento de C utiliza
un generador de número al azar para crear valores al azar como parte de la lista de la salida.
Tiene que utilizar el objeto del intercambio (que simplemente “intercambia” los valores
izquierdos y derechos que recibe) para invertir la orden del contenido de la lista para utilizar la
salida del objeto al azar para el valor de Y en vez del valor de X.
Alteremos el segmento de B un poco para ver cómo diversas funciones podrían ser creadas. ¡Si
cambiamos! - opóngase para ser un objeto de la división (/) con una discusión de 4, nosotros
reducirá la gama de los valores de Y a solamente 1/4 de la gama vertical. Asimismo, si
multiplicamos (*) el valor por 2, golpearemos el máximo de la gama de Y a medio camino con
los valores de X. Obviamente, con una poca manipulación, usted puede utilizar uzi y una poca
matemáticas para crear muchas funciones complejas.
Histogramas con la tabla
El área de remiendo derecha (etiquetada 2) proporciona un uso interesante del sistema itable,
así como varios remiendos de la fórmula y un nuevo objeto llamado histo. El objeto del histo
realiza una función del histograma: guarda una cuenta de cuántas veces ha entrado en un
número su entrada. Siempre que un valor entre en la entrada, el objeto produce el número de
épocas que se ha recibido hacia fuera su enchufe correcto seguido inmediatamente por el valor
sí mismo hacia fuera su enchufe izquierdo - puede entonces ser alimentado directamente en el
objeto itable, donde la entrada izquierda se convierte en el X y la entrada derecha se convierte
en el Y. Si usted utiliza el resbalador en la tapa del remiendo “para rasguñar” en muchos
números, usted verá el objeto itable demostrar la distribución relativa de los valores que usted
ha enviado. Si usted quiere despejar del histo los objetos itable y, usted puede golpear la llave
de vuelta en su teclado (ASCII 13).
Gire el objeto del metro con la palanca en la tapa del remiendo; esto hará mensajes de la
explosión ser enviada al objeto itable. Esto produce una salida al azar del “cuantil” que se
generará - un valor al azar pero cargado de la salida del objeto itable. El resultado es que el área
del lcd debajo del itable comenzará a dibujar pequeños círculos donde está áspero equivalente
la densidad a la curva de distribución demostrada en la rutina itable. Si usted quiere despejar el
lcd, usted puede golpear la barra de espacio (ASCII 32) para recomenzar el dibujo.
Como con nuestro primer remiendo del dibujo, tenemos un número de áreas de remiendo más
pequeñas que se puedan utilizar para generar funciones en el objeto itable. Sin embargo, en vez
de funciones discretas del dibujo, éstos generan distribuciones “borrosas” enviando valores al
azar y semi-random en el objeto del histo; este histograma entonces se alimenta al itable para
generar un mapa de la probabilidad. Los segmentos D y E utilizan al azar y borracho,
respectivamente, para generar los valores. El chascar en los objetos atados del botón
demostrará en varias ocasiones cómo cada uno afecta a la curva de distribución - los golpes al
azar todos los valores bastante uniformemente, pero bebido son mucho más “aterronados” en
su distribución. Una vez más podemos despejar el histograma en cualquier momento con la
llave de vuelta.
Los segmentos F y G del remiendo toman un acercamiento algo diferente. El segmento F
genera dos números al azar, después utiliza el objeto mínimo para elegir el más bajo de los dos
números. Esto tenderá a acentuar los números más bajos en la gama; en varias ocasiones el
chascar en el botón conectado demostrará los números más bajos que son utilizados más a
menudo que los valores más altos. El segmento G hace el contrario: utiliza el más alto de dos
números al azar poniéndolos en el objeto máximo. Así, en varias ocasiones el chascar en el
botón conectado tenderá a generar números más elevados.
Finalmente, el segmento H crea un promedio de 3 números al azar generando los números,
agregándolos juntos, entonces dividiendo la suma por 3. Si usted despeja el itable y golpea en
varias ocasiones el botón de H, usted verá una curva “acampanada” que es generada, puesto
que el promedio de tres números al azar tenderá a estar en el medio de la gama. Éste es un tipo
simple (o normal) de distribución gausiana, y se encuentra comúnmente en la investigación
estadística cuando la mayoría de los temas caen dentro del centro de una gama de valores
posibles.
En cada uno de estos casos, tener el metro el funcionar durante nuestra generación de la
función debe hacer el dibujo simular la curva de distribución en el objeto itable. Para probar
curvas más radicales, usted puede dibujar líneas agudas dentro del objeto itable para forzar
seguro de hacer salir curvas; usted puede también utilizar el resbalador “para sombrear” en las
partes de la ecuación, causando el dibujo hecho salir para sombrear en segmentos en respuesta a
la nueva curva de distribución.
Conclusión
Muchos diversos procesos dependen de la capacidad de crear las funciones que transforman una
gama de la entrada en una gama de la salida. En clases particulares anteriores, vimos cómo el
objeto de la escala podría hacer esto para nosotros. Sin embargo, si queremos cambiar
manualmente la distribución de valores, o si queremos utilizar una fórmula para la
transformación de los datos, necesitamos utilizar un sistema más complejo. Como hemos visto
en esta clase particular, la tabla/los objetos itable responde a este propósito perfectamente,
dándonos la capacidad a la fabricación o dibuja manualmente una función de transferencia.
Usando el objeto del histo, también vimos cómo podemos generar la clase de curvas de
distribución que sirvan como técnicas al azar comunes en arte generativo y música estocástica.
Si la borrosidad de la generación al azar verdadera, o las tendencias encontradas con una
matemáticas más discreta, estas curvas se puede utilizar a ambos genere y dirija los resultados a
un resultado deseado.
Vea también
Nombre Descripción
tabla Almacene y corrija gráficamente un arsenal de números
itable Una tabla en una ventana del patcher
uzi Envíe un número específico de mensajes de la explosión
intercambio Invierta la orden secuencial de dos números enteros
histo Haga un histograma de los números recibidos
mínimo Haga salir el más pequeño de una lista de números
máximo Haga salir el más grande de una lista de números

Clase particular 18: Colecciones de datos


Introducción
Esta clase particular cubre dos de los objetos más útiles del mundo máximo: coll y ruta. El
objeto del coll permite la recogida de datos puesta en un índice; usted puede pensar en él como
base de datos pequeña y rápida para los datos del mensaje. El objeto de la ruta también se ata al
concepto de indexación de direcciones - enviará datos de un enchufe específico basado en el
índice (primera entrada) de una lista.
Los datos puestos en un índice son muy útiles para la encaminamiento compleja de la
información. Los datos se ponen en un índice a menudo ya para usted: Los reguladores de MIDI
ponen en un índice normalmente el valor con el número del regulador, mientras que la
información de la nota es puesta en un índice a menudo por el canal de MIDI. Usando poner en
un índice para los datos puede también ayudar al enviar mensajes a través de un remiendo
complejo - creando un sistema de la indexación de direcciones, usted puede enviar datos
alrededor indistintamente, y tiene el hallazgo del objeto de la ruta y descifra los datos cuanto
sea necesario.
Dirección básica del coll
Abra la clase particular.
Hay varios remiendos pequeños y medianos dispersados a través del interfaz para esta clase
particular. Comenzaremos con el remiendo en el lado tapa-izquierdo.
El primer remiendo (etiquetado 1) introduce el objeto del coll. Tres cajas de mensaje están
conectadas con él. Si usted chasca los tres, usted cargará el objeto del coll con tres sistemas del
valor. La manera más fácil de considerar qué se almacena en el coll es double-click en ella;
abrirá una ventana que corrige que le demuestre que el primer número fue almacenado como
índice, y el segundo número fue almacenado como valor. Para programmatically recuperar un
valor, usted envía un valor de índice en la entrada - la salida será el valor (o valores)
almacenados en esa localización del índice. Si usted utiliza la caja de número para enviar un 0
al objeto del coll, hará salir 20 (el valor en la localización 0 del índice); 1 y 2 hará salir -50 y 33
respectivamente. Éste es el más básico, y más el campo común, uso del objeto del coll - pues un
mecanismo del almacenaje para el valor puesto en un índice fija.
El remiendo etiquetado 2 es levemente diferente en que utiliza símbolos, algo que números,
como el valor de índice. Chasque encendido las tres cajas de mensaje del almacén, y double-
click otra vez en el coll para ver los datos almacenados. Los datos son similares al primer coll,
pero los índices son símbolos (palabras) algo que números. Ahora, si usted chasca encendido las
cajas de mensaje a la izquierda (foo, barra, negocios), el objeto del coll hará salir el valor
correcto para cada uno de los símbolos.
El tercer remiendo (etiquetado 3) ya-ha almacenado datos en él. Si usted selecciona cualquier
número entre 0 y 3, el coll hará salir los datos para ese índice. En este caso, algo que un solo
número, el coll está almacenando una cadena de símbolos (en este caso, el soliloquio de la
abertura de Richard de Shakespeare III); todos los símbolos se hacen salir como lista.
Prepending un mensaje del sistema a la lista permite que exhibamos la secuencia del valor en
una caja de mensaje.
Para almacenar los datos dentro del patcher (como hemos hecho con este ejemplo), usted tiene
que fijar una cualidad en el inspector del objeto del coll. Abra el patcher, y abra al inspector para
el coll en el remiendo 3. Usted notará que la cualidad etiquetó “excepto datos con Patcher” está
seleccionada. Cuando se fija esta cualidad, cualquier información almacenada en el coll será
escrita al archivo del patcher cuando se ahorra, y es inmediatamente accesible cuando el
remiendo se abre otra vez.
Usando el coll para el dibujo y jugar
La sección de centro de nuestro remiendo (la sección 4) utiliza un coll para controlar un dibujo
y una función del aparato de lectura de MIDI. En este caso, el coll se carga con un ciertos datos
predefinidos; sin embargo, en vez de ser almacenado en el patcher, estos datos se cargan de un
archivo externo que contiene datos de una lectura de EEG. El nombre de fichero es “eeg.txt”, y
ese nombre de fichero se utiliza como la discusión para el coll, así que los datos se leen en el coll
cuando primero se inicializan.
En la tapa del remiendo es un pequeño simple “uno mismo-incrementando” el sistema
contrario. Cada vez que se genera un número, se incrementa por una cantidad determinada por
la caja de número upper-right. Por abandono, el incremento es uno, de que es desde entonces
lo que + contiene el objeto. El jugar a través del conjunto de datos a esta velocidad, sin
embargo, puede tardar absolutamente un rato, pues nuestro fichero de datos contiene muchos
millares de líneas. Si usted cambia la caja de número a 15 (significado que usted incrementa
los pasos por 15 en cada explosión generada por el metro), usted verá el patrón de EEG mucho
más claramente. La salida de este generador del número se utiliza para recuperar los datos
puestos en un índice del coll, y se envía al subpatcher y a un jugador simple de MIDI
(makenote/noteout) del drawit. El jugador de MIDI apenas utiliza el número (escalado a la
gama 0-127 de MIDI) como la nota de MIDI, mientras que el subpatcher del drawit utiliza el
valor entrante como la compensación vertical de un círculo dibujado movimiento en sentido
vertical. Comience el metro (con la palanca) y el aviso cómo diversos valores del “incremento”
para el cambio de cuenta la manera los datos de EEG revelan. Si usted necesita recomenzar el
archivo al principio, la caja de mensaje etiquetada 0 reajustará la caja de la internacional a 0
otra vez.
Almacenar datos en un coll para el uso posterior es la mejor manera de ocuparse de grupos de
datos grandes. Esta captura de EEG, que representa sobre 18.000 puntos de referencias, haría
su patcher ser muy grande si fue almacenada en el archivo de los patcher. En lugar, los datos se
pueden capturar en un coll, ahorrar en un archivo de texto (usando el mensaje de la escritura),
y leer en el coll en el tiempo de pasada (utilizado como una discusión, o usar el mensaje leído).
El segmento siguiente del remiendo, etiquetado 5, demuestra a algunos más trucos que el coll
tiene encima de su manga. Este coll tiene un nombre - señales - que maneje 8 diversas señales
manejadas por el resto del remiendo (double-click el objeto del coll para mirar qué se almacena
adentro). Usted puede utilizar la caja de número conectada para encender de los mensajes,
pero usted puede también utilizar las tres cajas de mensaje para caminar con las señales. El
mensaje del comienzo le mueve al principio del contenido del coll, mientras que los mensajes
siguientes y anteriores se mueven adelante y al revés con las señales. Esto permite que usted
camine a través del coll en orden, incluso si las entradas no se numeran secuencialmente, y
colocará automáticamente - detrás al comienzo cuando se alcanza el extremo. Ésta es la manera
más fácil de ejecutar un secuencial paso-por del contenido de los coll. Sin la preocupación del
objeto de la ruta apenas todavía, camine con la secuencia usando el comienzo, después y
mensajes anteriores y observe cómo diversas acciones son accionadas por la salida del objeto
del coll.
Hay también un pequeño remiendo apenas a la derecha, donde otro coll también se nombra las
“señales”. Si usted double-click en este coll, usted verá que tiene el mismo contenido. De hecho,
porque se nombra iguales que el coll previamente visto, está compartiendo realmente el
contenido del coll - como los datos compartidos del objeto del valor con una convención de
nombramiento. Usando los colls nombrados que comparten su información permite que usted
tenga de fácil acceso a un grupo de datos en diversos lugares en su remiendo, o aún dentro de
subpatchers.
Encaminamiento de mensaje con la ruta
El pequeño remiendo en las demostraciones bajo-derechas la funcionalidad del objeto de la
ruta: pues usted chasca encendido las cajas de mensaje, se emparejan los mensajes basaron en
su identificador (el primer artículo en su lista); si el identificador empareja una de las
discusiones al objeto de la ruta, el mensaje se pela de su identificador y los datos restantes (en
este caso, un número entero) se envían el enchufe. El objeto de la ruta tiene un enchufe para
cada discusión, así como un enchufe final para los artículos que no emparejan. Este remiendo
demuestra qué sucede si se recibe un mensaje desconocido: el mensaje del zeppo no se enumera
en el objeto de la ruta, y por lo tanto no puede ser encaminado. Algo que no haciendo caso del
mensaje, manda el mensaje entero el enchufe correcto - posiblemente para ser utilizado por otro
objeto de la ruta, o quizás para ser enviado (como tenemos en este caso) a la ventana máxima
con el objeto de la impresión.
Remiende el segmento 5 también utiliza el objeto de la ruta para tomar mensajes del coll y para
analizarlos para realizar acciones en diversos objetos en el remiendo. Como vimos dentro del
coll, los datos contienen un símbolo (m1, m2, m3 y selección) y un artículo de datos (0/1 para
m1-m3, y explosión para el símbolo de la selección). Cuando este mensaje es recibido por el
objeto de la ruta, utiliza el primer elemento (el símbolo) para determinar la encaminamiento de
la salida, y envía el resto del mensaje a través de ese enchufe. Por lo tanto, un mensaje que
comienza con m1 será encaminado a través del primer enchufe, mientras que un mensaje que
comienza con la selección será encaminado con el cuarto.
Si utilizamos el comienzo y los mensajes siguientes para caminar a través del coll de las
señales, veremos que una secuencia de acciones está realizada basó en el primer segmento del
mensaje. Se comienzan y se paran los objetos del metro, y el objeto al azar se acciona dos
veces. Usted puede ver que el objeto de la ruta es útil para tomar contenido de mensaje no
diferenciado y encaminarlo donde él puede ser que sea útil.
Conclusión
El objeto del coll es una manera de gran alcance de trabajar con los mensajes y los datos puestos
en un índice; el objeto proporciona manera de conseguir mensajes específicos o de caminar
secuencialmente a través del contenido. Usted puede compartir el contenido entre los objetos
nombrados del coll - dejándole tenga acceso a estos datos a través de su remiendo; el coll puede
también leer sus datos de archivos externos. También vimos cómo el objeto de la ruta permite
que usted siga y que mueva los mensajes basados en el contenido del mensaje, ayudándole a
encaminar los datos que usted necesita diversos objetos basados en un índice.
Vea también
Nombre Descripción
coll Almacene y corrija una colección de diversos mensajes
ruta Selectivamente pase la salida hacia fuera un enchufe específico
Clase particular 19: Sincronización
Introducción
En esta clase particular, trabajaremos con el tiempo - los objetos que se ocupan de tiempo, y un
sistema de los objetos que trabajan con un sistema que mide el tiempo métrico incorporado a
máximo. Además, miraremos algo del objeto de la toma de decisión que utilice operaciones de
lógica para determinar flujo de programa.
Como hemos visto en clases particulares anteriores, el uso del tiempo es partes importantes de
trabajo con programas máximos; los objetos tiempo-basados pueden ayudar a crear acciones
generativas de la música y del dibujo, y se pueden utilizar conjuntamente con acciones de
usuario para crear programas practicables. El sistema que mide el tiempo métrico introducido
en 5 máximos proporciona un sistema que mide el tiempo “musical” centralizado que pueda
proporcionar controles del transporte, la barra/la regeneración del golpe y pueda incluso hacer
acontecimientos programados encender en los puntos específicos a tiempo. La parte de esto es
la capacidad de definir momentos específico y duraciones del tiempo de maneras métrico-
significativas.
Además de las funciones de tiempo, también cubrimos algunos de los objetos boleanos de la
comparación - los objetos que crean los resultados lógicos basados en valores de la entrada que
comparan y de prueba. Éstos son especialmente útiles al trabajar con los objetos tiempo-
basados, puesto que usted querrá a menudo tomar las decisiones operacionales basadas en
comparaciones entre el tiempo actual y una cierta función deseada del tiempo o del secundario-
tiempo.
Algunos nuevos objetos…
Abra la clase particular.
El lado izquierdo de la clase particular tiene cinco pequeños remiendos que demuestren que la
operación de un puñado de nuevos objetos que se ocupan de tiempo en el remiendo máximo 1
proporciona un ejemplo del objeto de la pipa, que se puede utilizar para retrasar el rendimiento
de procesamiento de cualquier mensaje o lista para una cantidad determinada de tiempo. La
discusión proporciona el tiempo de retardo del defecto - en este caso, 1000 milisegundos (1
segundos). Si usted cambia el valor de la caja de número izquierda, usted verá sus cambios
reflejados en la salida 1 segundo más adelante. El tiempo de retardo se puede cambiar con un
valor enviado a la entrada derecha - un valor de número entero se utiliza para fijar el número de
milisegundos del tiempo de retardo. Cambie la caja de número derecha a 2000, después cambie
la entrada izquierda - usted ahora verá los cambios ocurrir después de que un segundo retardo
2.
El pequeño remiendo siguiente, etiquetado 2, es un ejemplo del objeto del retardo. Esto es muy
similar al objeto de la pipa, salvo que se adapta específicamente a los mensajes de la explosión
del retardo. Como la pipa, el tiempo de retardo puede ser cambiado enviando un valor de
número entero en la entrada derecha.
El remiendo 3 demuestra el objeto del clocker, que es estrechamente vinculado al objeto del
metro. La diferencia primaria entre el clocker y el metro es la salida: mientras que el objeto
del metro produce mensajes de la explosión en los intervalos regulares, el clocker hace salir el
tiempo transcurrido total (en milisegundos) puesto que fue comenzado con una explosión. El
chascar en el mensaje de la parada parará el clocker, mientras que el envío de un nuevo
mensaje de la explosión al clocker recomenzará el contador de tiempo y la medida del tiempo
transcurrido.
El remiendo etiquetado 4 demuestra otro objeto que cuente tiempo transcurrido: el objeto del
contador de tiempo. Este objeto toma mensajes de la explosión en ambas entradas; la
entrada izquierda comienza el intervalo que se medirán el tiempo, y las paradas correctas de la
entrada el intervalo. El objeto del contador de tiempo es por lo tanto equivalente a un
cronómetro; chasque el botón izquierdo para encender el reloj, espere algunos segundos, y
después chasque el botón derecho para ver ha transcurrido cuánto hora. Observe que el
contador de tiempo es un objeto máximo levemente inusual en que su entrada derecha es
caliente (produce salida), no su entrada izquierda.
El quinto remiendo demuestra algunos de los objetos boleanos mas comunes en la acción. >
(grande-que) el objeto ejecuta una función de la comparación; hace salir un 1 si el número
entrante es grande que el número usado como discusión, o un 0 si no es; el objeto por lo tanto
realiza una prueba, divulgando (1) VERDADERO o FALSO (0). < (menos-que) el objeto es lo
contrario, información verdad o falsa (1 o 0) dependiendo de si la entrada es más baja que la
discusión del objeto. Ambos símbolos están en de uso común a través de matemáticas. Los
objetos lógicos restantes serán probablemente más familiares a los programadores. ¡El objeto
del == (iguales) divulga un 1 solamente cuando el número entrante es igual a la discusión,
mientras que! = (no iguales) es su lo contrario - divulga un 1 cuando el número entrante no es
igual a la discusión. Como muchos objetos máximos, un nuevo operador de comparación puede
ser suministrado por un número enviado en la entrada derecha del objeto.
Los dos operadores lógicos finales son && (lógico Y) y || (lógico O). En el primer caso, el objeto
del && hará salir un 1 solamente si ambos números enviados en las entradas izquierdas y
derechas son diferentes a cero; si no, divulga un 0. En el segundo caso, || el objeto hará salir un
1 cuando las entradas izquierdas o derechas se envían los valores diferentes a cero. En el resto
de los casos, este objeto hará salir un 0.
Cambie la caja de número en la tapa del remiendo que contiene estos objetos y usted verá cómo
se comportan. Aviso cómo la única vez que la producción de seis operadores un 1 es cuando el
valor de la entrada es 10.
Sincronización métrica, parte 1
El remiendo grande a la derecha (etiquetada 6) es un remiendo del funcionamiento que utiliza
todos estos nuevos objetos (y algunos viejos) dentro del contexto del sistema que mide el tiempo
métrico. Comience el remiendo (usando la palanca amarilla grande en la tapa); usted oirá un
golpe constante fuera de su sintetizador de MIDI del defecto, con las variaciones que ocurren en
diversas horas a través del funcionamiento. El funcionamiento se coloca, volviéndose a efectuar
cada 16 medidas. Para entender este remiendo algo complejo, primero necesitamos entender el
sistema métrico del tiempo.
La sincronización métrica se basa en un objeto central del time-keeping - el transporte - y su
capacidad a la información del tiempo de difusión a otros objetos que estén contando con la
información de la sincronización. Muchos de éstos los objetos “que escuchan” son ya familiares
a nosotros (metro) o se han introducido en esta clase particular (clocker). Hemos utilizado
estos objetos en el modo de uno mismo-sincronización, donde utilizan una base de tiempo
expresada en milisegundos al producto hecho salir en las horas regulares. Cuando está utilizado
conjuntamente con el objeto del transporte, sin embargo, el tiempo se expresa usando la
notación métrica: los valores tales como 4n (para una cuarto-nota) se pueden utilizar como
alternativa a la notación de la sincronización del milisegundo.
El objeto del transporte es el encargado del tiempo central, y proporciona tiempo en la
barra/el formato del golpe/de la señal - conducidos todo por un tempo y una firma de tiempo.
Por lo tanto, si un transporte se fija al funcionamiento con una firma de tiempo de 4/4 y en un
tempo del batir-por-minuto 120, cada golpe tardará 500 milisegundos, y una medida tardará 2
segundos (2000 milisegundos). Para considerar todas las maneras que el transporte controla
este remiendo, nosotros necesitan romperlo abajo en secciones.
Nuestro “checkbox grande” comienza el proceso - principalmente porque comienza el
transporte. El transporte acepta un mensaje de 1/0 para el comienzo y la parada, que es
perfecta para el control por una palanca. La palanca también enciende el metro a la
izquierda (parte de la sección “roja” del remiendo), que utiliza 4n como la discusión de la
sincronización. En el pasado, hemos utilizado los milisegundos para la sincronización del objeto
del metro, pero en este caso, la notación 4n significa que enviará una explosión cada nota
cuarta, basada en la difusión de la sincronización por el transporte. La salida de este metro va a
dos lugares: a una caja de mensaje que crea una nota 70 de MIDI (vía makenote), y de nuevo
al transporte. ¿Por qué consigue encaminado al transporte? Porque un mensaje de la
explosión recibido por el transporte lo hará hacer salir el tiempo actual, que exhibimos en tres
cajas de número conectó con los primeros tres enchufes del objeto. Esta vez se exhibe en las
barras, golpes y señales, respectivamente. Hay 480 señales por el golpe (pulso-por-cuarto-nota
480, o el ppq, por abandono).
Después, miremos la sección “verde” del remiendo. Esto utiliza la cuenta de la barra (como
salida por el transporte), y las aplicaciones > y < los objetos para determinar si estamos entre
las barras 4 y 8. Si estamos en esa gama, gira otro metro que se registre en 16n (décimosexto
notas). Esto genera un número al azar usado para crear uno de cuatro valores (usando los
objetos al azar y selectos); estos números se envían al objeto del makenote para generar las
notas de MIDI. Ese valor también se envía a un objeto de la pipa con una discusión del 4a, que
retrasa los valores por una nota del puntear-cuarto. Esta salida tiene 7 agregados a ella,
causando la salida que, cuando está enviada al sintetizador de MIDI, suena un quinto perfecto
sobre la original. El resultado es un sistema del rápido-fuego de las notas para un segmento de
la cuatro-barra del lazo.
Ahora cavemos en la sección “azul”, que es la parte del remiendo que fuerza la secuencia para
colocar. El jefe de esta sección del remiendo es un nuevo objeto: timepoint. El objeto del
timepoint tarda un tiempo métrico como discusión; su único propósito es generar un mensaje
de la explosión cuando esa vez métrica es alcanzada por el transporte. En este caso, cuando
alcanzamos el principio de la medida 17 (es decir después de dieciséis medidas), un acorde de la
cuatro-nota de números se envía al makenote, después un mensaje de la explosión se envía
hasta el final de nuevo a un mensaje conectado con la entrada derecha del transporte. Este
mensaje (0.) dice el transporte saltar inmediatamente para hacer tictac 0. de la secuencia, es
decir barra 1, golpe 1 y señal 0. Éste es cómo forzamos la secuencia para colocar: cada vez que
golpeamos la 17ma barra, detrás nos envían inmediatamente al principio.
Sincronización métrica, parte 2
Después, debemos descifrar la sección “marrón” del remiendo. Utiliza los objetos dominantes
y selectos para mirar para la barra de espacio (ASCII 32) que es deprimida. Cuando sucede
esto, un objeto del contador de tiempo recibe una explosión en ambas entradas. Porque los
objetos máximos transmiten mensajes en orden right-to-left, el golpe de la barra de espacio para
simultáneamente el contador de tiempo con una explosión a la derecha (y a las salidas el
tiempo transcurrido) y a los recomenzar él para otra medida con una explosión a la izquierda.
El objeto hace salir el tiempo transcurrido en milisegundos; dividimos 60000 (el número de
milisegundos en un minuto) para el momento en que para conseguir un valor del bpm (batir-
por-minuto).
Sin embargo, quisiéramos que este valor del bpm cupiera en una gama sensible, así que
utilizamos el objeto de la fractura, y utilizamos solamente los valores que están entre 30. Y
200. Si estamos dentro de esta gama, la fractura hará salir el número hacia fuera su enchufe
izquierdo, y el valor se acostumbra crea un mensaje del tempo que se envíe al transporte. Esto
cambiará inmediatamente el tempo del aparato de lectura de la secuencia, y cambiará las
velocidades relativas de muchos (pero no de todos los) objetos usados para crear nuestra
secuencia. Si el contador de tiempo hace salir un valor afuera de la gama del objeto de la
fractura (por ejemplo, si no hemos golpeado la barra de espacio en un rato), será enviado el
enchufe correcto del objeto y desechado.
Una de las razones que no toda la secuencia está cambiada es porque algunas de las funciones
del remiendo utilizan la sincronización estándar (del milisegundo) algo que tiempo métrico. (“")
la sección azul-y-púrpura de derecha del remiendo es un buen ejemplo. Se enciende un objeto
del timepoint cuando el tiempo del transporte está en la barra 6, el golpe 3. Esto comienza un
clocker que funcione por 10 segundos (10.000 milisegundos), produciendo una dos-nota chord
cada cuarto-nota (4n). El objeto del timepoint también envía una explosión a un objeto del
retardo 3000, que produce un acorde de la dos-nota 3000 milisegundos después de que recibe
el mensaje. En un tempo muy lento, esto puede ocurrir solamente algunos golpes después de
que se encienda el timepoint, mientras que en el tempo rápido, si puede tomar muchas barras.
Éste es un buen ejemplo de cómo la hora estándar métrica y puede ser mezclada y emparejada
para los resultados generativos interesantes. Observe que el tiempo en marcha del objeto del
clocker está comparado contra a > objeto para cambiarse apagado después de 10 segundos…
un seguimiento de objeto del contador de tiempo el intervalo entre el comienzo y la parada
del objeto del clocker confirma esto.
La importancia de la sobremarcha
Otra cosa que puede causar comportamiento variable en este remiendo es el ajuste de la
sobremarcha, encontró en el menú de las opciones. Si se comprueba la sobremarcha
(encendido), acontecimiento que procesa y los cálculos se dan prioridad sobre el pantalla-dibujo
y procesos gráficos. Cuando la sobremarcha es desenfrenada (apagado), dibujando los procesos
consiguen la misma prioridad que la dirección del acontecimiento. Dependiendo de la
naturaleza de su remiendo, la sobremarcha puede proporcionar un mejor funcionamiento para
las tareas de dirección tiempo-críticas del acontecimiento.
Puesto que nuestro remiendo preceptoral es, de hecho, tiempo-crítico, se realizará mejor con la
sobremarcha girada. Si la sobremarcha está apagada, usted puede ver que la exhibición de la
salida del transporte no ocurre siempre en las 0 señales, y usted puede encontrar que el aparato
de lectura consigue desigual cuando la densidad de notas es alta o usted realiza otras tareas en
su computadora (tal como apertura de otro patcher en máximo). Las computadoras modernas
son increíblemente rápidas, pero nuestros oídos son muy sensibles a las discontinuidades de la
sincronización. Por lo tanto, al trabajar en los remiendos que ordenan acontecimientos de una
manera tiempo-crítica, es normalmente recomendable girar la sobremarcha.
Conclusión
En esta clase particular, cubrimos un nuevo sistema extenso dentro de máximo: el sistema que
mide el tiempo métrico. Esto proporciona un mando temporizado centralizado para su
remiendo máximo, coordinando la generación de acontecimientos y facilitando la creación de
secuencias musicales. También aprendimos sobre varios el nuevo objeto tiempo-basado,
incluyendo la pipa, el retardo, el clocker, y el contador de tiempo, que se puede utilizar
(con o sin la sincronización métrica) para crear acciones ordenadas. Finalmente, vimos el uso de
los objetos de la comparación boleana y del operador lógico de ayudar en la toma de decisión
dentro de un remiendo complejo.
Vea también
Nombre Descripción
pipa Números o listas del retardo
retardo Retrase una explosión antes de pasarla encendido.
clocker Divulgue el tiempo transcurrido, en los intervalos regulares
contador de tiempo Divulgue el tiempo transcurrido entre dos acontecimientos
> Es mayor que, la comparación de dos números
< Es menos que, comparación de dos números
== Compare dos números, haga salir 1 si son iguales
¡! = Compare dos números, haga salir 1 si no son iguales
&& Si ambos números son diferentes a cero, haga salir un 1
|| Si cualquiera de dos números es diferente a cero, haga salir un 1
transporte Controle un reloj principal y divulgue los valores de tiempo.
timepoint Haga salir una explosión cuando un transporte alcanza un momento
específico.
fractura Busque una gama de números

You might also like