mc.evolve~

Generate a periodic multichannel function from breakpoint ranges

Description

The mc.evolve~ object accepts breakpoints consisting of ranges where both the domain and range go from 0 to 1. It maps this set of ranges across the space of a multichannel output signal, where the first channel in the output signal outputs the low end of the range and the last channel outputs the high end. Connect a phasor~ or another time-varying signal to mc.evolve~ to drive the output.

Examples

Arguments

chans [int]

Sets the number of channels in the output multichannel signal.

Attributes

chans [int] (default: 4)

The number of output channels can be reduced from the value specified by the object's argument; in this case extra outputs will be zero and the output range will be spread over a smaller number of channels.

inclusive [int] (default: 1)

Determines how endpoint values are taken into account when calculating values for each output channel.

Possible values:

0 = 'Neither' ( Ignore Endpoints )
Use neither the low or high endpoint values when calculating mc channel values.

1 = 'Both' ( Use Endpoints )
Use the low enpoint value for the first channel and high endpoint value as the last channel when calculating mc channel values.

2 = 'Low Only' ( Use Low )
Uses the low endpoint value for the first channel and calculates all other channel values accordingly.

3 = 'High Only' ( Use High )
Uses the high endpoint value for the last channel and calculates all other channel values accordingly.

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

int

Arguments

function index [int]
Converted to float

float

Arguments

function index [float]
When mc.evolve~ receive a float (0-1), it outputs a list out its right outlet containing its output range at the given location.

list

Arguments

x-value [number]
y1-value [number]
y2-value [number]
phase [number]
A list message adds a new breakpoint to the function stored by mc.evolve~. Up to 4 values can be used to specify the x (input) postion, upper y (output) value, lower y (output) value, and phase of the breakpoint. If the list contains two values, it creates a breakpoint with a fixed y value at the x postion. An optional 3rd value specifies the lower y value range and a fourth value can be used to specify a phase value from 0-1 (default 0). The phase is the location within the range used by the first output channels, if the phase is non-zero, output channels will eventually wrap around.

chanval

Arguments

channel [int]
index [float]
When mc.evolve~ receives a chanval message it will send the value of its output for a given channel index (1 - N) and input value (0-1). This value is a point within the output range at the given input position.

clear

Arguments

breakpoint_index [int]
The clear message with no arguments clears all breakpoints in the current function. An optional index argument can be used to specify a breakpoint to clear. Breakpoints indices are ordered based on their x-position, with position 0 representing the 0.0 x position. The mc.evolve~ object always maintains a breakpoint at both the 0. and 1. positions.

printfunction

Sending the printfunction message to mc.evolve~ prints each breakpoint in the current function on its own line to the console. Breakpoints are multi-element lists in the form x: (float) y: (float1) (float2) phase: (float).

signal

Use a phasor~ or other time-varying signal with a 0-1 range to drive the multichannel output of mc.evolve~.

See Also

Name Description
MC MC
multirange Graphical function breakpoint editor
mc.gradient~ Generate a time-varying function over the space of a multichannel signal
mc.range~ Generate a multichannel signal with a range of constant values
MC Function Generators MC Function Generators