Dataflow
What is Dataflow?
Dataflow is a user-programmable, event-driven system that allows you to create dynamic, automated workflows within the Hive Player environment. By visually constructing a flowchart of interconnected nodes, you can respond to system events, modify parameters, and send control signals both internally within the Hive Player and externally to other devices.
This powerful system enables automation, interactivity, and customisation, making it possible to build responsive behaviours tailored to your specific needs. Whether triggering actions based on media events, processing sensor inputs, or sending network commands. Dataflow provides a flexible and intuitive way to control and extend the functionality of Hive Player.
The Interface is split into three sections;
- Flowcharts - The Flowcharts section allows you to view and manage all the available flowcharts on the Hive device. Here, you can create, edit, and organise your event-driven workflows. This section provides easy access to existing flowcharts, and you can quickly switch between different flowcharts by selecting the flowchart name. Each flowchart represents a specific set of actions and events that respond to various system triggers.

- Schema Editor - The Schema editor section is where you visually build and manage the nodes and their connections. This area displays a flowchart interface, allowing you to add nodes, connect them, and configure their properties. The schema editor offers an intuitive, visual representation of how events will trigger actions and how data moves through the system.

- Node list - The Node List section provides a complete list of all available nodes that can be used in the schema editor. Nodes are categorised based on their function, including events, actions, conditionals, and modifications.

Nodes
Node | Event Type | Node Description |
---|---|---|
onStartUp | Event | Event triggered when the system starts up |
onShutDown | Event | Event triggered when the system is shut down. |
onLayerFileChanged | Event | Event triggered when a layer file is changed |
onLayerMediaFileLooped | Event | Event triggered when a media file loops. |
onMediaFileUploaded | Event | Event triggered when a media file has been uploaded to this hive player. |
onPlayListMarker | Event | Event triggered when the playlist hits a marker. |
onPlayListRowChanged | Event | Event triggered when the playlist advances to the next row. |
onTimecodeCueListRowChanged | Event | Event triggered when the timecode cue list advances to the next row. |
onTimecodeTime | Event | Event triggered when the timecode cue list reaches the specified trigger time. |
onWatchFolderNewFile | Event | Event triggered when a new file is created in the watch folder. |
onWatchFolderNthFile | Event | Event triggered when a new file is created in the watch folder. File returned is the nth file in chronological order where n |
onSensorValueChange | Event | Event triggered when a value changes on the specified sensor. |
onUDPMessageReceived | Event | Event triggered when a UDP message is received |
onOSCStringReceived | Event | Event triggered when a OSC string is received. |
onOSCValueReceived | Event | Event triggered when a OSC value is received. |
onTimer | Event | Event triggered on a user defined interval in milliseconds. |
CONDITIONALS | ||
ifthen | Conditional | Evaluates a condition and directs the flow based on whether the condition is true or false. - This node typically connects to different action nodes depending on the result. |
Modification | ||
modifyString | Modification | Modify a string. |
time | ||
delay | time | Wait for a specified time in milliseconds before passing the input to the output. |
Image Adjust | Note: requires an internet connection. | |
aiExtendImage | Image Adjust | Extend image using Ai out painting. |
aiUpScaleImage | Image Adjust | Upscale image using Ai upscaler. |
aiRemoveBackgroundImage | Image Adjust | Remove Background from image using Ai background removal. |
Action | ||
SetLayerParameter | Action | Set a layer parameter using the input string as the value. |
SetMediaRegionFilename | Action | Set a media region filename using the input string as the filename. |
SetPlaylistRowNumber | Action | Set the row number of the playlist using the input string as the row number. |
SetPlaylistTime | Action | Set the time of the playlist playhead using the input string as the time in seconds. |
SetPlaylistActive | Action | Enable or disable the playlist using the input string to decide whether to enable or disable. |
SetTimeCodeCueListActive | Action | Enable or disable the timecode cue lst using the input string to decide whether to enable or disable. |
SetTimelineTime | Action | Set the time of the timeline playhead using the input string as the time in seconds. |
SetTimelineActive | Action | Enable or disable the timeline using the input string to decide whether to enable or disable. |
RunCommand | Action | Run a command incorporating the input string into the command if required. |
SendUDPMessage | Action | Send a UDP message incorporating the input string into the message if required. |
SendOSCValue | Action | Send an OSC value incorporating the input string as the value if required. |
SendOSCString | Action | Send an OSC string using the input string as the string. |
File operation | ||
Distribute to workers | File operation | Distribute file to worker devices. |