Max tutorial patcher files download






















In addition to binding objects to pattr through explicit naming and the bindto attribute, pattr objects can control other Max objects through patchcord connections. The notes subpatch shows two possible ways to do this: 1. Using the pattr object itself to store the data vals 2.

If a pattr object is unbound, it will store any messages sent in its left inlet and recall them from its left outlet. Messages sent to an unbound pattr object from a pattrhub object will echo out of the left outlet as well. Scroll the number box attached to the pattr object. The slider object should move as well.

The pattr objects controlling our pitches are not bound to any single object, and are maintaining the values of the number box objects attached to them not by referring to the objects directly, but by receiving their values as messages. As a result, the number box objects attached to these pattr objects can be deleted and replaced with other objects or more than one object.

Because the pattr object outputs its values when changed either directly or remotely we can easily attach multiple objects to the pattr object to set and display values stored in the object. Unlike most Max objects, pattr objects can be connected to other objects that are directly connected to them in turn without causing a stack overflow. The Max Console should print an error message and the program should prevent you from making the connection.

The middle outlet of pattr allows for the automatic binding of the pattr to a single object in the same patcher. Look at the names for the number box objects by selecting Name… from the Object menu. The name is based on the class of object attached, and multiple objects of the same class in a patch will be given incrementing notation to uniquely identify them e. Back in the main patch, open the durs subpatch of the main patch by double-clicking the patcher object containing it.

Observe that the two pattr objects in there min and max have been bound to two number box objects through their middle outlets. Close the subpatchers and go back to the main tutorial patch. Look at the message boxes again and notice the notation used in them to refer to pattr objects inside subpatchers. We can communicate to pattr objects in nested subpatchers by the same convention, e. Using the umenu object in the main tutorial patch, select one of the pattr objects in the patch. We do this by sending pattrhub the message get followed by the name of the pattr object we want to query, with no space in the message, e.

The number box to the right of the umenu reflects the current value of the selected pattr , output by the second outlet of pattrhub as a message beginning with the name of the queried pattr. Change the value of the selected pattr by changing the number box next to the umenu.

Check to see that the value changed by looking at the number box controlled by that pattr. Select some other pattr objects and change their values, familiarizing yourself with how the system allows you to query and set the states of objects anywhere in the patch. The pattr objects provide a powerful way to manage data from multiple objects in a Max patch. Each pattr object can only bind to one object at a time. The pattrhub object allows you to control the state of all pattr objects within a patch, including those within subpatchers, which can be accessed through a hierarchical notation system of successive patcher names separated by colons : followed by the name of the appropriate pattr object.

By sending a get message followed by the name of a pattr with no intervening space you can query the state of any pattr object within a patch from a pattrhub. Max v8. Max pattr Tutorial 1: Patcher Storage. What is pattr? The pattr family of objects pattr , pattrhub , autopattr , and pattrstorage provides the functionality of the preset object with a more extensive set of state management features: We can maintain sets of data from objects throughout a Max patch hierarchy.

For example, with pattr you can control the state of objects inside of patcher and bpatcher objects all from the top level of the patch. We can store any type of data used by any type of object including data simply stored inside a pattr itself, without any other objects involved. We can use pattr objects to remotely set and query the state of objects controlled by the pattr system from anywhere within the patch. The pattr objects store groups of settings as XML files, allowing us to easily read and edit saved data outside of Max.

The pattr objects can recall the state of objects in a specific order, avoiding difficulties with, for example, the recalling of a toggle object that starts a process before all the variables are in place for the process to function correctly. Not only can we store the states of many objects under a single address, we can also interpolate between these states, allowing for a seamless crossfade between multiple settings.

The pattr objects feature a high-level interface for viewing and managing the current state of controlled objects and the states that have been saved. Object Binding Take a look at the tutorial patcher. Choose Edit from the View menu.

You will see several changes in the patcher. First, the boxes surrounding the comment boxes are revealed we told you they were there.

Secondly, the message and comment boxes show inlets that were hidden in the locked state. In addition, ports on the bottom of these boxes are revealed; these are outlets. Finally, many more of the icons at the bottom of the patcher window are now available for our use.

In addition to the visible changes, we are now free to edit the contents of the window. Double-click inside the object box in the upper-right that says print ; the text is selected, and you can type another object name into that box.

Type "metro" without the quotes , and click outside the object box to complete the edit. We have now changed the function of that object - it is now a metro object. You will see the object box change size, and the number of inlets and outlets will change as the function of the object has changed.

We learn Max by building up a vocabulary of objects, including how they connect to other objects and what messages they understand and transmit. Double-click inside the message box on the right.

Change the message text to anything for example, type in the word "anything" , then click outside the box to accept the change. Note that changing the message text does not change the inlets or outlets, since only the contents but not the function of the message box has changed. Finally, double-click inside the comment box and change its text. Since the comment box has no function other than adding text to the patch, you are free to put in any text that pleases you.

Lock the patch by unchecking Edit in the View menu. In the upper right-hand corner of the patch, click on the object box which we changed from print to metro — nothing happens. Clicking on the message box directly below it, however, changes the background color — obviously, something is happening when we click on that box.

Click on the Max console icon on the right-hand side of the window to open the sidebar. On the left side of our patcher, there are three message boxes connected with lines called patchcords to a print object. Click on each of these message boxes in turn, then look at the Max Console; you will see that the contents of the message boxes we clicked are displayed there.

This was a result of clicking on the message boxes: they generated a message the content of the message box and sent it down the patchcord to the print object. The print object takes any message it receives in its inlet and displays it in the Max Console. You probably noticed that two of the message boxes have almost identical text, but the display in the Max Console is different. The message box with the text "Good morning, everybody!

The difference is in the use of the comma , which has a special meaning in message boxes within Max. In a message box, the comma is used as a message separator; in essence, it turns a single line of text into two discrete messages.

Thus, the message "Good morning, everybody! Those of you familiar with textual programming languages will be familiar with the use of a backslash character to "escape" a character that has special meaning. Unlock the patcher, click inside the lower message box the one with the backslash and remove the slash. Lock the patch and click on the edited message box — you will see that it, too, now creates two lines of text in the Max Console.

Edit the first message box, adding a backslash before its comma, and lock the patch; it now exhibits the expected behavior of printing the entire message on a single line. The print object is obviously doing something to send text to the Max Console.

To determine what function any object box performs, you can view several types of document to get help. Unlock the patcher for these operations:. Select the print object box by either clicking into it or clicking and dragging the mouse over it to highlight it.

Select Open print Help from the Help menu. A new patcher window called a Help patcher opens with an example that shows the print object in action. Note that this is an actual Max patch, and can be unlocked, edited, or copied elsewhere, retaining any of the displayed functionality. Select the print object as before and then click on the Reference icon in the right patcher window toolbar to open the sidebar. An abbreviated reference will appear with information on the object's function, arguments, messages, attributes and links to similar objects.

You will have already seen this in the help patcher, which opens with the sidebar open. Select the print object and choose Open print Reference from the Help menu. A browser window much like this one is displayed with the Reference Manual page for the print object.

This gives detailed information about the object, including the function of all of its inlets and outlets, and how it responds to each message. It even provides an example patch for your reference. This is the most detailed information available for any object.



0コメント

  • 1000 / 1000