tutorial max msp

71
TUTORIAL MAX MSP 1 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

Upload: eliasmerino

Post on 26-Jun-2015

975 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Tutorial Max Msp

TUTORIAL MAX MSP

1

Clase particular 1: HolaFundamentos máximos del patcherAbra 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 alrededorHeche 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 patcherCuando 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

Page 2: Tutorial Max Msp

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 bloqueadoTrabe 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 todoUsted 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

Page 3: Tutorial Max Msp

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 ayudaEl 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 mensajesAgreguemos 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ónLos 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énNombre Descripción

impresión Imprima cualquier mensaje en la ventana máxima

mensaje Envíe cualquier mensaje

comentario Nota explicativa o etiqueta

Page 4: Tutorial Max Msp

2

Clase particular 2: ¡Explosión!El mensaje de la explosiónAbra 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 alrededorHeche 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 conexionesEl 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.

Page 5: Tutorial Max Msp

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ónEl 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énNombre 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 listasDatos numéricos en máximoAbra la clase particular.

Page 6: Tutorial Max Msp

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úmeroHeche 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úmeroAdemá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.

Page 7: Tutorial Max Msp

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 reemplazablesEl 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

Page 8: Tutorial Max Msp

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 fleasTrabe 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ónMá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énNombre Descripción

número Exhiba y haga salir un número

Clase particular 4: Metro y palancaAcciones automatizadasAbra 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 palancaHeche 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

Page 9: Tutorial Max Msp

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ónomoEl 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 paralelamenteEl 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

Page 10: Tutorial Max Msp

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ónLas 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énNombre 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 mensajeIntroducciónAbra 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-tapaHeche 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.

Page 11: Tutorial Max Msp

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 mensajeEs 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

Page 12: Tutorial Max Msp

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 lazosEl 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

Page 13: Tutorial Max Msp

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ónUna 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énNombre 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áximoEjecución de cálculosAbra 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áticasMire 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

Page 14: Tutorial Max Msp

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íoComo 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 discusionesLas 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

Page 15: Tutorial Max Msp

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ónEn 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áticasTodos 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ónLos 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.

Page 16: Tutorial Max Msp

Vea tambiénNombre 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éricosResbaladores y dialesAbra 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 UIMire 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 UILos 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.

Page 17: Tutorial Max Msp

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 inspectorEn 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

Page 18: Tutorial Max Msp

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 inspectorAbramos 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ónLa 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énNombre 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ónMecanografíe, chasque, y arrastreAbra 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ónHeche 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

Page 19: Tutorial Max Msp

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 tecladoAdyacente 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.

Page 20: Tutorial Max Msp

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ónEsta 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énNombre Descripción

itoa Números enteros del convertido a los caracteres de ASCII

llave Divulgue las prensas dominantes en el teclado de

Page 21: Tutorial Max Msp

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ónIntroducciónAbra 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 InfoAntes 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

Page 22: Tutorial Max Msp

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 patchcordsSi 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 puertaAhora 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

Page 23: Tutorial Max Msp

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

Page 24: Tutorial Max Msp

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 lcdAhora 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+10Esta 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.

Page 25: Tutorial Max Msp

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ónHa 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énNombre 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 azarIntroducciónAbra 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.

Page 26: Tutorial Max Msp

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

Page 27: Tutorial Max Msp

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 azarEl 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ónHemos 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.

Page 28: Tutorial Max Msp

Vea tambiénNombre 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 procesalIntroducciónAbra 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 drenajeHeche 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

Page 29: Tutorial Max Msp

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 dibujarSi 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-

Page 30: Tutorial Max Msp

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 dibujarVolviendo 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

Page 31: Tutorial Max Msp

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ónHemos 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énNombre 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ículaIntroducciónEn 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

Page 32: Tutorial Max Msp

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 imovieAbra 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 archivoLos 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.

Page 33: Tutorial Max Msp

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 tarifaDurante 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 lecturaApague 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

Page 34: Tutorial Max Msp

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ículasOtra 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ónNos 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énNombre Descripción

imovie Juegue una película de QuickTime en una ventana del patcher

Clase particular 13: Secuencia de la películaIntroducciónEn 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

Page 35: Tutorial Max Msp

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 InfoEl 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

Page 36: Tutorial Max Msp

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 lazoAdemá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

Page 37: Tutorial Max Msp

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ónEn 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énNombre 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ónIntroducciónAbra 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

Page 38: Tutorial Max Msp

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ásicaAbra 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ónEl 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ú

Page 39: Tutorial Max Msp

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 subpatcherCuando 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ónLa 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

Page 40: Tutorial Max Msp

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: AbstraccionesIntroducciónAbra 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 grandeEn 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 simpleLa 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

Page 41: Tutorial Max Msp

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 reemplazablesLa 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

Page 42: Tutorial Max Msp

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ónAhorrando 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énNombre Descripción

cubo Pase un número del enchufe al enchufe, hacia fuera cada uno alternadamente

Clase particular 16: Mensajería alejadaIntroducciónHasta 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

Page 43: Tutorial Max Msp

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 valorA 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

Page 44: Tutorial Max Msp

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ónPudiendo 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énNombre 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

Page 45: Tutorial Max Msp

Clase particular 17: Estructuras y probabilidad de datosIntroducciónEn 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-

Page 46: Tutorial Max Msp

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

Page 47: Tutorial Max Msp

“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ónMuchos 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énNombre 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 datosIntroducción

Page 48: Tutorial Max Msp

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 collAbra 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 jugarLa 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.

Page 49: Tutorial Max Msp

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

Page 50: Tutorial Max Msp

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ónEl 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énNombre 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ónIntroducciónEn 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…

Page 51: Tutorial Max Msp

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 1El 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

Page 52: Tutorial Max Msp

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

Page 53: Tutorial Max Msp

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 sobremarchaOtra 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ónEn 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

Page 54: Tutorial Max Msp

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énNombre 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