A newer version of Max is available. Click here to access the latest version of this document.


Send any message to a named object in the patcher hierarchy


The pattrforward object knows about your current patcher hierarchy, and can route messages or select new message routing destinations according to the messages it receives. You can also use the pattrforward object to route messages directly to a specific inlet of an object exposed by pattr or autopattr objects, and also send messages directly to a subpatcher, abstraction or bpatcher. The pattrforward object uses an object's Scripting Name (its varname attribute, set using an object's Inspector) when specifying the path to objects you want to send messages to. For example, if you want to send a message to an object named my_dial in a subpatcher, and you've also set the Scripting Name of the subpatcher to my_controls , then you would send the message send my_controls::my_dial to the pattrforward object to set the destination for future messages.


Name Type Opt Description
target-name symbol opt A symbol argument may be optionally used to specify the target object.


bang A bang is passed to the target object.
int input [int]
An int is passed to the target object.
float input [float]
A float is passed to the target object.
list input [list]
A list is passed to the target object.
anything input [list]
Incoming messages to the pattrforward object are analyzed. If the first element of the message matches the symbols in0, in1 ... inN, the pattrforward object will forward all remaining arguments to a specific inlet of the target object. in0 refers to the leftmost inlet (this is the default behavior of the pattrforward object), in1 refers to the inlet to the 2nd inlet from the left, and so on.

If the target object is a subpatcher, abstraction or bpatcher, the special element inx can be used to send messages directly to the patcher object (in essence, in order to communicate with a virtual thispatcher object associated with the patch).
(mouse) Double-clicking on the pattrforward object reveals the current target object in its parent patcher.


Name Type g/s Description
send symbol The word send, followed by the patcher name of any object in the patcher hierarchy, sets the target object. Names can refer to objects in patchers other than the one in which the pattrforward object resides. A double-colon syntax ('::') is used to separate levels of the patcher hierarchy. For example, some_subpatcher::some_object or parent::some_other_object would be valid target object names.

Information for box attributes common to all objects


anything: A message received in the inlet of pattrforward is sent to the named object anywhere in the patcher hierarchy.


See Also

Name Description
autopattr Expose multiple objects in a patcher to the pattr system
forward Send remote messages to a variety of objects
pattr Patcher-specific, named data wrapper
pattrhub Access all of the pattr objects in a patcher
pattrmarker Create pattr 'share points' and communicate between patcher hierarchies
pattrstorage Save and recall presets of pattr data
receive Receive messages without patch cords
send Send messages without patch cords
thispatcher Send messages to a patcher