Node: Watchout Media Server

From Waltz
Revision as of 13:41, 23 July 2019 by Patrick Angle (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The Watchout Media Server node allows you to control and gain insight into the current state of a Watchout Production or Display computer. The Watchout Media Server node is itself a WoTimeline object, implementing all the functionality of that type for control of the main timeline. Auxiliary timelines can be controlled by using the timelineNamed("timeline") function to get an object that can control a specific auxiliary timeline. Status for auxiliary timelines is tracked from the moment of the first reference to that timeline.

Settings

Expected Type Details Default
localInterface LocalInterface The local network adapter that will be used to communicate with the Watchout software. LocalInterface("0.0.0.0")
remoteAddress RemoteAddress/IP The address of the remote Watchout device. When connecting to a Watchout Production instance, use port 3040. When connecting to a Watchout Display instance, use port 3039. IP("10.10.1.1", 3040)

Parameters

Type Details
softwareName String Note: The parameter is read-only. The name of the Watchout software currently running. This currently can be either WATCHMAKER or WATCHPOINT.
showName String Note: The parameter is read-only. The name of the show currently loaded in Watchout.
online Boolean true if the machine is currently online, otherwise false. Setting this to true will take a Production instance online, updating any Display instances that are out of sync the the Production instance at that point in time.
busy Boolean Note: The parameter is read-only. When true, the Watchout instance is currently unavailable to process commands, most likely due to being in a modal state or in the process of synchronizing content.
standby Boolean true if the machine is currently in standby, otherwise false. Setting this to true will take a machine into standby, and setting it to false will take a machine out of standby.
currentTime Time The current playhead position of the main timeline in Watchout. Setting this value to a new time will seek the playhead to the new time.
rate Number The current rate of playback of all timelines in Watchout. This value is only used for Display instances, and must be between 0.8 and 1.2. Audio playback is not supported when setting the rate to a value other than 1.
playing Boolean true if the main timeline is currently playing, otherwise false. Setting this value controls the playing state of the main timeline.
active Boolean true if the main timeline is playing, or if the playhead is not at 0 seconds. Setting this value to true for the main timeline has no effect, but setting it to false will stop the main timeline and return the playhead to 0 seconds.
currentCue String or WoControlCue Note: The parameter is write-only. It can not be directly read. The current cue being executed or having finished executing in Watchout. This can only be set directly, to either a String or a WoControlCue. To get the current cue, you must use the special getCurrentCue(…) function, which takes a Consumer that will receive the current cue. This behavior is the result of getting the current cue being a non-trivial task for a value that may not be readily available. See the function documentation for more details.
timelineName String Note: The parameter is read-only. For the main timeline, always returns an empty string. This value is present for parity with the WoTimeline type where it returns the name of the timeline being manipulated.

Functions

Arguments Returns Details
getCurrentCue(consumer) Consumer<WoControlCue> consumer - The function that will process the cue when it is returned. Void Get the current control cue from Watchout. This will be the closest previous cue on the timeline from the current playhead position, similar to how lighting consoles report cues. If the playhead is paused at the exact position of a control cue, the closest previous control cue on the timeline is returned. Because of this behavior, multiple properties have to be compared and processed before a value can be passed to the provided Consumer.
timelineNamed(t) String t - The timeline to retrieve. WoTimeline Get the timeline with the given name, allowing control of that specific timeline. Returns null if the timeline does not exist.
load(file, online) String file - The file to load.

Boolean online - Whether or not to take the file online.

Void Load the specified file and optionally go online afterwards. The file name is a full directory path for a Watchout Production instance, or the name of the show for a Watchout Display instance.
setStandby(standby, fade) Boolean standby - The desired standby state.

Time fade - The amount of time over which the fade should occur.

Void A special way to invoke standby that allows you to specify the amount of time over which the fade will occur.
hitTest(p, consumer) Point p - The point to check for collision.

Consumer<WoHitTestResult> consumer - The result of the collision test.

Void Check if the given point intersects with a piece of interactive media on the stage. See the documentation for WoHitTestResult for details on the type of information available from a hit test.
deactivateAll() Void Deactivates and resets all timelines, including the Main and all auxiliary timelines.
getCues(consumer) Consumer<List<WoControlCue>> consumer - The function that will process the list of cues when they are returned. Void Get all the cues from the main timeline. Because multiple layers must be processed this function takes an indeterminate amount of time to run, and therefore requires a consumer to be provided to handle the eventual results. This prevents the entire show from waiting for cues to be determined, and instead defers the processing.

Example Usage

No examples provided.

Nodes
Devices ArtNet Input · ArtNet Output · Interactive LED Processor · NDI™ Input · NDI™ Output · OSC Input · OSC Output · Projector · SensorLink · TCP · TUIO Output · UDP Input · UDP Output · Watchout Media Server
Objects LED Tile Layout · List · Map · Random Number · Simulated Touch · Timer · Value · Wave
Operators Blend · Change · Clip · Cluster Tracker · DMX Multiverse Merge · Ease · Filter · Hold · JSON Mapper · JSON Stringify · Logic · Math · Proximity · Range · Rotate · Scale · Shear · Smooth · Touch Mapper · Translate
Scenes External Scene · Material Scene
Materials Graph · Touch Material
Scripting Script Function · Script
Comments Comment