3. JavaScript command reference
Here are listed the main commands that can be used for scripting with JS.
Legend
The standard used to represent the available values for each command is:
FLOATS are represented with one decimal:
0.0 .. 1.0
→ all float values between 0 and 1 included
INTEGERS are represented with numbers or descriptions:
1 .. 5
→ all integers between 1 and 5 included ( 1 , 2 , 3 , 4 , 5 )
1 .. (MAX n layers)
→ all the integers between 1 and the maximum index of layers in MXW (e.g. if 6 layers are being used the values are integers between 1 and 6 included)
When only one number is indicated it means that only one option is given. This is found in addresses of buttons, checkboxes and in the options where "0" or "1" are the only significant values
STRINGS are represented between double quotation marks:
/mxw/set info
When “name”
is contained in the available string variable, then the content is to be substituted with the actual name.
E.G. : to select and play a patch called “patch_one” from its name, the address /mxw/set
with tokens "play" "name_of_patch"
has to be used, resulting in this OSC command:
/mxw/set play patch_one
When OR is found it means that two options can deliver a similar result. One of the two formats has to be used at one time.
Here are listed all the commands that MXW recognizes.
Legend
The standard used to represent the available values for each command is:
FLOATS are represented with one decimal:
0.0 .. 1.0
→ all float values between 0 and 1 included
INTEGERS are represented with numbers or descriptions:
1 .. 5
→ all integers between 1 and 5 included ( 1 , 2 , 3 , 4 , 5 )
1 .. (MAX n layers)
→ all the integers between 1 and the maximum index of layers in MXW (e.g. if 6 layers are being used the values are integers between 1 and 6 included)
When only one number is indicated it means that only one option is given. This is found in addresses of buttons, checkboxes and in the options where "0" or "1" are the only significant values
STRINGS are represented between double quotation marks:
/mxw/set info
When “name”
is contained in the available string variable, then the content is to be substituted with the actual name.
E.G. : to select and play a patch called “patch_one” from its name, the address /mxw/set
with tokens "play" "name_of_patch"
has to be used, resulting in this OSC command:
/mxw/set play patch_one
When OR is found it means that two options can deliver a similar result. One of the two formats has to be used at one time.
Set Reference
JS COMMAND | DESCRIPTION | EXAMPLE |
---|---|---|
Software Info | ||
mxw.millis |
returns the amount of milliseconds passed since opening the software | print_console("current passed time is" + mxw.millis );
|
mxw.width |
returns the current frame width in px | print_console("frame width is" + mxw.width );
|
mxw.height |
returns the current frame height in px | print_console("frame height is" + mxw.height);
|
mxw.outwidth |
returns current output width | print_console("output height is" + outwidth);
|
mxw.outheight |
returns the current output height | print_console("output width is" + mxw.outheight);
|
mxw.framecounter |
returns the amount of frames rendered since opening the software | print_console("total number of frames rendered is" + mxw.framecounter);
|
I/O | ||
mxw.dmx() |
returns the DMX value received from the specified universe and channel | print_console("DMX value in u. 1, ch. 4 is" + mxw.dmx(1,4));
|
mxw.midi() |
returns the MIDI value received from the specified device and channel | print_console("MIDI value in dev. 1, ch. 6 is" + mxw.midi(1,6));
|
mxw.keyboard("ASCII_code") |
returns if the specified key is pressed or not | mxw.keyboard(65)
|
mxw.pjlink("on", "IP_ADDRESS", "pj_password") |
sends a pjlink command to the selected projector and turns it on | mxw.pjlink("on", "192.168.1.2", "panasonic")
|
mxw.pjlink("off", "IP_ADDRESS", "pj_password") |
sends a pjlink command to the selected projector and turns it off | mxw.pjlink("off", "192.168.1.2", "panasonic")
|
mxw.pjlink("avmute_on", "IP_ADDRESS", "pj_password") |
sends a pjlink command to the selected projector and mutes audio and video | mxw.pjlink("avmute_on", "192.168.1.2", "panasonic")
|
mxw.pjlink("avmute_off", "IP_ADDRESS", "pj_password") |
sends a pjlink command to the selected projector and unmutes audio and video | mxw.pjlink("avmute_off", "192.168.1.2", "panasonic")
|
mxw.pjlink("vmute_on", "IP_ADDRESS", "pj_password") |
sends a pjlink command to the selected projector and mutes video | mxw.pjlink("vmute_on", "192.168.1.2", "panasonic")
|
mxw.pjlink("vmute_off", "IP_ADDRESS", "pj_password") |
sends a pjlink command to the selected projector and unmutes video | mxw.pjlink("vmute_off", "192.168.1.2", "panasonic")
|
mxw.media("camera_name").ptz("ptz_is_supported") |
control if a NDI Camera supports PTZ | mxw.media("USB Cam").ptz("ptz_is_supported")
|
mxw.media("camera_name").ptz("ptz_zoom", value) |
control the zoom of a NDI PTZ Camera, values from 0(zoomed in) to 1(zoomed out) | mxw.media("USB Cam").ptz("ptz_zoom", 0.5)
|
mxw.media("camera_name").ptz("ptz_pan_tilt", value_pan, value_tilt) |
control the pan and tilting of a NDI PTZ Camera (values from -1 to 1) |
|
mxw.media("camera_name").ptz("ptz_zoom_speed", value) |
control the zoom speed a NDI PTZ Camera, values from -1(zoom outwards) to 1 (zoom inwards) |
|
mxw.media("camera_name").ptz("ptz_pan_tilt_speed", pan_speed, tilt_speed) |
control the pan and tilt speed a NDI PTZ Camera, values -1 (move right/down) to 1 (move left/up) | mxw.media("USB Cam").ptz("ptz_pan_tilt_speed", -0.3, 0.8)
|
mxw.media("camera_name").ptz("ptz_store_preset", preset_number) |
store current position, focus, zoom, values 0 to 99 | mxw.media("USB Cam").ptz("ptz_store_preset", 75)
|
mxw.media("camera_name").ptz("ptz_recall_preset",preset_number, speed) |
recalls a previously stored preset,values 0 to 99 and changes to it at a specific speed (values 0 to 1) | mxw.media("USB Cam").ptz("ptz_recall_preset", 4, 0.5 )
|
mxw.media("camera_name").ptz("ptz_auto_focus") |
activates or deactivates the camera in auto-focus | mxw.media("USB Cam").ptz("ptz.autofocus")
|
mxw.media("camera_name").ptz("ptz_focus", focus_value) |
focus to absolute value (0= focused to infinity, 1= focus the closest possible) | mxw.media("USB Cam").ptz("ptz_focus", 0.5)
|
mxw.media("camera_name").ptz("ptz_focus_speed", speed_value) |
focus at a particular speed, values from -1(outwards), to 1 (inwards) | mxw.media("USB Cam").ptz("ptz_focus_speed", -0.2)
|
mxw.media("camera_name").ptz("ptz_white_balance_auto") |
put the camera in auto white-balance mode | mxw.media("USB Cam").ptz("ptz_white_balance_auto")
|
mxw.media("camera_name").ptz("ptz_white_balance_indoor") |
put the camera in indoor white balance | mxw.media("USB Cam").ptz("ptz_white_balance_indoor")
|
mxw.media("camera_name").ptz("ptz_white_balance_outdoor") |
put the camera in outdoor white balance | mxw.media("USB Cam").ptz("ptz_white_balance_outdoor")
|
mxw.media("camera_name").ptz("ptz_white_balance_oneshot") |
use the current brightness to automatically set the current white balance | mxw.media("USB_Cam").ptz("ptz_white_balance_oneshot")
|
mxw.media("camera_name").ptz("ptz_white_balance_manual", red value, blue value) |
Set the manual camera white balance using the R, B values, (0.0 = not red/not blue , 1.0 = very red/very blue) | mxw.media("camera_name").ptz("ptz_white_balance_manual", 0.1, 0.7)
|
mxw.media("camera_name").ptz("ptz_exposure_auto") |
put the camera in auto-exposure mode | mxw.media("USB_Cam").ptz("ptz_exposure_auto")
|
mxw.media("camera_name").ptz("ptz_exposure_manual", exposure_level) |
manually set the camera exposure iris, values from 0.0(dark) to 1.0(light) | mxw.media("USB_Cam").ptz("ptz_exposure_manual", 0.4)
|
mxw.media("camera_name").ptz("ptz_exposure_manual_v2", iris_level, gain_level, shutter_speed) |
Manually set the camera exposure parameters, values iris from 0.0(dark) to 1.0(light), values gain from 0.0(dark) to 1.0(light), values shutter_speed from 0.0(slow) to 1.0(fast) | mxw.media("USB_Cam").ptz("ptz_exposure_manual_v2", 0.4, 0.2, 0.5)
|
Playlist Control | ||
mxw.playlist.preload_media() |
preload used media | mxw.playlist.preload_media()
|
mxw.playlist.pause() |
| |
mxw.playlist.play() |
| |
mxw.playlist.go_pause()( true/false ) |
| |
mxw.playlist.skiptonext() |
| |
mxw.playlist.go_next() |
| |
mxw.playlist.go_prev() |
| |
mxw.playlist.go_first() |
| |
mxw.playlist.navigate_index(index_value) |
| |
mxw.playlist.navigate_string("index_string") |
| |
Preload Control | ||
mxw.makescreenshot |
| |
mxw.makescreenshot |
| |
mxw.makescreenshot |
|
DOK mxw.playlist.preload_media() <- preload used media
DOK mxw.playlist.pause() <- pause playback
DOK mxw.playlist.play() <- play playback
DOK mxw.playlist.go_pause( true/false ) <- toggle
DOK mxw.playlist.skiptonext()
DOK mxw.playlist.go_next()
DOK mxw.playlist.go_prev()
DOK mxw.playlist.go_first()
DOK mxw.playlist.navigate_index() <- navigate to 10
DOK mxw.playlist.navigate_string() <- navigate to "10"
DOK mxw.preload(1).clear() <- clear media DOK mxw.preload(1).set_media() <- set media with filename string DOK mxw.preload(1).set_name() <- set name with string DOK mxw.preload(1).get_name() <- get name DOK mxw.preload(1).add_preload() <- add layer from this preload DOK mxw.preload(1).trigger_preload() <- trigger layer from this preload DOK mxw.preload(1).get_activated <- is open for edit? DOK mxw.preload(1).set_activated() <- bool: set open for edit DOK mxw.preload(1).get_layer_position() <- layer position DOK mxw.preload(1).get_track_position() <- track position DOK mxw.preload(1).set_layer_position() <- set layer position DOK mxw.preload(1).set_track_position() <- set track position
DOK widget.media deprecated (now mxw.media("name") )
DOK grabber.isvalid
DOK animate example (with go to, random, etc)
DOK iterate iobases in defined order (io_wii,io_dmx,io_mid,io_timer,io_key,io_tuio) - DOK THIS
DOK js doku copied mxw.grabber(?a1?); -> illegal character
DOK print_statusline()
DOK mxw.makesectionscreenshot("c:/Users/MXWendler/Desktop/b.png", 0,1, 400, 200);
DOK mxw.widget("/mxw/playlist/container/1/column/0/row/1").setStringValue("named by script")
DOK print_console("PL Item R2C1 strval is " + mxw.widget("/mxw/playlist/container/1/column/0/row/1").getStringValue());