PytaVSL: OSC API Method paths, property names and slide/text/scene/state names are always case insensitive. Engine Exposed methods: (from PytaVSL) /pyta/clone slide clone_name Create a clone slide slide: target slide name (can't be a clone nor a group) clone_name: new clone name (replaces any previously created clone with the same name) /pyta/create_text name font Create text object name: text name font: font name (as defined in text.py) /pyta/group slides group_name Create slide group slides: slide name pattern group_name: new group's name (replaces any previously created group with the same name) Note: some effects don't work on groups: mask, warp /pyta/load [files ...] Load files to slides files: file path or glob patterns. Each slide is named after the file (whitout the extension) /pyta/record path Record output to video file path: video path /pyta/record_stop Stop recording output /pyta/stop Shutdown pytaVSL /pyta/unclone clone_name Remove clone slide clone_name: clone's name /pyta/ungroup group_name Remove slide group group_name: group's name (from OscNode) /pyta/get property return_port Send property's current value to return_port at /slide_address/get/reply property: exposed osc property return_port: port number, ip:port string, or valid full osc address /pyta/set property [value ...] Set a property property: exposed osc property value: new value (items with default values can be omitted) /pyta/subscribe property return_port Subscribe to property's updates and send them to return_port at /slide_address/subscribe/update property: exposed osc property return_port: (optional) port number, ip:port string, or valid full osc address /pyta/unsubscribe property [return_port ...] Unsubscribe from property's updates property: exposed osc property return_port: (optional) port number, ip:port string, or valid full osc address if omitted, applies to all registered ports (from Scenes) /pyta/scene_export file_or_name file=None Save scene to file (visible slides/texts/clones/groups' state) file_or_name: scene slot name or file path to save current scene file: file path (if file_or_name is a slot name) /pyta/scene_import [files ...] Load scene files files: file path or glob patterns. Each scene is named after the file (whitout the extension) /pyta/scene_recall name Recall scene (visible slides/texts/clones/groups' state) name: slot name /pyta/scene_save name Save current scene (visible slides/texts/clones/groups' state) name: slot name Exposed properties: (from PytaVSL) select [slide=None] selected slide's name (exposes selected slide's methods on osc address /pyta/selected/<method>) initial: [None] select_stroke [stroke] draw a green stroke on selected slide (0|1) initial: [1] status [] Status (read-only): - "ready": running - "loading": currently loading slides initial: ["ready"] Post Processing Exposed methods: (from Animable) /pyta/post_process/animate property [args ...] Animate a property property: exposed osc property args: [from ..] [to ...] duration loop=0 easing="linear" from: initial value(s) (items with default values must be omitted) to: destination value(s) (items with default values must be omitted) duration: animation duration in seconds loop: omitted / 0 (no loop), 1 (infinte loop) or -1 (infinite back-and-forth) easing: easing function (case-insentive), optionally suffixed with "in" or "out" note: loop and easing can be interchanged available easing functions: linear, random, back, bounce, circular, cubic, elastic, exponential, quad, quartic, quintic, sine /pyta/post_process/animate_stop [properties ...] Stop animation property: exposed osc property (stop all animations if omitted) /pyta/post_process/strobe property [args ...] Strobe a property property: exposed osc property args: [from ..] [to ...] period ratio from: initial value(s) (items with default values must be omitted) to: destination value(s) (items with default values must be omitted) duration: strobe period in seconds ratio: time proportion spent on "from" (0<>1) /pyta/post_process/strobe_stop [properties ...] Stop strobe property: exposed osc property (stop all strobes if omitted) (from OscNode) /pyta/post_process/get property return_port Send property's current value to return_port at /slide_address/get/reply property: exposed osc property return_port: port number, ip:port string, or valid full osc address /pyta/post_process/set property [value ...] Set a property property: exposed osc property value: new value (items with default values can be omitted) /pyta/post_process/subscribe property return_port Subscribe to property's updates and send them to return_port at /slide_address/subscribe/update property: exposed osc property return_port: (optional) port number, ip:port string, or valid full osc address /pyta/post_process/unsubscribe property [return_port ...] Unsubscribe from property's updates property: exposed osc property return_port: (optional) port number, ip:port string, or valid full osc address if omitted, applies to all registered ports (from State) /pyta/post_process/log property=None Print object's state in the console property: name of the property to display (all when omitted) /pyta/post_process/recall name="quicksave" Restore all properties, looped animations and strobes from a save slot name: slot name /pyta/post_process/reset Reset all properties, animations and strobes /pyta/post_process/save name="quicksave" Save all properties, looped animations and strobes in a save slot name: slot name Exposed properties: (from SlideBase) align [h, v] horizontal and vertical alignment (center|left|right, center|top|bottom) initial: ["center", "center"] align_h [align] horizontal alignment (center|left|right) initial: ["center"] align_v [align] vertical alignment (center|top|bottom) initial: ["center"] alpha [alpha] object opacity (0<>1) initial: [1.0] color [r, g, b] rgb balance (0<>1) initial: [0.5, 0.5, 0.5] color_strobe [strobe] random color strobing (0|1) initial: [0] mesh_debug [debug] wireframe mode (0|1) initial: [0] mesh_size [x, y] mesh definition (number of tiles on the x and y-axis) initial: [1, 1] offset [x, y] texture offset (normalized) initial: [0.0, 0.0] position [x, y, z] object xyz offset to alignment (0<>1) initial: [0.0, 0.0, 0.0] position_x [x] object x-offset (0<>1, bottom to top) initial: [0.0] position_y [y] object y-offset (0<>1, left to right) initial: [0.0] position_z [z] object z-axis offset (near to far) initial: [0.0] rotate [rx, ry, rz] object rotation around xyz axis (deg) initial: [0.0, 0.0, 0.0] rotate_x [rx] object rotation around x axis (deg) initial: [0.0] rotate_y [ry] object rotation around y axis (deg) initial: [0.0] rotate_z [rz] object rotation around z axis (deg) initial: [0.0] scale [sx, sy] object xy scaling initial: [1.0, 1.0] tiles [x, y] texture tiling (normalized) initial: [1.0, 1.0] visible [visible] object visibility (0|1) initial: [0] zoom [zoom] object scaling (scale shorthand) initial: [1.0] (from Effect) brightness [value] brightness (0<>1) initial: [1.0] charcoal [value] charcoal effect (size) initial: [0.0] contrast [value] contrast (0<>1) initial: [1.0] fish [value] fish effect(-1<>1) initial: [0.0] hue [value] hue shift (0<>1) initial: [0.0] invert [value] invert colors (0|1) initial: [0] key_color [r, g, b] key rgb color (0<>1) initial: [0.0, 0.0, 0.0] key_threshold [value] discard pixels when color distance to key_color is below this threshold (0-1) initial: [0.0] mask [slide=""] slide name to use as a mask (empty or ommitted to reset) initial: [""] mask_hardness [strength] mask hardness (0<>1) initial: [0.0] mask_threshold [thresh] mask threshold (0<>1) initial: [1.0] noise [density] noise (density) initial: [0.0] rgbwave [value] rgbwave effect (strength) initial: [0.0] saturation [value] saturation (0<>1) initial: [1.0] (from Perspective) perspective [perspective] enable perspective (0|1) initial: [0] (from Warp) warp_1 [x, y] top left warping initial: [0.0, 0.0] warp_2 [x, y] top right warping initial: [0.0, 0.0] warp_3 [x, y] top left warping initial: [0.0, 0.0] warp_4 [x, y] bottom left warping initial: [0.0, 0.0] Slides Exposed methods: (from Animable) /pyta/slide/<name>/animate property [args ...] Animate a property property: exposed osc property args: [from ..] [to ...] duration loop=0 easing="linear" from: initial value(s) (items with default values must be omitted) to: destination value(s) (items with default values must be omitted) duration: animation duration in seconds loop: omitted / 0 (no loop), 1 (infinte loop) or -1 (infinite back-and-forth) easing: easing function (case-insentive), optionally suffixed with "in" or "out" note: loop and easing can be interchanged available easing functions: linear, random, back, bounce, circular, cubic, elastic, exponential, quad, quartic, quintic, sine /pyta/slide/<name>/animate_stop [properties ...] Stop animation property: exposed osc property (stop all animations if omitted) /pyta/slide/<name>/strobe property [args ...] Strobe a property property: exposed osc property args: [from ..] [to ...] period ratio from: initial value(s) (items with default values must be omitted) to: destination value(s) (items with default values must be omitted) duration: strobe period in seconds ratio: time proportion spent on "from" (0<>1) /pyta/slide/<name>/strobe_stop [properties ...] Stop strobe property: exposed osc property (stop all strobes if omitted) (from OscNode) /pyta/slide/<name>/get property return_port Send property's current value to return_port at /slide_address/get/reply property: exposed osc property return_port: port number, ip:port string, or valid full osc address /pyta/slide/<name>/set property [value ...] Set a property property: exposed osc property value: new value (items with default values can be omitted) /pyta/slide/<name>/subscribe property return_port Subscribe to property's updates and send them to return_port at /slide_address/subscribe/update property: exposed osc property return_port: (optional) port number, ip:port string, or valid full osc address /pyta/slide/<name>/unsubscribe property [return_port ...] Unsubscribe from property's updates property: exposed osc property return_port: (optional) port number, ip:port string, or valid full osc address if omitted, applies to all registered ports (from State) /pyta/slide/<name>/log property=None Print object's state in the console property: name of the property to display (all when omitted) /pyta/slide/<name>/recall name="quicksave" Restore all properties, looped animations and strobes from a save slot name: slot name /pyta/slide/<name>/reset Reset all properties, animations and strobes /pyta/slide/<name>/save name="quicksave" Save all properties, looped animations and strobes in a save slot name: slot name Exposed properties: (from SlideBase) align [h, v] horizontal and vertical alignment (center|left|right, center|top|bottom) initial: ["center", "center"] align_h [align] horizontal alignment (center|left|right) initial: ["center"] align_v [align] vertical alignment (center|top|bottom) initial: ["center"] alpha [alpha] object opacity (0<>1) initial: [1.0] color [r, g, b] rgb balance (0<>1) initial: [0.5, 0.5, 0.5] color_strobe [strobe] random color strobing (0|1) initial: [0] mesh_debug [debug] wireframe mode (0|1) initial: [0] mesh_size [x, y] mesh definition (number of tiles on the x and y-axis) initial: [1, 1] offset [x, y] texture offset (normalized) initial: [0.0, 0.0] position [x, y, z] object xyz offset to alignment (0<>1) initial: [0.0, 0.0, 0.0] position_x [x] object x-offset (0<>1, bottom to top) initial: [0.0] position_y [y] object y-offset (0<>1, left to right) initial: [0.0] position_z [z] object z-axis offset (near to far) initial: [0.0] rotate [rx, ry, rz] object rotation around xyz axis (deg) initial: [0.0, 0.0, 0.0] rotate_x [rx] object rotation around x axis (deg) initial: [0.0] rotate_y [ry] object rotation around y axis (deg) initial: [0.0] rotate_z [rz] object rotation around z axis (deg) initial: [0.0] scale [sx, sy] object xy scaling initial: [1.0, 1.0] tiles [x, y] texture tiling (normalized) initial: [1.0, 1.0] visible [visible] object visibility (0|1) initial: [0] zoom [zoom] object scaling (scale shorthand) initial: [1.0] (from Gif) gif_duration [duration] gif total duration (override frames' durations) initial: [0] gif_frame [frame] current gif frame initial: [0] gif_position [position] relative gif time position (0<>1) initial: [0.0] gif_speed [speed] gif playback speed (0=paused, negative=reverse) initial: [1.0] (from Effect) brightness [value] brightness (0<>1) initial: [1.0] charcoal [value] charcoal effect (size) initial: [0.0] contrast [value] contrast (0<>1) initial: [1.0] fish [value] fish effect(-1<>1) initial: [0.0] hue [value] hue shift (0<>1) initial: [0.0] invert [value] invert colors (0|1) initial: [0] key_color [r, g, b] key rgb color (0<>1) initial: [0.0, 0.0, 0.0] key_threshold [value] discard pixels when color distance to key_color is below this threshold (0-1) initial: [0.0] mask [slide=""] slide name to use as a mask (empty or ommitted to reset) initial: [""] mask_hardness [strength] mask hardness (0<>1) initial: [0.0] mask_threshold [thresh] mask threshold (0<>1) initial: [1.0] noise [density] noise (density) initial: [0.0] rgbwave [value] rgbwave effect (strength) initial: [0.0] saturation [value] saturation (0<>1) initial: [1.0] (from Perspective) perspective [perspective] enable perspective (0|1) initial: [0] (from Group) sequence_index [index] currently visible child by index (z-sorted) initial: [0] sequence_mode [mode] sequence mode (0=disabled, 1=enabled) initial: [0] sequence_position [index] relative sequence position, normalized index (0<>1) initial: [0] (from Video) video_loop [loop] video looping state (0|1) if not looping, video_speed will be set to 0 when the video reaches the last frame initial: [0] video_speed [speed] video playback speed (0=paused, no reverse playback, high speed is cpu expensive) initial: [1.0] video_time [time] current video time in seconds (cpu expensive for any value other than 0) initial: [0] (from Warp) warp_1 [x, y] top left warping initial: [0.0, 0.0] warp_2 [x, y] top right warping initial: [0.0, 0.0] warp_3 [x, y] top left warping initial: [0.0, 0.0] warp_4 [x, y] bottom left warping initial: [0.0, 0.0] Texts Exposed methods: (from Animable) /pyta/text/<name>/animate property [args ...] Animate a property property: exposed osc property args: [from ..] [to ...] duration loop=0 easing="linear" from: initial value(s) (items with default values must be omitted) to: destination value(s) (items with default values must be omitted) duration: animation duration in seconds loop: omitted / 0 (no loop), 1 (infinte loop) or -1 (infinite back-and-forth) easing: easing function (case-insentive), optionally suffixed with "in" or "out" note: loop and easing can be interchanged available easing functions: linear, random, back, bounce, circular, cubic, elastic, exponential, quad, quartic, quintic, sine /pyta/text/<name>/animate_stop [properties ...] Stop animation property: exposed osc property (stop all animations if omitted) /pyta/text/<name>/strobe property [args ...] Strobe a property property: exposed osc property args: [from ..] [to ...] period ratio from: initial value(s) (items with default values must be omitted) to: destination value(s) (items with default values must be omitted) duration: strobe period in seconds ratio: time proportion spent on "from" (0<>1) /pyta/text/<name>/strobe_stop [properties ...] Stop strobe property: exposed osc property (stop all strobes if omitted) (from OscNode) /pyta/text/<name>/get property return_port Send property's current value to return_port at /slide_address/get/reply property: exposed osc property return_port: port number, ip:port string, or valid full osc address /pyta/text/<name>/set property [value ...] Set a property property: exposed osc property value: new value (items with default values can be omitted) /pyta/text/<name>/subscribe property return_port Subscribe to property's updates and send them to return_port at /slide_address/subscribe/update property: exposed osc property return_port: (optional) port number, ip:port string, or valid full osc address /pyta/text/<name>/unsubscribe property [return_port ...] Unsubscribe from property's updates property: exposed osc property return_port: (optional) port number, ip:port string, or valid full osc address if omitted, applies to all registered ports (from State) /pyta/text/<name>/log property=None Print object's state in the console property: name of the property to display (all when omitted) /pyta/text/<name>/recall name="quicksave" Restore all properties, looped animations and strobes from a save slot name: slot name /pyta/text/<name>/reset Reset all properties, animations and strobes /pyta/text/<name>/save name="quicksave" Save all properties, looped animations and strobes in a save slot name: slot name Exposed properties: (from SlideBase) align [h, v] horizontal and vertical alignment (center|left|right, center|top|bottom) initial: ["center", "center"] align_h [align] horizontal alignment (center|left|right) initial: ["center"] align_v [align] vertical alignment (center|top|bottom) initial: ["center"] alpha [alpha] object opacity (0<>1) initial: [1.0] color [r, g, b] rgb balance (0<>1) initial: [1.0, 1.0, 1.0] color_strobe [strobe] random color strobing (0|1) initial: [0.0] offset [x, y] texture offset (normalized) initial: [0.0, 0.0] position [x, y, z] object xyz offset to alignment (0<>1) initial: [0.0, 0.0, -100.0] position_x [x] object x-offset (0<>1, bottom to top) initial: [0.0] position_y [y] object y-offset (0<>1, left to right) initial: [0.0] position_z [z] object z-axis offset (near to far) initial: [-100.0] rotate [rx, ry, rz] object rotation around xyz axis (deg) initial: [0.0, 0.0, 0.0] rotate_x [rx] object rotation around x axis (deg) initial: [0.0] rotate_y [ry] object rotation around y axis (deg) initial: [0.0] rotate_z [rz] object rotation around z axis (deg) initial: [0.0] scale [sx, sy] object xy scaling initial: [1.0, 1.0] tiles [x, y] texture tiling (normalized) initial: [1.0, 1.0] visible [visible] object visibility (0|1) initial: [0] zoom [zoom] object scaling (scale shorthand) initial: [1.0] (from Effect) brightness [value] brightness (0<>1) initial: [1.0] charcoal [value] charcoal effect (size) initial: [0.0] contrast [value] contrast (0<>1) initial: [1.0] fish [value] fish effect(-1<>1) initial: [0.0] hue [value] hue shift (0<>1) initial: [0.0] invert [value] invert colors (0|1) initial: [0] key_color [r, g, b] key rgb color (0<>1) initial: [0.0, 0.0, 0.0] key_threshold [value] discard pixels when color distance to key_color is below this threshold (0-1) initial: [0.0] mask [slide=""] slide name to use as a mask (empty or ommitted to reset) initial: [""] mask_hardness [strength] mask hardness (0<>1) initial: [0.0] mask_threshold [thresh] mask threshold (0<>1) initial: [1.0] noise [density] noise (density) initial: [0.0] rgbwave [value] rgbwave effect (strength) initial: [0.0] saturation [value] saturation (0<>1) initial: [1.0] (from Perspective) perspective [perspective] enable perspective (0|1) initial: [0] (from Text) line_height [line_height] line height initial: [1.0] outline [outline] text outline width (0<>1) initial: [0] outline_color [r, g, b] text outline color (0<>1) initial: [1.0, 0.0, 0.0] size [size] text size (1=full height, "auto"=fit, "current"=fix current size if "auto") initial: ["auto"] spacing [spacing] letter spacing initial: [1.0] text [text, glitch_duration=0] text string with optional glitch duration initial: [" "]