Basic Javascript Programming: The Max Object

The Max Object

The Max object can be accessed as a property of a jsthis object (see jsthis Properties in the Global Methods Guide). It is intended to provide control over the application environment.

Max Properties

apppath [String]

g/s(get)

The pathname of the Max application

arch [String]

g/s(get)

The currently running Max architecture ('x64' or 'x86').

frontpatcher [Patcher]

g/s(get)

The Patcher object of the frontmost patcher window, or a nil value if no patcher window is visible. You can traverse the list of open patcher windows with the next property of a Wind object.

isplugin [Number]

g/s(get)

1 if the js object is within a plug-in; note that this would be 1 if the js object was within a plug-in loaded into the vst~ object in Max.

isruntime [Number]

g/s(get)

1 if the currently executing Max application environment does not allow editing, 0 if it does.

loadbangdisabled [Number]

g/s(get)

1 if the user has disabled loadbang for the currently loading patch. If your object implements a loadbang method, it can test this property and choose to do nothing if it is true.

os [String]

g/s(get)

The name of the platform (e.g., “windows” or “macintosh”)

osversion [String]

g/s(get)

The current OS version number.

time [Number]

g/s(get)

The current scheduler time in milliseconds - will be a floating-point value.

version [String]

g/s(get)

The version of the Max application, in the following form: "451"

Max Modifier Key Properties

cmdkeydown [Number]

g/s(get)

1 if the command (Macintosh) or control (Windows) key is currently held down

ctrlkeydown [Number]

g/s(get)

1 if the control key is currently held down

optionkeydown [Number]

g/s(get)

1 if the option (Macintosh) or alt (Windows) key is currently held down

shiftkeydown [Number]

g/s(get)

1 if the shift key is currently held down

Max Methods

The Max object can be accessed as a property of a jsthis object (see jsthis Properties above). Any message you can send to the max object using the semicolon notation in a message box can be invoked within Javascript using Javascript syntax. For example, the following in a message box:


		; max preempt 1
	

This can be expressed in Javascript as:


		max.preempt(1);
	

For a list of current messages that can be sent to the Max object, refer to the Messages to Max Guide.