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

preset

Store and recall settings

Description

preset can store and recall the parameters of any specified user interface objects at the click of a mouse. It can also be used as a user interface link to a named pattrstorage object.

Examples

Remember many past settings and recall them later

Arguments

None.

Attributes

active1 [4 floats]

Sets the active preset color of the object in RGBA format

bgcolor [4 floats]

Sets the background color of the object in RGBA format

bubblesize [int32] (default: 8)

Sets the size of the preset "bubble", in pixels. A bubble must be larger than 2 pixels.

embed [int] (default: 1)

Toggles the ability to save your presets as part of the main patch (The default behavior is 1 (save presets with the patcher).

emptycolor [4 floats]

Empty Color

pattrstorage [symbol]

the pattrstorage attribute takes as its argument the name of a pattrstorage object and sets the preset object to allow its use as a user interface object for the named pattrstorage object's contents.

stored1 [4 floats]

Sets the stored preset color of the object in RGBA format.

style [symbol]7.0.0

Sets the style to be applied to the object. Styles can be set using the Format palette.

textcolor [4 floats]

Sets the text color of the object in RGBA format.

Common Box Attributes

annotation [symbol]

Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.

background [int] (default: 0)

Adds or removes the object from the patcher's background layer. background 1 adds the object to the background layer, background 0 removes it. Objects in the background layer are shown behind all objects in the default foreground layer.

color [4 floats]

Sets the color for the object box outline.

fontface [int]

Sets the type style used by the object. The options are:

plain
bold
italic
bold italic

Possible values:

0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'

fontname [symbol]

Sets the object's font.

fontsize [float]

Sets the object's font size (in points).

Possible values:

'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'

hidden [int] (default: 0)

Toggles whether an object is hidden when the patcher is locked.

hint [symbol]

Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.

ignoreclick [int] (default: 0)

Toggles whether an object ignores mouse clicks in a locked patcher.

patching_rect [4 floats] (default: 0. 0. 100. 0.)

Sets the position and size of the object in the patcher window.

position [2 floats]

g/s(set)

Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.

presentation [int] (default: 0)

Sets whether an object belongs to the patcher's presentation.

presentation_rect [4 floats] (default: 0. 0. 0. 0.)

Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.

rect [4 floats]

g/s(set)

Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).

size [2 floats]

g/s(set)

Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.

textcolor [float]

Sets the color for the object's text in RGBA format.

textjustification [int]

Text Justification

Possible values:

0 = 'left'
1 = 'center'
2 = 'right'

varname [symbol]

Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.

Messages

bang

Sends out the settings of the preset that was most recently recalled with an int or a mouse click.

int

Arguments

slotnumber [int]
Sending any integer will trigger the preset of the same number.

float

Arguments

preset-number [float]
Converted to int.

list

See the bang listing.

clear

Arguments

slotnumber [int]
Erases the contents of the most recently sent preset. The word clear, followed by a number, erases the contents of that numbered preset.

clearall

Erases the contents of all presets.

(mouse)

Clicking on a button in the preset object will recall a stored preset.

Shift-clicking on a button in the preset object will store a preset.

name

Arguments

ID [symbol]
The word name, followed by a symbol, sets the ID Name for the preset. The ID Name allows the preset to have a unique ID so that files created for it will not read into other presets.

store

Arguments

slotnumber [int]
The word store, followed by a number, stores the current setting of all user interface objects in the same window in the preset indicated by the number. If objects are connected to the preset object's left outlet with patch cords, only those connected objects will be affected.

The presets (storage locations in the preset object) are numbered left-to-right, top-to-bottom. When settings are stored in a preset, the dot's color changes to indicate that it contains something. Settings can also be stored in a preset by holding down the Shift key and clicking on the preset with the mouse.

read

Arguments

filename [symbol]
slotnumber [int]
The word read, followed by no arguments or a number, displays an Open Document dialog box for choosing a file of preset data to read. If the preset has been given a Preset Name Code, only files of the type specified by the code will be displayed. The number argument specifies the preset number into which the file data should be read. If the number is 0 or -1, the data in the file will be read into the number of presets contained in the file starting with the first one. If the word read is followed by a symbol or a number and a symbol, no dialog box is displayed. Instead, the symbol is taken as a filename from which to read presets. The number functions as previously described.

write

Arguments

filename [symbol]
slotnumber [int]
The word write, followed by no arguments or a number, displays a Save As dialog box for specifying a destination filename for writing the preset data. If the preset has been given a Preset Name Code, the file is given this code as its file type. The number argument specifies the preset number from which the preset data should be written. If the number is 0 or -1, all presets will be written. If the word write is followed by a symbol or a number and a symbol, no dialog box is displayed. Instead, the symbol is taken as a filename to use for writing the data, and the file will be placed in the current default folder. The number functions as previously described.

Output

(internal)

Any user interface objects connected to the third outlet of preset will be excluded from the effects of that preset. (This is particularly useful when there are many objects you want to affect with preset, and only a few you want to exclude.)

Objects whose data is stored in a preset include almost all user interface objects. Although an itable object will get stored and recalled, a table object must be connected to the preset object's outlet with a patch cord. The outlet of preset can also be connected to a send object, to communicate with objects connected to a receive object of the same name.

The number of visible presets can be adjusted by resizing the preset object's box. The maximum number of presets in a single preset object is 2048.

int

Out second outlet: When a preset is recalled, the number of the preset is sent out.

int

Out fourth outlet: When a preset is stored, the number of the preset is sent out.

int or float

Out left outlet: When a preset is recalled, either by a mouse click or by a number in the inlet, the settings stored in that preset are sent out the outlet to all connected objects, or, if no objects are connected, to all user interface objects in the window.

See Also

Name Description
grab Intercept the output of another object
Max pattr Tutorial 1: Patcher Storage Max pattr Tutorial 1: Patcher Storage