repl
Send, receive and output Max Console commands
Description
The repl object creates a named destination ("target") for commands you type into the Max Console window, creating a way to control patchers with a command line interface. (REPL is an acronym for Read Evaluate Print Loop.) Targets are either global -- receiving commands from any Max Console window -- or local to the patcher for which a Max Console is in the right sidebar. You can send a response to a command back to the user by sending any message to the inlet of repl.
You can also use repl as a way to evalate commands as if they were typed into the Max Console window as well as print to the console.
Arguments
OBJARG_NAME[OBJARG_TYPE]
optional
If an argument is supplied it is assigned to the target name. A unique generated name will be used by default.
Attributes
defer[int]: 0
Defer Commands
exec[int]: 0
Execute Commands
global[int]: 0
When the global attribute is 1, the repl object is available as a target in any Max Console window. When global is 0, the object is only available as a target in the patcher whose Max Console is open in the right sidebar.
mirror[int]: 0
When mirror is enabled, any result generated from evaluating a message sent to the repl inlet will be echoed to the right outlet. Sending an expression to the target or a sub-target of a v8 object will typically cause a result although that result may be equal to . For example, if both mirror and exec are enabled, sending to repl will cause to be sent out the right outlet. If is sent to repl, will be sent out the right outlet, because assigning a value to a variable has an undefined result in JavaScript.
name[symbol]
The name of the target; users must precede a message with this name or the name followed by a period and additional text.
print[int]: 1
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]: 0
Adds or removes the object from the patcher's background layer.
adds the object to the background layer, 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'
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]: 0
Toggles whether an object ignores mouse clicks in a locked patcher.
jspainterfile[symbol]
You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.
patching_rect[4 floats]: 0. 0. 100. 0.
Sets the position and size of the object in the patcher window.
position[2 floats]
write-only
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]: 0
Sets whether an object belongs to the patcher's presentation.
presentation_rect[4 floats]: 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]
write-only
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]
write-only
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[4 floats]
Sets the color for the object's text in RGBA format.
textjustification[int]
Sets the justification for the object's text.
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
anything
If the print attribute is enabled, any message received is echoed to the Max Console window labeled with the target name as the source. If the exec attribute is enabled, any message received is evalulated as if it were typed into the Max Console.
- any message
[list]
array
When an array is sent to the inlet of repl, its contents will be printed and/or evaluated according to the current state of the print and exec attributes. Elements of the array that are strings, symbols, or numbers will be evaluated or printed. Array elements are handled in ascending order by index.
- name
[symbol]
string
When a string is sent to the inlet of repl, its text will be printed and/or evaluated according to the current state of the print and exec attributes
- name
[symbol]
See Also
Name | Description |
---|---|
REPL | REPL |
console | Console Output in Patcher |