Package MC

mc.makelist

Create a list from non-signal output of MC objects

Description

The mc.makelist object creates a list of values whose size is determined by the highest voice number it receives in its right inlet or specified by the value of its voices attribute.

Arguments

None.

Attributes

fixed[int]

When the fixed attribute is enabled and the voices attribute is non-zero, all list output will be the size set by the value of the voices attribute. If fixed is not enabled, output lists are determined by the values received before the list is triggered as well as the triggering details of the mode attribute.
If the fixed attribute is enabled and the voices attribute is non-zero, any voice number received in the right inlet will cause subsequent input in the middle inlet to be ignored until a new voice number in range is received.

mode[symbol]

The mode attribute determines how mc.makelist outputs its list in response to incoming values. Possible values:

'passive' ( passive mode )
Lists are output only when any message is received at the left inlet. The passive mode is useful when you want to decouple list output from incoming values.

'pak' ( passive mode )
Any value arriving at the middle inlet will trigger an output (default value of the mode attribute).

'buddy' ( buddy mode )
The buddy mode (named for the buddy object) outputs a list when at least one value for each list position has been received since the last output. In order to work properly in buddy mode, mc.makelist needs an initial value for its voices attribute so it knows how many voices to keep track of.

'auto' ( auto mode )
The auto mode outputs a list immediately after a voice number received in the right inlet repeats for the first time after the last list output. This mode is useful when the list size might change over time.

'hitrig' ( hitrig mode )
The hitrig mode outputs a list immediately after a value for the highest voice number (as determined by the value of voices attribute) is received.

voices[int]

The voices attribute sets the maximum voice number mc.makelist will monitor. If the fixed attribute is enabled and the voices attribute is non-zero, the value of voices determines the size of the output list. Values not received are set to zero in the output list.
If the mode attribute is set to hitrig , the voices attribute sets the voice index that will always trigger list output. (This is true whether or not fixed is enabled.)
If the fixed attribute is enabled and the voices attribute is non-zero, any voice number received in the right inlet will cause subsequent input in the middle inlet to be ignored until a new voice number in range is received.

Common Box Attributes

Below is a list of attributes shared by all objects. If you want to change one of these attributes for an object based on the object box, you need to place the word sendbox in front of the attribute name, or use the object's Inspector.

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. 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]: 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]: 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

bang

Left inlet triggers output.

int

Left inlet triggers output, middle inlet sets value of list at current voice number position, right inlet sets voice number for next value received in the middle inlet.

Arguments:
  • value [int]

float

Left inlet triggers output, middle inlet sets value of list at current voice number position, right inlet sets voice number for next value received in the middle inlet.

Arguments:
  • value [float]

list

Left inlet triggers output, middle inlet sets value of list at current voice number position using the first element in the input list, right inlet sets voice number for next value received in the middle inlet using the first element in the input list.

Arguments:
  • value [list]

anything

Left inlet triggers output, middle inlet sets value of list at current voice number position using the first element in the input list, right inlet sets voice number for next value received in the middle inlet using the first element in the input list.

Arguments:
  • value [list]

clear

Sending the clear message to the left inlet clears all values stored in the object's voices.

voice

When sent to the middle or ight inlets, the word voice , followed by a number, sets the position in the list where the next value received in the middle inlet will be stored.

Arguments:
  • index [int]

See Also

Name Description
Processing Events from MC Objects Processing Events from MC Objects
MC Event Objects MC Event Objects
Polyphony Using mc.poly~ Polyphony Using mc.poly~
mc.route Direct output of messages based on an index received
mc.target Format messages to control MC objects