zmap Reference

Maps input range of values to output range

zmap

Description

Maps an input range of values and to an output range of values. Similar to scale, but clips values to the ranges, and does not allow inverted scaling.

Examples

An example of how to map an integer slider into a useful range of floating-point values and back again

Arguments

minimum-input [number]

The minimum input value. If the low values is higher than the corresponding high value, the two values are reversed to preserve the high-low relationship.

maximum-input [number]

The maximum input value. If the low values is higher than the corresponding high value, the two values are reversed to preserve the high-low relationship.

minimum-output [number]

The minimum output value. If the low values is higher than the corresponding high value, the two values are reversed to preserve the high-low relationship. The zmap object will clip to the boundaries of the output range.

maximum-output [number]

The maximum output value. If the low values is higher than the corresponding high value, the two values are reversed to preserve the high-low relationship. The zmap object will clip to the boundaries of the output range.

Attributes

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.

jspainterfile [symbol]

JS Painter File

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

bang

Perform the scaling operation on the most recently received input value. If the range values have been changed, the scaling will be based on the new range.

int

Arguments

input [int]
Converted to float.

float

Arguments

input [float]
In left inlet: The incoming value is scaled according to the mapping provided by the arguments, or values received in the other inlets.
Note: The preservation of the high-low relationship is different from the behavior of the scale object, which lets you do reverse scaling. Also, note that the zmap object will clip to the boundaries of the output range.

  (inlet1)

Arguments

minimum-input [float]
In second inlet: Sets the low input value. If the value is higher than the high input value, the two values are reversed to preserve the high-low relationship.

  (inlet2)

Arguments

maximum-input [float]
In third inlet: Sets the high input value. If the value is lower than the low input value, the two values are reversed to preserve the high-low relationship.

  (inlet3)

Arguments

minimum-output [float]
In fourth inlet: Sets the low output value. If the value is higher than the high output value, the two values are reversed to preserve the high-low relationship.

  (inlet4)

Arguments

maximum-output [float]
In right inlet: Sets the high output value. If the value is higher than the high output value, the two values are reversed to preserve the high-low relationship.

list

Arguments

input [list]
In left inlet: A list of numbers sent to the left inlet will trigger the output of a list consisting of the results of performing the specified scaling operation on each item in the input list.

Output

float

When zmap receives a value in its leftmost inlet, that value is scaled to the indicated output range of values.

See Also

Name Description
scale Map values to an output range
expr Evaluate a mathematical expression