Max for Live is integrated with Max's own copy protection and authorization system. Max can be running on its own authorization, via a Live authorization, or both. When the Max application receives its authorization from Live alone, a number of limitations apply. Before we describe these limitations, it's worth describing how Max will be in any particular authorization state.

Max's own copy protection and authorization system starts in demo mode, typically a one-time 30-day period in which it is fully functional. During the demo period, you can launch the Max application by double-clicking on it from the Mac OS Finder or Windows Explorer. You will see a dialog informing you of the remaining demo period that also permits you to authorize the software. Click the Demo mode to continue launching Max. Once demo mode expires, you will not be able to launch Max from the Finder or Windows Explorer without purchasing an authorization from Cycling '74.

Note that when launching Max via Live, you will not see the demo dialog, nor will you be informed when the demo period expires.

A Max authorization comes in three varieties: you can purchase Max alone, or Max/MSP to work with audio, or Max/MSP/Jitter to work with both audio and visual media. MSP and Jitter work during demo mode, but after that, they require product-specific authorization.

If you have purchased Max for Live, Max devices will have an edit button in Live that will launch Max and open the specified device. Once Max's demo mode has expired, if you do not own a Max authorization, you can only launch Max by clicking on the edit button in Live. If you own both Max and Max for Live, you can launch Max either way, but you will only obtain Live's authorization if you launch Max by clicking the edit button in Live.

Max for Live Limitations

Any limitations imposed by a Live authorization will not exist when Max is fully authorized (or when it is in demo mode). In other words, your fully authorized copy of Max is never limited by launching the application via Live.

Another way to put it is this: Max can determine its own authorization state whether you launch it from the OS or from Live. But the Live authorization state can only be set properly when launching from Live.

Max Limitations

Communication between devices using send and receive is supported, but there may be some latency involved when sending data between devices.

The grab object cannot be used to communicate from a send to a receive between devices.

Audio Limitations

When authorized only via Live, the Max application will not use its own audio drivers. Its audio input is the input to a Max device you are editing, and its audio output is the output from that Max device. Audio I/O works when using preview mode. If you turn preview mode off, all audio I/O for the Max application will stop.

Input and output are limited to two channels (MSP supports up to 512 channels of audio I/O). When you open a Max patcher such as a help file, the dac~ objects in the patcher will be mixed with the output of the device you are currently editing. If you open a file with dac~ or adc~ objects when you are not editing a device, or when Preview Mode is turned off, you will not hear any sound.

If Max and MSP are authorized when editing a Live device, Max windows that are not a part of the Live device will use the regular Max audio drivers.

The use of the send~ and receive~ objects to pass audio between Max for Live devices is not supported.

MIDI Limitations

When authorized only via Live, the Max application will not use its own MIDI drivers. MIDI input arrives from Live and MIDI output is sent to Live. MIDI I/O works only when using preview mode. If you turn preview mode off, all MIDI I/O for the Max application will stop.

When you open a Max patcher file such as a help file containing Max MIDI objects, the MIDI output will be sent to the MIDI output of the device you are currently editing. If you open a file containing MIDI objects when you are not editing a device, there will be no MIDI I/O.

If Max is authorized when editing a Live device, Max windows that are not a part of the Live device will use the regular Max MIDI drivers for MIDI objects.

Jitter Limitations

When authorized only via Live, the visual display of the jit.window and jit.pwindow objects are crippled. This limitation does not exist inside Live itself, or when Max and Jitter are authorized.

Although the pattr objects can be used in the context of Max for Live, there are some differences as compared to normal Max use.

autopattr: The autopattr object cannot be used to batch-register objects with the Parameter system. You need to use individual pattr objects for this purpose.

pattr: The pattr object functions mostly identically under Max and Max for Live. However, some users might expect the value of a pattr object in a Max for Live device to be automatically maintained by the Live Set upon save and close, and to be correctly restored when the Set is re-opened. This is not the case. This behavior is available, but only if the pattr object's Parameter Mode Enable attribute is enabled in the object's Inspector and the Parameter Visibility attribute is set to 'Automated and Stored' or 'Stored Only'.

pattrstorage: The pattrstorage object also functions mostly identically under Max for Live, but there are a few important distinctions to keep in mind, if the object is in Parameter Mode. First, the value of the pattrstorage object in Parameter Mode is its entire storage state (what is ordinarily saved to an external file), rather than the currently recalled slot. This means that devices using pattrstorage in Parameter Mode need not require an external file to recall the storage state of the object (it can be saved in presets, set as an initial value or stored in the Set). Use of an external file can be disabled using the object's savemode attribute (set to 0). If the pattrstorage object has an Initial Value (Initial Enable is turned on in the Inspector), the savemode and autorestore attributes are ignored and file-less use of the object is assumed. Finally, the pattrstorage object has an additional attribute when in Parameter Mode: Auto-update Parameter Initial Value. When this is enabled and Initial Enable is turned on, all changes to the object's storage state will cause the Initial Value to auto-update to the new state.

Other Limitations

When authorized only via Live, Max cannot build collectives or standalone applications. Frozen devices, which Max for Live creates, are very similar to collectives.