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

multiSlider

Multiple slider and scrolling display

Description

multislider can act as an array of sliders or a scrolling display. Lists set the sliders to the respective values. multislider automatically reconfigures itself so it has the same the number of sliders as elements in the list. The number of sliders, their range, style and additional attributes can all be set from the object's Inspector. The drawing styles include bar or thin-line slider handles (when using it as a slider), or point-value or zero-to-point in scrolling mode.

Arguments

None.

Messages

bang Outputs the current slider values as a list.
int input-to-all [int]
Sets all slider values and positions to the number received and outputs a list reflecting the current values. If the multislider data type is set to float, the values in the incoming list are converted to floats.
float input-to-all [float]
Sets all slider values and positions to the number received and outputs a list reflecting the current values. If the multislider data type is set to int, the values in the incoming list are truncated and converted to ints.
list input-to-each [list]
Sets each slider to a corresponding value in the list from left to right, with the first value in the list setting the first slider. If the multislider has a different number of sliders than is present in the list, the number of sliders is changed to the number of items in the list. In such a case, the outside dimensions of the multislider will not change, only the width or height of the sliders.
anything list [list]
anything is used to offer backwards compatibility in conjunction with the compatibility message.
drawbars flag (0 or non-zero) [int]
The word drawbars followed by a non-zero number will set the multislider to draw bars when displaying slider values. When followed by a 0, the sliders' values will not be drawn in bars.
drawlines flag (0 or non-zero) [int]
The word drawlines followed by a non-zero number will set the multislider to draw lines when displaying slider values. When followed by a 0, the sliders' values will not be drawn in lines.
echo echo-mode-flag (1 or 0) [int]
Toggles echo mode on and off. When echo mode is on, the multislider object will output any list received in its inlet. The default is off (0).
fetch slider-number [int]
The word fetch, followed by a number, sends the value of the numbered slider out the right (single slider value) outlet.
interp interpolation-mode-flag (1 or 0) [int]
The word interp, followed by a one or zero, enables or disables interpolation mode. When interpolation mode is on (the default), the multislider object will output interpolated values when a slider is moved. In most cases you probably will not want to disable interpolation mode.
max Sets all sliders to their maximum values.
maximum The word maximum causes the value of the slider with the largest value to be sent out the right outlet.
min Sets all sliders to their minimum values.
minimum The word minimum causes the value of the slider with the smallest value to be sent out the right outlet.
(mouse) The way that a multislider responds to the mouse is determined by its chosen display style. A multislider will respond to mouse clicks when its display style is non-scrolling (Thin Line or Bar). Clicking on a forward or reverse scrolling display multislider (Point Scroll or Line Scroll) has no effect.
If continuous output mode is enabled, the list of the current values will be sent out each time the mouse moves while dragging. If the continuous output mode is off, this list is only sent out when the mouse button is pressed or released. The continuous output option can be set in the multislider object's Inspector.
When the display style is non-scrolling, clicking on any slider in a multislider immediately positions the slider at the click point. The current value of all sliders is sent out. Dragging across a multislider will set the other sliders in the same manner. If continuous output mode is enabled, the list of the current values will be sent out each time the mouse moves while dragging. If the continuous output mode is off, this list is only sent out when the mouse button is pressed or released. The continuous output option can be set in the multislider object's Inspector.
If the mouse is moved quickly across a range of sliders, the mouse's position is likely not to be polled quickly enough by the computer to provide a value for each and every slider it appears to pass. By default, multislider will automatically interpolate slider values between successively polled mouse positions. You can use the interp message to disable interpolation, if desired.
normalize number [float]
The word normalize, followed by a float, will scale the sample values in the multislider so that the highest number matches the value given by the argument. Every value is scaled, and this activity cannot be undone. Although the normalize message calculates a normalized list based on the value passed as its argument, the message does not update the values in the multislider object itself or display them.
peakreset Resets the current peak values to the current slider values.
select slider numbers and values [list]
Selectively sets slider values. For example, select 1 30 2 4 5 50 sets the first slider to 30, the second to 4, and the fifth slider to 50 (the top or leftmost slider is always number 1).
set slider number and value [list]
The word set, followed by a slider number and a value, sets the numbered slider to that value without triggering any output.
setborder left [int]
right [int]
top [int]
bottom [int]
The word setborder, followed by four integers representing the left, right, top and bottom borders of the multislider object, set the object's borders. It is similar in function to the border message (see above). A 0 indicates that the specified border segment will not be drawn, and a 1 draws the border. The default is to draw all borders (setborder 1 1 1 1).
setlist slider values [list]
The word setlist, followed by a list of slider values, sets the sliders to the listed values without triggering any output.
range minimum and maximum [list]
The word range followed by a minimum number and a maximum number will set all sliders to operate within that range.
quantiles numbers [list]
In left inlet: The word quantiles, followed by a list of floats between 0 and 1.0, multiplies each list element by the sum of all the values in the multislider. This result is then divided by 215 (32,768). Then, multislider sends out the address at which the sum of all values up to that address is greater than or equal to the result for each list element.
setmax max-value [float]
The word setmax, followed by a number, sets the high values for the multislider object.
setmin min-value [float]
The word setmin, followed by a number, sets the low values for the multislider object.
sum Outputs a sum of all current slider values as a float.

Attributes

Name Type g/s Description
bgcolor float Sets the RGBA values for the background color of the multislider object.
border_bottom int
def.:1
Toggles drawing a bottom border for the multislider object. This is useful for placing multislider objects next to each other.
border_left int
def.:1
Toggles drawing a left border for the multislider object. This is useful for placing multislider objects next to each other.
border_right int
def.:1
Toggles drawing a right border for the multislider object. This is useful for placing multislider objects next to each other.
border_top int
def.:1
Toggles drawing a top border for the multislider object. This is useful for placing multislider objects next to each other.
bordercolor float Sets the RGBA values for the object's rectangular one-pixel border The default value is black (rgb3 0 0 0). The color can also be set using the Inspector.
candicane2 float Sets the RGBA values for the 2nd slider color in candycane mode.
candicane3 float Sets the RGBA values for the 3rd slider color in candycane mode.
candicane4 float Sets the RGBA values for the 4th slider color in candycane mode.
candicane5 float Sets the RGBA values for the 5th slider color in candycane mode.
candicane6 float Sets the RGBA values for the 6th slider color in candycane mode.
candicane7 float Sets the RGBA values for the 7th slider color in candycane mode.
candicane8 float Sets the RGBA values for the 8th slider color in candycane mode.
candycane int
def.:1
Sets the multislider object to use multiple colors for adjacent sliders, with the color pattern repeating (like the stripes in a candycane) every N sliders (indicated by the integer argument). The first eight colors can be set with the frgba and rgba4- rgba10 messages, the next fifteen colors are taken from the Max application's color palette. The number of stripes in the candycane can also be set using the Inspector.
compatibility int
def.:0
Toggles the backwards-compatibility mode for the maximum, minimum and sum messages. If this mode is enabled, the multislider object will output the single-value results of these messages out the left outlet, otherwise the values will be output out the right (single slider value) outlet, just like the fetch message. Patches saved before Max 4.6 will automatically open with compatibility mode enabled.
contdata int
def.:0
Toggles continuous output mode for non-scrolling display styles. If this mode is enabled, the multislider object will output a list of its current slider values each time the mouse is clicked and dragged. If this mode is turned off, the multislider object will only output a list when the mouse button is pressed and when it is released. The continuous output mode can also be set using the Inspector.
drawpeaks int
def.:0
Toggles setting the multislider to draw peak-output lines when displaying slider values. When followed by a 0, the sliders will not show any peaks.
ghostbar int
def.:0
When followed by a percentage value from 1 to 100, enables the drawing of a "ghost" bar when mode the multislider object is in Thin Line mode. A percentage value of 1 will draw a very light bar behind the Thin Line line, a value of 50 will draw a half-dark bar, and a value of 100 will draw a bar the same color as the Thin Line slider. When the word ghostbar is followed by a zero, this drawing mode is disabled (which it is by default).
orientation int
def.:1
The word orientation followed by a non-zero number will set the sliders to be drawn with a vertical orientation. When followed by a 0, multislider will be set to draw with a horizontal orientation.
peakcolor float Sets the RGBA values for the peak indicators when Peak-Hold display is turned on (see peakhold and peakreset messages). The default value is grey (rgb2 127 127 127).
setminmax float
def.:-1. 1.
Sets the low and high range values for the multislider object. The default values are -1.0 and 1.0 for floating point sliders and 0 and 127 for integer sliders.
setstyle int
def.:0
Sets the display style of the multislider object. The default value is Thin Line (setstyle 0). The display style values are:

0. Thin line

1. Bar

2. Point Scroll

3. Line Scroll

4. Reverse Point Scroll

5. Reverse Line Scroll
settype int
def.:1
Sets the multislider object for integer (0) or floating point (1) operation. The Inspector can also be used to set the multislider object's type. The default is integer (settype 0).
signed int
def.:0
Sets the signed or unsigned display mode for bar sliders. The default is 0 (off), and bar sliders are drawn from the minimum value. When this mode is set to 1 (on) sliders are drawn from zero to either a positive or negative slider value.
size int
def.:1
Sets the number of sliders the multislider object has. The default is 1, and the maximum number of sliders is 4096.
slidercolor float Sets the RGBA values for the slider color of the multislider object. The default value is black (frgb 0 0 0).
spacing int
def.:0
Sets the amount of space (in pixels) between sliders. The default is 0 (all sliders touching one another).
thickness int
def.:2
Sets the pen thickness of "thin line"style sliders. The default thickness is 2 pixels.

Information for box attributes common to all objects

Output

float: Out right outlet: The value of a numbered slider specified by the fetch message. The output reflects the current data type settings (see the settype message).
int: Out right outlet: The value of a numbered slider specified by the fetch message. The output reflects the current data type settings (see the settype message).
list: Out left outlet: When a multislider receives a list, int, or float in its inlet, it outputs a list of its current values. The list is also sent out when the sliders are changed with the mouse.

Examples

multislider drawing styles

See Also

Name Description
itable A table in a patcher window
kslider Output numbers from a keyboard onscreen
matrixctrl Matrix switch control
pictslider Picture-based slider control
rslider Display or change a range of numbers
slider Output numbers by moving a slider onscreen
Max Data Tutorial 1: Data Viewing Max Data Tutorial 1: Data Viewing