Parameters are settings of Max for Live devices you want to store and/or automate in Live. In some cases, a parameter may be set once and never change. In other cases, you'll want to
use Max objects to interact with parameter values by clicking
and moving the mouse, by receiving MIDI data mapped to a parameter, or via Live
automation.
There are two ways to add parameters to your device: using the Live UI objects or using
pattr objects with
parameter mode enabled.
The
Parameters Window
shows all parameters currently associated with a device, and permits you to change parameter attributes in a single place. You can also change parameter attributes for individual objects by using the Parameter tab of the
inspector.
Max for Live includes user interface objects designed to work with the parameter system whose names all begin with live.. These objects have some
special abilities:
-
They allow you to set an initial state that will be recalled automatically when a device is instantiated, saved, or edited.
-
They work seamlessly with Live's MIDI and keyboard mapping capabilities.
-
If you choose to make the UI object's parameter automatable, you can control it with Live's automation facility.
In other respects, the Live UI objects act like ordinary Max user interface objects.
Parameters used in Max for Live can be one of four types:
-
integer: integer values in the range 0 - 255 only
-
floating-point: floating point values (no range restriction)
-
enum: an enumerated list of items
-
blob: parameters that cannot be automated but can be stored in presets.
Non-automatable parameters may be any type of data you can store with a
pattr object: single values, lists, or strings.
-
Select an object and click the Inspector button on the Patcher toolbar
to show the object's
inspector .
-
Choose Float from the pull-down menu in the Type attribute's Value column.
-
Choose Int from the pull-down menu in the Unit Style attribute's Value column.
Although parameter value will be stored as a floating-point number, it will be displayed as an integer.
-
Select the Max for Live UI object and click the Inspector button in the Patcher toolbar
to show the object's
inspector.
- Click the Parameter tab at the top of the inspector window to show the Parameter attributes.
- Ensure that Parameter Mode Enable is checked.
(It will be turned on by default for all Live UI objects that store values.)
- Enter a floating-point value for the Initial Value attribute.
-
Add a pattr object to your patch, typing the parameter name
you want to use as an argument to the object. Connect the pattr
object's middle (bindto) outlet to the Max UI object.
- Select the pattr object and open the inspector. Click the Parameter tab to show the parameter attributes.
-
Enable Parameter Mode
for the pattr object.
-
Check Initial Enable checkbox.
-
Enter a floating-point value for the Initial Value attribute.
Parameters can be modulated by clip envelopes in Live according to one of four modes:
- In unipolarmode, the parameter value is modulated between the minimum range value
(set using the Modulation Range attribute) and its current value.
-
In bipolar mode, the full modulation range of a parameter is equal to twice the
distance between the current value and nearest boundary set using the parameter’s
Modulation Range attribute. If the current value is exactly halfway between the
lower and upper ranges, the modulation range is equal to the total
parameter range.
-
In additive mode, the modulation range from the current value is equal to plus
or minus one-half of the total range of the parameter. Values are truncated if
they fall outside of the Modulation Range attribute.
-
In absolute mode, the current value is either the
upper or lower bound of the modulation range. If the current value is less than half
of the full parameter range, the modulation assumes a lower range of the current
value minus the modulation range. If the current value is greater than half
of the full parameter range, the modulation assumes the upper range is current
value and the lower range is equal to the current value minus the modulation
range value.
-
Select the parameter object (pattr or Live UI) and open the inspector. Click the Parameter tab to show the parameter attributes.
-
Set the Modulation Type and, if applicable, the Modulation Range attributes.
Max for Live provides several ways to name a parameter in a device, each
of which is an
Attribute.
that can be set using an object's
Inspector.
These names can be set separately or linked together, and they serve several
useful purposes.
-
The Scripting Name attribute can be used to identify a UI object
when used in conjunction with the Max pattr preset objects. When
a UI object has a scripting name set, it will automatically appear in the
pattrstorage object's inventory of parameter names when you add an
autopattr object to your Max patch as described in the
pattr Chapter 2.
Max tutorial.
-
The Short Name attribute can be used in conjunction with the
Display Parameter Name attribute to label live.dial
and live.slider object when you use them in a device.
-
The Long Name attribute is be used to identify a parameter to
the Live application's Parameter automation and MIDI mapping.
You can use a single name for all three of these attributes by checking
the Link to Scripting Name attribute in the object's Inspector.
You may find this to be a simple approach to managing paramter naming.
-
Add a Max for Live UI object to your device. When the UI object first appears,
it displays the name of the object itself.
-
Select a the object and click the Inspector button on the Patcher toolbar
to show the object's
Inspector.
-
Double-click in the Value
column for the Short Name setting to show a cursor and text box.
Type in a name for the parameter, followed
by a carriage return. The Value column will be
de-selected, and your parameter name will appear in the object's display.
Note: If your short name is too long, it will be automatically truncated. If you
are using a
live.slider or
live.gain~ object, you can use resize
the object manually by clicking in the lower right-hand corner of the object and
dragging. If you are using a
live.dial object, you should enter a new
horizontal value for the
Patching Rectangle or
Presentation Rectangle
attributes using the object's Inspector.
-
Add a Max for Live UI object to your device. When the UI object first appears,
it displays the name of the object itself.
-
Select a the object and click the Inspector button on the Patcher toolbar
to show the object's
Inspector.
-
Double-click in the Value
column for the Short Name setting to show a cursor and text box.
Type in a name for the parameter, followed
by a carriage return. The Value column will be
de-selected, and your parameter name will appear in the object's display.
Note: If your short name is too long, it will be automatically truncated. If you
are using a
live.slider or
live.gain~ object, you can use resize
the object manually by clicking in the lower right-hand corner of the object and
dragging. If you are using a
live.dial object, you should enter a new
horizontal value for the
Patching Rectangle or
Presentation Rectangle
attributes using the object's Inspector.
Max for Live provides a variety of options for setting unit styles that a
UI object displays. If you want to use specify some other unit of measurement
for display, you can create a custom unit style.
-
Select a Max for Live UI object and click the Inspector button on the Patcher toolbar
to show the object's
Inspector.
-
Choose Custom from the Unit Style pulldown menu.
-
Double-click in the Value column of the Custom Units
attribute to show a cursor and text box.
Type in a string to be used for the custom unit style, followed
by a carriage return. The Value column will be
de-selected, and the name will be set.
You can type in custom unit strings as symbols (e.g. "Harmonic(s)"), in which case
the parameter's value will be displayed in its 'Native' display mode, followed by
the symbol (e.g. "12 Harmonic(s)" for an Int-typed parameter or "12.54 Harmonic(s)"
for a Float-typed parameter). If you would like to have additional control over the
numerical component displayed, you can enter a sprintf-style string
(e.g. "%0.2f Bogon(s)", which would display a value such as ".87 Bogons").
-
You can change the visibility of a parameter by changing the
Parameter Visibility setting in the Inspector. If this
attribute is set to Automated and Stored, the parameter will
be stored in the Live Set and presets, and will be available
for automation. If this attribute is set to Stored Only, the
value will be stored, but it will not be visible to Live's
automation system. If this attribute is set to Hidden, it will
neither be stored nor available for automation.
-
You may want to have a parameter Hidden when it affects other
Max for Live parameters. This will prevent problems with
overloading Live's undo buffer, and will also limit issues with
preset storage.