addresses for remote and local access to high- and low-level parameters
(adresses are the name arguments to max receive objects unless noted otherwise)
For local use, use the max object [send <address>]
For remote use, use the max object [prepend <address>] and then send the resulting message to mirage via OSC and UDP.
(this would usually be matched to the machine IP in your netsend patch - see netsend in doc/external_patches)
main-module:
||main.crossfade|<float> 0-100% A bus <->B bus
screen.control|<msg> access to the v.window object
mirage.thispatcher|<msg> acces to the corresponding patcher-object
mix.active|<int> 0/1 deactivate message for v.mix
screen.active|<int> 0/1 deactivate message for v.window
screen.thispatcher|<msg> acces to the corresponding patcher-object||
sources-module:
||mod.src.config|<list of 8 ints> 0 0 0 0 0 0 0 0 initialize sources
|
|
specific module addressing format|<number of source(N)>_address -> e.g 1_movie.frame
camera module|
N_camera.allocate|<int> 0/1 allocate/deallocate the vdig
N_camera.switch|<int> 0/1 turn camera on/off
N_camera.crop|<int><int><int><int> v.crop rectangle (left top right bottom)
N_camera.deint|<int> 0/1 remove and interpolate every other row of pixels
N_camera.flip|<int> 0/1 flip horizontal camera image
N_camera.crop|<int><int><int><int> crop-list applied to v.crop rect message -> see patch crop_control
N_camera.input|receive incoming video
2vdig|''global access to all instantiated v.dig objects
movie module|
N_movie|<msg> access to movie object 1 (left inlet)
N_movie.frame|<int> access to movie object 1 (right inlet)
N_movie.play|<int> 0/1 start stop playback
N_movie.loop|<int> 0/1 loop on/off
N_movie.loopmode|<int> 0, 1, 2 forward, backward, palindrome
N_movie.ram|<int> 0/1 ramload movie
N_movie.speed|<float> playback speed in % (default 100.)
N_movie.frame|<int> frame in movie
N_movie.file|<symbol> filename of movie loaded
N_movie.menu|access to ubumenu
N_movie.tween|<msg> access to the v.ween object situted after the v.movie (left inlet)
N_movie.tween.time|<int> maximum tween time in millseconds
movie.menu|global access to all movie ubumenus simultaneously, e.g. if you want to send a populate message
send N_movie.current-frame|<int> frame number feedback
send N_movie.bang-at-loop|<bang> if looping, sends a bang at the end of each loop
send N_movie.bang-at-end|<bang> in not looping, sends a bang when playback is finished
send N_movie.clip-state|<int> v.movie "clip state" feedback
send N_movie.other-messages| v.movie "other messages" feedback
still module|
N_still.switch|<int> turn stillstream on/off
N_still.filename|<symbol> pict file to load into stillstream (use still.menu with prepend symbol) ##
N_still|<msg> access to stillstream object (left inlet)
N_still.menu|<int> access to stillstream menu
buffer module|
N_buffer.switch|<int> turn on/off record module
N_buffer.play|<int> start/stop playback of buffer
N_buffer.rec|<int> start/stop recording
N_buffer.src|<int> 0/1 => camera/preview, select source to record
N_buffer.speed|<float> playback speed in % (default 100.)
N_buffer.frame|<float> frame to playback (also interpolated)
N_buffer.clear|<bang> clear buffer
N_buffer.export|<bang> write buffer to disk
N_buffers|<msg> access to buffers object (left inlet)
N_buffertap|<msg> access to buffertap object (left inlet)
N_buffertap.frame|<msg> access to buffertap object (right inlet)
preview module|
N_preview.switch|<int> turn on/off preview module
external module|
N_external.switch|<int> turn on/off external source module
N_external.source|<softVNS stream>input video-stream into external module||
mask-stream-module:
||mask.src.assign|<int>
|
mask.src.contrast|<float> contrast value (default 1.)
mask.src.gain|<float> gain value (default 1.)
mask.src.invert|<int> 0/1 positive negative
mask.src.postscale|<float> post scale (1.0 = normal)
mask.src.postoffset.h|<float> post horizontal offset
mask.src.postoffset.v|<float> post vertical offset
mask.src.angle|<float> rotation (degrees)
mask.src.preaxial.h|<float> pre horizontal axial rotation
mask.src.preaxial.v|<float> pre vertical axial rotation
mask.src.prescale.h|<float> pre horizontal scale
mask.src.prescale.v|<float> pre vertical scale
mask.src.preoffset.h|<float> pre horizontal offset
mask.src.preoffset.v|<float> pre vertical offset||
channel setup:
||A_fx.sources|<list of 8 ints> 0 0 0 0 0 0 0 0 initialize channel sources
B_fx.sources|<list of 8 ints> 0 0 0 0 0 0 0 0 initialize channel sources
specific channel addressing format|<bus><channel>_address -> e.g B7_edges.abs
A0_effects|<list of six ints> to select effects (off = 0 0 0 0 0 0)
|
A0_flip.h|<int> (0/1), horizontal flip
A0_flip.v|<int> (0/1), vertical flip
A0_delay.length|<int> number of frames to delay
A0_contrast.factor|<float> (0. 2.), contrast-value, default 1.
A0_colourbalance.u|<int> (256), U value
A0_colourbalance.v|<int> (256), V values
A0_bw.low|<int> (256), lower thresh (black)
A0_bw.high|<int> (256), upper thresh (white)
A0_motion.thresh|<int> (256), thresh,
A0_motion.flip|<int> (0/1), positive/negative
A0_edges.abs|<int> (0/1), absolute
A0_edges.h|<int> (0/1), horizontal
A0_edges.v|<int> (0/1), vertical edges
A0_rotate.postscale|<float> post scale (1.0 = normal)
A0_rotate.postoffset.h|<float> post horizontal offset
A0_rotate.postoffset.v|<float> post vertical offset
A0_rotate.angle|<float> rotation (degrees)
A0_rotate.preaxial.h|<float> pre horizontal axial rotation
A0_rotate.preaxial.v|<float> pre vertical axial rotation
A0_rotate.prescale.h|<float> pre horizontal scale
A0_rotate.prescale.v|<float> pre vertical scale
A0_rotate.preoffset.h|<float> pre horizontal offset
A0_rotate.preoffset.v|<float> pre vertical offset
A0_blur.factor (adapt)|<int> (256), default 128
A0_fx.params|<specific list of ints and floats> of all parameters of all effects for one effects-module
|format: 0 0 0 0. 0 0 0 0 0 0 0 0 0 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0
|format:i i i f i i i i i i i i i f f f f f f f f f f i
A0_dynfx.effect|<int> effect number (corresponding to the menu-index number)
A0_dynfx.effect.name|<symbol> effect file name
A0_dynfx.settings|<msg> settings for the dynamic effect (not implemented yet)
specific layer addressing format|<bus><layer>_address -> e.g B7_zoom.factor
A0_channel.select|<int> take signal from effects-channel nr. 1-8 (0=off)
A0_zoom.factor|<float> percent zoom (%)
A0_zoom.xpos|<int> zoom center x coord (pixel)
A0_zoom.ypos|<int> zoom center y coord (pixel)
A0_mask.mode|<int> mask mode
|
A0_mask.blur|<int> amount of blur of mask edges (0-5)
A0_crop.left|<int> number of pixel to cut from left edge
A0_crop.top|<int> number of pixel to cut from top edge
A0_crop.right|<int> number of pixel to cut from left edge
A0_crop.bottom|<int> number of pixel to cut from bottom edge
A0_crop.mode|<int> access preset left/bottom values
|
A0_displace.x|<int> displace x value (pixel)
A0_displace.y|<int> displace y value (pixel)
A0_displace.grid|<int> access preset displace values
|
A0_transparency|<float> transparency of layer (%) N.B. new: transparence inverted from opacity
A0_copy.mode|<int> copy mode to apply to layer
|
mask-subpatch:
A0_mask.draw|<msg> access v.draw object
A0_mask.coll|<msg> access coll object (used for presets, too)
coll A0_mask 1|<coll> name of coll (not a send/receive) containig drawing cmds for each layer
A0_transform.matrix|<msg> access to 3Dmatrix-object in mask subpatch (v.draw only)
A0_matrix.displace.x|<int> mask transform matrix displace x (v.draw only)
A0_matrix.displace.y|<int> mask transform matrix displace y (v.draw only)
A0_matrix.zoom |<float> mask transform matrix zoom factor (v.draw only)
A0_matrix.rotate|<float> mask transform matrix rotateion angle (v.draw only)||
mask-editor:
||mask.edit.layer|<int> A0 -> B11 layer to send mask to
mask.edit.offsetx|<float> 0.
mask.edit.offsety|<float> 0.
mask.edit.scale|<float> 100.
mask.edit.rotate|<float> 0.
mask.edit.transform|<f f f f> transform matrix parameters: offset x, offset y, scale, rotate||
preview:
||preview.pat|<video-stream> from preview widgets
preview.grab.switch1|<int> 1/0 switch on/off grab.channel 1
preview.grab.switch2|<int> 1/0 switch on/off grab.channel 2
preview.grab.switch3|<int> 1/0 switch on/off grab.channel 3
send preview.grab.stream1|<video-stream> sends video.stream on grab.channel 1
send preview.grab.stream2|<video-stream> sends video.stream on grab.channel 2
send preview.grab.stream3|<video-stream> sends video.stream on grab.channel 3
send preview.coords|<list int/int> send coords of click in preview screen''||
preset.recall:
||A_preset.recall|<int> number of preset to recall
B_preset.recall|<int> number of preset to recall
source_preset.recall|<int> number of preset to recall
coll default_preset 1|<coll> containing the preset data||
preset.storage:
||A_preset.receiver|receiver of all queried prameters for storage
B_preset.receiver|receiver of all queried prameters for storage
source_preset.receiver|receiver of all queried prameters for storage
send A_dump|query all parameters of one bus to be stored in preset
send B_dump|query all parameters of one bus to be stored in preset
send source_dump|query all parameters of sources to be stored in preset||
net_send:
||netsend.data|<data> prepended with / going out to otudp
netsend.pulse.switch|<int> 0/1 turn on netsending (metro left inlet)
netsend.pulse.time|<int> timeintervall for sending packets (metro left inlet)
netsend.otudp|<msg> access the otdup object directly||
fx_cube:
||A0_fx_cube.fill|<int> 0/1 use bottom plane as mask
A0_fx_cube.fov|<float> camera field of view default 45?
A0_fx_cube.azi|<float> camera azimuth default 0?
A0_fx_cube.ele|<float> camera elevation default 0? (horizontal)
A0_fx_cube.dis|<float> camer distance default 450 units
A0_fx_cube.transx|<float> object translation (offset) x axis
A0_fx_cube.transy|<float> object translation (offset) y axis
A0_fx_cube.transz|<float> object translation (offset) z axis
A0_fx_cube.scalex|<float> object scale x axis
A0_fx_cube.scaley|<float> object scale y axis
A0_fx_cube.scalez|<float> object scale z axis
A0_fx_cube.roll|<float> object rotation along z axis
A0_fx_cube.yaw|<float> object rotation along y axis
A0_fx_cube.pitch|<float> object rotation along x axis
A0_x_cube.shape|<int> shape selection:
|
A0_fx_cube.frgb.r|<int> outline drawing colour r
A0_fx_cube.frgb.g|<int> outline drawing colour g
A0_fx_cube.frgb.b|<int> outline drawing colour b
A0_fx_cube.mask.alpha|<int> 0-256 colour of mask-drawing||
(adresses are the name arguments to max receive objects unless noted otherwise)
For local use, use the max object [send <address>]
For remote use, use the max object [prepend <address>] and then send the resulting message to mirage via OSC and UDP.
(this would usually be matched to the machine IP in your netsend patch - see netsend in doc/external_patches)
main-module:
||main.crossfade|<float> 0-100% A bus <->B bus
screen.control|<msg> access to the v.window object
mirage.thispatcher|<msg> acces to the corresponding patcher-object
mix.active|<int> 0/1 deactivate message for v.mix
screen.active|<int> 0/1 deactivate message for v.window
screen.thispatcher|<msg> acces to the corresponding patcher-object||
sources-module:
||mod.src.config|<list of 8 ints> 0 0 0 0 0 0 0 0 initialize sources
|
1 = camera 2 = movie 3 = still 4 = buffer record 5 = preview feedback 6 = external video input
|
e.g mod.src.config 0 1 0 0 0 0 0 0 -> make source 1 a camera mod.src.config 2 1 0 0 0 0 0 0 -> make source 0 a movie & source 1 a camera
specific module addressing format|<number of source(N)>_address -> e.g 1_movie.frame
camera module|
N_camera.allocate|<int> 0/1 allocate/deallocate the vdig
N_camera.switch|<int> 0/1 turn camera on/off
N_camera.crop|<int><int><int><int> v.crop rectangle (left top right bottom)
N_camera.deint|<int> 0/1 remove and interpolate every other row of pixels
N_camera.flip|<int> 0/1 flip horizontal camera image
N_camera.crop|<int><int><int><int> crop-list applied to v.crop rect message -> see patch crop_control
N_camera.input|receive incoming video
2vdig|''global access to all instantiated v.dig objects
movie module|
N_movie|<msg> access to movie object 1 (left inlet)
N_movie.frame|<int> access to movie object 1 (right inlet)
N_movie.play|<int> 0/1 start stop playback
N_movie.loop|<int> 0/1 loop on/off
N_movie.loopmode|<int> 0, 1, 2 forward, backward, palindrome
N_movie.ram|<int> 0/1 ramload movie
N_movie.speed|<float> playback speed in % (default 100.)
N_movie.frame|<int> frame in movie
N_movie.file|<symbol> filename of movie loaded
N_movie.menu|access to ubumenu
N_movie.tween|<msg> access to the v.ween object situted after the v.movie (left inlet)
N_movie.tween.time|<int> maximum tween time in millseconds
movie.menu|global access to all movie ubumenus simultaneously, e.g. if you want to send a populate message
send N_movie.current-frame|<int> frame number feedback
send N_movie.bang-at-loop|<bang> if looping, sends a bang at the end of each loop
send N_movie.bang-at-end|<bang> in not looping, sends a bang when playback is finished
send N_movie.clip-state|<int> v.movie "clip state" feedback
send N_movie.other-messages| v.movie "other messages" feedback
still module|
N_still.switch|<int> turn stillstream on/off
N_still.filename|<symbol> pict file to load into stillstream (use still.menu with prepend symbol) ##
N_still|<msg> access to stillstream object (left inlet)
N_still.menu|<int> access to stillstream menu
buffer module|
N_buffer.switch|<int> turn on/off record module
N_buffer.play|<int> start/stop playback of buffer
N_buffer.rec|<int> start/stop recording
N_buffer.src|<int> 0/1 => camera/preview, select source to record
N_buffer.speed|<float> playback speed in % (default 100.)
N_buffer.frame|<float> frame to playback (also interpolated)
N_buffer.clear|<bang> clear buffer
N_buffer.export|<bang> write buffer to disk
N_buffers|<msg> access to buffers object (left inlet)
N_buffertap|<msg> access to buffertap object (left inlet)
N_buffertap.frame|<msg> access to buffertap object (right inlet)
preview module|
N_preview.switch|<int> turn on/off preview module
external module|
N_external.switch|<int> turn on/off external source module
N_external.source|<softVNS stream>input video-stream into external module||
mask-stream-module:
||mask.src.assign|<int>
|
0-7 SRC number, 8 bus A, 9 bus B, 10 sum
mask.src.contrast|<float> contrast value (default 1.)
mask.src.gain|<float> gain value (default 1.)
mask.src.invert|<int> 0/1 positive negative
mask.src.postscale|<float> post scale (1.0 = normal)
mask.src.postoffset.h|<float> post horizontal offset
mask.src.postoffset.v|<float> post vertical offset
mask.src.angle|<float> rotation (degrees)
mask.src.preaxial.h|<float> pre horizontal axial rotation
mask.src.preaxial.v|<float> pre vertical axial rotation
mask.src.prescale.h|<float> pre horizontal scale
mask.src.prescale.v|<float> pre vertical scale
mask.src.preoffset.h|<float> pre horizontal offset
mask.src.preoffset.v|<float> pre vertical offset||
channel setup:
||A_fx.sources|<list of 8 ints> 0 0 0 0 0 0 0 0 initialize channel sources
B_fx.sources|<list of 8 ints> 0 0 0 0 0 0 0 0 initialize channel sources
specific channel addressing format|<bus><channel>_address -> e.g B7_edges.abs
A0_effects|<list of six ints> to select effects (off = 0 0 0 0 0 0)
|
0 thru (no effect), 1 flip, 2 delay, 3 contrast, 4 colourbalance, 5 grays, 6 bw, 7 invert. 8 motion, 9 edges, 10 rotate, 11 blur,
A0_flip.h|<int> (0/1), horizontal flip
A0_flip.v|<int> (0/1), vertical flip
A0_delay.length|<int> number of frames to delay
A0_contrast.factor|<float> (0. 2.), contrast-value, default 1.
A0_colourbalance.u|<int> (256), U value
A0_colourbalance.v|<int> (256), V values
A0_bw.low|<int> (256), lower thresh (black)
A0_bw.high|<int> (256), upper thresh (white)
A0_motion.thresh|<int> (256), thresh,
A0_motion.flip|<int> (0/1), positive/negative
A0_edges.abs|<int> (0/1), absolute
A0_edges.h|<int> (0/1), horizontal
A0_edges.v|<int> (0/1), vertical edges
A0_rotate.postscale|<float> post scale (1.0 = normal)
A0_rotate.postoffset.h|<float> post horizontal offset
A0_rotate.postoffset.v|<float> post vertical offset
A0_rotate.angle|<float> rotation (degrees)
A0_rotate.preaxial.h|<float> pre horizontal axial rotation
A0_rotate.preaxial.v|<float> pre vertical axial rotation
A0_rotate.prescale.h|<float> pre horizontal scale
A0_rotate.prescale.v|<float> pre vertical scale
A0_rotate.preoffset.h|<float> pre horizontal offset
A0_rotate.preoffset.v|<float> pre vertical offset
A0_blur.factor (adapt)|<int> (256), default 128
A0_fx.params|<specific list of ints and floats> of all parameters of all effects for one effects-module
|format: 0 0 0 0. 0 0 0 0 0 0 0 0 0 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0
|format:i i i f i i i i i i i i i f f f f f f f f f f i
A0_dynfx.effect|<int> effect number (corresponding to the menu-index number)
A0_dynfx.effect.name|<symbol> effect file name
A0_dynfx.settings|<msg> settings for the dynamic effect (not implemented yet)
specific layer addressing format|<bus><layer>_address -> e.g B7_zoom.factor
A0_channel.select|<int> take signal from effects-channel nr. 1-8 (0=off)
A0_zoom.factor|<float> percent zoom (%)
A0_zoom.xpos|<int> zoom center x coord (pixel)
A0_zoom.ypos|<int> zoom center y coord (pixel)
A0_mask.mode|<int> mask mode
|
0 off, 1 pos front, 2 neg front, 3 pos. Back, 4 neg back, 5 stream
A0_mask.blur|<int> amount of blur of mask edges (0-5)
A0_crop.left|<int> number of pixel to cut from left edge
A0_crop.top|<int> number of pixel to cut from top edge
A0_crop.right|<int> number of pixel to cut from left edge
A0_crop.bottom|<int> number of pixel to cut from bottom edge
A0_crop.mode|<int> access preset left/bottom values
|
0 80 60, 1 120 80, 2 160 120, 3 240 180, 4 320 240
A0_displace.x|<int> displace x value (pixel)
A0_displace.y|<int> displace y value (pixel)
A0_displace.grid|<int> access preset displace values
|
16 segments of the screen upper left to lower right 0, 0 0 1, 80 0 2, 160 0 3, 240 0 4, 0 60 80 5, 80 60 6, 160 60 7, 240 60 8, 0 120 9, 80 120 10, 160 120 11, 240 120 12, 0 180 13, 80 180 14, 160 180 15, 240 180
A0_transparency|<float> transparency of layer (%) N.B. new: transparence inverted from opacity
A0_copy.mode|<int> copy mode to apply to layer
|
0 blend, 1 mix, 2 copy, 3 min, 4 max, 5 add_mod, 6 add 7 sub_mod, 8 sub,
mask-subpatch:
A0_mask.draw|<msg> access v.draw object
A0_mask.coll|<msg> access coll object (used for presets, too)
coll A0_mask 1|<coll> name of coll (not a send/receive) containig drawing cmds for each layer
A0_transform.matrix|<msg> access to 3Dmatrix-object in mask subpatch (v.draw only)
A0_matrix.displace.x|<int> mask transform matrix displace x (v.draw only)
A0_matrix.displace.y|<int> mask transform matrix displace y (v.draw only)
A0_matrix.zoom |<float> mask transform matrix zoom factor (v.draw only)
A0_matrix.rotate|<float> mask transform matrix rotateion angle (v.draw only)||
mask-editor:
||mask.edit.layer|<int> A0 -> B11 layer to send mask to
mask.edit.offsetx|<float> 0.
mask.edit.offsety|<float> 0.
mask.edit.scale|<float> 100.
mask.edit.rotate|<float> 0.
mask.edit.transform|<f f f f> transform matrix parameters: offset x, offset y, scale, rotate||
preview:
||preview.pat|<video-stream> from preview widgets
preview.grab.switch1|<int> 1/0 switch on/off grab.channel 1
preview.grab.switch2|<int> 1/0 switch on/off grab.channel 2
preview.grab.switch3|<int> 1/0 switch on/off grab.channel 3
send preview.grab.stream1|<video-stream> sends video.stream on grab.channel 1
send preview.grab.stream2|<video-stream> sends video.stream on grab.channel 2
send preview.grab.stream3|<video-stream> sends video.stream on grab.channel 3
send preview.coords|<list int/int> send coords of click in preview screen''||
preset.recall:
||A_preset.recall|<int> number of preset to recall
B_preset.recall|<int> number of preset to recall
source_preset.recall|<int> number of preset to recall
coll default_preset 1|<coll> containing the preset data||
preset.storage:
||A_preset.receiver|receiver of all queried prameters for storage
B_preset.receiver|receiver of all queried prameters for storage
source_preset.receiver|receiver of all queried prameters for storage
send A_dump|query all parameters of one bus to be stored in preset
send B_dump|query all parameters of one bus to be stored in preset
send source_dump|query all parameters of sources to be stored in preset||
net_send:
||netsend.data|<data> prepended with / going out to otudp
netsend.pulse.switch|<int> 0/1 turn on netsending (metro left inlet)
netsend.pulse.time|<int> timeintervall for sending packets (metro left inlet)
netsend.otudp|<msg> access the otdup object directly||
fx_cube:
||A0_fx_cube.fill|<int> 0/1 use bottom plane as mask
A0_fx_cube.fov|<float> camera field of view default 45?
A0_fx_cube.azi|<float> camera azimuth default 0?
A0_fx_cube.ele|<float> camera elevation default 0? (horizontal)
A0_fx_cube.dis|<float> camer distance default 450 units
A0_fx_cube.transx|<float> object translation (offset) x axis
A0_fx_cube.transy|<float> object translation (offset) y axis
A0_fx_cube.transz|<float> object translation (offset) z axis
A0_fx_cube.scalex|<float> object scale x axis
A0_fx_cube.scaley|<float> object scale y axis
A0_fx_cube.scalez|<float> object scale z axis
A0_fx_cube.roll|<float> object rotation along z axis
A0_fx_cube.yaw|<float> object rotation along y axis
A0_fx_cube.pitch|<float> object rotation along x axis
A0_x_cube.shape|<int> shape selection:
|
0 cube, 1 lozenge, 2 left upper tri, 3 right upper tri, 4 right lower tri, 5 left lower tri
A0_fx_cube.frgb.r|<int> outline drawing colour r
A0_fx_cube.frgb.g|<int> outline drawing colour g
A0_fx_cube.frgb.b|<int> outline drawing colour b
A0_fx_cube.mask.alpha|<int> 0-256 colour of mask-drawing||