Navigation

Ventuz Introduction

  • Introduction
  • Getting Started
  • Ventuz Editions
  • Ventuz Products
  • Realtime Rendering
  • Frequently Asked Questions
  • Common Mistakes
  • Deploying a Ventuz Presentation
  • Scene Performance and Tweaks

Quick Guides

  • Quick Guide Index
  • Business Logic
  • 3D Art
  • 2D Art
  • Programming
  • System Engineer

General

  • Index
  • What's New
  • Ventuz System Requirements
  • Communication Protocol Overview
  • Configuration Editor
  • Audio / Video Configuration
  • Machine Configuration
  • Web Configuration Editor and License Manager
  • GPI Configuration for Runtime or Director
  • Supported Formats
  • Supported Hardware
  • Multisampling / Anti-Aliasing
  • Input Subsystem
  • Ventuz Proprietary Files
  • Migrating Content to Ventuz 6
  • Migrating Content to Ventuz 5
  • Summary Shortcuts
  • Terminology
  • Manual Index

Ventuz Designer

  • Designer Indices
Introduction
  • Designer Introduction Index
  • Designer Overview
  • Realtime Rendering
  • Project Browser
  • Designer Interface
  • Designer Options
  • Working with Nodes
  • Hierarchy and Content Editors
  • 2D Workflow
  • 3D Workflow
  • Animation Workflow
  • Best Practices
  • Reading Data in Ventuz
  • Display Images and Movies
  • Scene Performance and Tweaks
  • Deploying a Ventuz Presentation
  • Render to Disk
User Interface
  • Designer User Interface Index
  • Designer Interface
  • Renderer Window
  • Layer Editor
  • Property Editor
  • Property Groups
  • Hierarchy Editor
  • Content Editor
  • Find and Replace
  • Toolbox
  • Animation Editor
  • Shader Editor
  • Text Editor
  • Message View
  • Scene Tree
  • Stage Editor
  • Container Outline
  • Watches Editor
  • Performance Statistics
2D Workflow
  • 2D Workflow Index
  • 2D Workflow
  • Layer Editor
  • Common Layer Properties
  • IPP Effects
  • Color Correction FX
  • Distortion FX
  • Filter FX
  • Hierarchy and Content Editors
  • Display Images and Movies
3D Workflow
  • 3D Workflow Index
  • 3D Workflow
  • Hierarchy and Content Editors
  • Renderer Window
  • Camera Navigation
  • Manipulate Objects with Gizmos
  • Layer Editor
  • Property Editor
  • Hierarchy Editor
  • Working with Nodes
  • Isolated Objects
  • Containers
  • Text Rendering
  • Character Sets
  • Geometry Import
  • Display Images and Movies
  • Particle System
  • Creating Realistic Reflections
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Logic Workflow
  • Logic Workflow Index
  • Hierarchy and Content Editors
  • Content Editor
  • Hierarchy Editor
  • Working with Nodes
  • Property Editor
  • Containers
  • Project and Scene Data
  • Reading Data in Ventuz
  • Display Images and Movies
  • Input Subsystem
  • Multitouch
  • TUIO Protocol
  • Open Sound Control
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Animation Workflow
  • Animation Workflow Index
  • Animation Workflow
  • Animation Editor
  • Content Editor
  • Hierarchy Editor
  • Property Editor
  • Animation and State Engine
  • Templates
  • Template Engine
  • Unreal Integration
  • Notch Integration
Project Structure
  • Project Structure Index
  • Annotations
  • Projects and Scenes
  • Project Properties
  • Project Maintenance
  • Project and Scene Data
  • Scene Management
  • Scene Statistics
  • Scene Tree
  • Performance Statistics
How Tos
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How to Use the Color Difference Keyer
  • How To Use the HDR Engine
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To use the Vertex Integration
  • How To Control and Customize Ventuz
Reference
  • Available Nodes
  • Animation Nodes
  • Material&Color Nodes
  • Data Nodes
  • E2E Nodes
  • Geometry Nodes
  • Interaction Nodes
  • IO Nodes
  • Layers
  • Light Nodes
  • Logic Nodes
  • Render Option Nodes
  • Slides Nodes
  • Sound Nodes
  • Text Nodes
  • Texture Nodes
  • VR Nodes
  • World Nodes
  • Summary Shortcuts
  • Layer Editor Shortcuts
  • Hierarchy Editor Shortcuts
  • Content Editor Shortcuts
  • Animation Editor Shortcuts
  • Director Shortcuts

Ventuz Director

  • Index
  • Introduction
  • Environment
  • Show
  • User Interface
  • Assets
  • Taking Action
  • Property Editor
  • Shot Box
  • Project Data
  • Pages
  • Playlist
  • Timeline
  • Content References
  • Topology
  • Channels
  • Macros
  • Designing Templates
  • Plug-Ins
  • Shortcuts
  • Command Line Options
  • Application Settings
  • Glossary
  • GPI Configuration

Ventuz Runtime & Configuration

  • Runtime Index
  • Configuration Configuration Editor
  • Machine Configuration
  • Video/Audio Configuration
  • Web Configuration Editor and License Manager
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Machine Clustering
  • Supported Hardware
  • Director Mode
  • Runtime How Tos Index
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to Use Head Mounted Displays
  • How to Setup Spout with Ventuz
  • How to Use Newtek NDI
  • How to Use a Mixed Frame Rate Cluster
  • How to Use Tracking

How To

Designer
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How to Use the Color Difference Keyer
  • How To Use the HDR Engine
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
Runtime & Configuration
  • Runtime How Tos Index
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to use Head Mounted Displays
  • How to setup Spout with Ventuz
  • How to use Newtek NDI
  • How to use a Mixed Frame Rate Cluster
  • How to use Tracking
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
Director
  • How To Control Multiple Graphics Independently From Each Other
  • How to use the Companion with Director

Ventuz Node Reference

ANIMATION
  • Mover
  • Alternator
  • Simple Control
  • Timeline Control
  • Anmation Rig
  • Keyframe Animation
  • Animation Group
COLOR/MATERIAL
  • Alpha
  • Fog
  • Ground Fog
  • Sky Box
  • Color to RGBA
  • HSLA to Color
  • RGBA to Color
  • Color Transformer
  • HLSL Shader
  • Color
  • Material
  • Color Picker
  • Substance Material
DATA
  • Database
  • Excel
  • JSON
  • RSS Feed
  • Resource Linker
  • Text File
  • XML
E2E
  • E2E Axis
  • E2E Data
  • E2E Control
  • E2E Layer
  • E2E Provider
  • E2E Node Overview
GEOMETRY
  • Rectangle
  • Rounded Rectangle
  • Gradient Rectangle
  • Overlay Rectangle
  • Cube
  • Circle
  • Sphere
  • Cylinder
  • Cone
  • Torus
  • Chart
  • Random Points
  • Mesh Loader
  • Geometry Import (Live)
  • Volume
  • Get Bounding Box
  • Arrow
  • Particle System
  • Path Renderer
  • Geometry Renderer
INTERACTION
  • Interaction Rect
  • Touch Button
  • Touch Excluder
  • Touch Marker
  • Touch Paint
  • Touch Pattern
  • Touch Proxy
  • Touch Ripples
  • Touch Transformations
  • Web Browser
  • Touch Teleport
  • Touch Simulator
INPUT/OUTPUT (I/O)
  • GPI
  • Joystick
  • Keyboard
  • MIDI
  • Mouse
  • Network
  • Open Sound Control
  • Serial
  • Timecode
  • DMX
  • HTTP
  • RamDiskWriter
LAYER
  • 3D Layers
  • 3D Layer Reference
  • 2D Layers
  • PSD Import Layer
  • E2E Layer
  • Others
LIGHT
  • Light Sources
LOGIC
  • Array Processing
  • Convert To Text
  • Cluster Synchronization
  • Counter
  • Date Time
  • Directory
  • Dispatcher
  • Enumeration
  • Expressions
  • Invert
  • Log
  • Loop Breaker
  • Math Effects
  • Matrix Operations
  • Scene Event
  • Script
  • String Operations
  • System ID
  • Text Splitter
  • Timer
  • Toggle
  • URL
  • Value Switch
  • Value Buffer
  • Variables
  • Visual Indexer
RENDER OPTIONS
  • Alpha Blending
  • Color Write
  • Alpha Testing
  • Clip Plane
  • Filter
  • Mask
  • Mirror
  • Effect
  • Render Cube Map
  • Draw Modes
  • Stencil
  • ZTesting
SOUND
  • Audio Clip
  • Sound
  • Volume Control
  • Audio Analysis
SLIDES
  • Slide Manager
  • Slide
  • Slide Port
  • Pivot
TEXT
  • Text Effects
  • Text Layouts
  • Text Rendering
TEXTURE
  • Background
  • Hatch
  • Image
  • Texture
  • SVG Loader
  • Gradient Texture
  • Live Video
  • Movie Stream
  • Movie Frame
  • Movie Clip
  • Texture Loader
  • Snapshot
  • Snapshot Framebuffer
  • Texture Saver
  • Video Source Selector
  • VIO Input
  • Spout Receiver
  • NDI Receiver
  • Substance Loader
  • QR Code
VR/AR
  • Tracked Devices
  • Draw Tracked Devices
WORLD
  • Axis
  • Billboard
  • GetWorld
  • SetWorld
  • Arrange
  • Ticker
  • Layout
  • Group
  • World Z Sort
  • YesNo
  • Switch
  • Spread
  • Filter Pass
  • Set Pass
  • Hierarchy Container
  • Scene Port
  • Content Container
  • Template Port
  • Container Info
  • Camera
  • Paths

Advanced and Development

  • Advanced and Development Index
  • Command Line Options
  • Ventuz IP Ports
  • Ventuz Machine Service
  • TUIO
  • .NET Scripting
  • HLSL Shader Programming
  • Ventuz API and SDK
  • Ventuz Extension API
  • Ventuz VIO API
  • Ventuz File Format (VFF)
  • Ventuz Stream Out API
  • Lens Calibration File for FreeD
  • E2E Node Overview
  • Unreal Integration
  • Notch Integration
Remoting
  • Remoting Index
  • Remoting Overview
  • How To Control and Customize Ventuz
  • Remoting 4
  • Remoting 4 via Websockets
  • Remoting 4 via HTTP
  • Director Remoting
  • Deprecated Remoting
  • Remoting Machine Signature

Misc

  • Presets
« Previous:
» Index «
Next: »

How To use Bitfocus Companion and Stream Deck

Table of Contents

  1. Introduction
  2. Preparation
  3. Connection
  4. Make use of Presets, Commands and Variables
    1. Available Presets
    2. Control Playlists
    3. Cue
    4. Take Templates / Pages
    5. Custom variable
    6. Random hints and tips
  5. Conclusion

This How To will show you the fundamentals of using the ​Bitfocus Companion to control the Ventuz Director, well at least a Director Show. You can combine the Companion together with the ​Stream Deck from elgato.

Until the Ventuz Director module is available with the official release of bitfocus companion, you can use the beta builds which can be found ​here.

Introduction

We have Integrated the most important controls into a Companion Module. You still can create your own buttons and behaviors within the companion by using the actions we provide and variables you define. The possibilities are endless and we will show you just some basics here.

Preparation

You would need to have the latest Companion installed. Please follow the instructions on ​Bitfocus.io to download and install the Companion. The Ventuz Director Module is already part of the Companion installation, therefore there is no need to download and install anything separately. An elgato Stream Deck is optional, the Companion works without any hardware. This makes it very easy to create and design your own pages and simply copy the layout and settings to another machine, where you probably have the Stream Deck installed.

If you have the Stream Deck installed, please make sure to shut down the "Stream Deck Software/ App" otherwise the Stream Deck App will override the Panel and you wont see the Companion! Or choose the option to use the plugin on your stream deck when first opening the WebGUI

Please make sure to start the Ventuz Director and enable the control via websocket which can be found in Tools->Options:

Connection

First we want to establish a connection between the Companion and Ventuz Director. To do so we have to create a connection in the Companion. Start the Bitfocus Companion App and  click Launch GUI.

In the GUI, which should have opened up in a browser, select and  click the Connections Tab. Inside you can find a tab labeled + Add Connection on the right hand side, with a Search Panel below. Type Ventuz in the search field and it will show the Ventuz Technology Director Module.  click the red Add button in front of the result to create a new connection for the Ventuz Director.

The Module will be listed on the left hand side in the Modules List - it will be labeled ventuz-dir, if you want to change or edit any properties simply  click the red EDIT button. Per default the Target IP is set to 127.0.0.1 / localhost. If you want to control a different machine than your local one, you should set its Target IP now.

 click the small question mark (?) right behind the ventuz-dir label to get a list of available commands to control the Ventuz Director.

Make use of Presets, Commands and Variables

We will make use of the Presets we ship with the Ventuz Director Module and get our hands on Commands- and Variables in the following examples.

As mentioned above you can get a list of available commands by  click the (?) next to the Module Name. These will come in handy if you want to manually create Buttons from within the companion app.

We want to create new Buttons based on our Presets-  click the Tab labeled Buttons to view and edit the Pages of the Stream Deck within the Companion.

Available Presets

The easiest way to make use of the Ventuz Director Module is to use one of the Presets we ship with it.

The Presets are:

Preset description
take This takes Items based on a Channel Index
take recue This takes the actual cued Item and recue's it again based on a Channel Index
cue Cue's an Item based Template Data, URI, Template display name or Page display name - Channel index can be assigned
recue on air Recue the Item which is actually on air
clear Will clear the channel based on Channel Index
take out Takes out the Item based on Channel Index
take out recue Takes out the actual on air Item and recue's it
playlist restart Simply starts at the beginning of the playlist based on Channel Index
playlist activate Activates/Cues an Item based on Index ,Template Data, URI, Template display name or Page display name - Channel index can be assigned
macro execute Execute a custom created macro based on ID or Name
window set layout Activate a custom window layout based on Index or Name

Control Playlists

Lets control the playlist of our Hockey Example for the Director by the ease use of the Ventuz Director Presets. Open the Ventuz Director and start the Hockey Example Show with a local topology:

Keep in mind to Enable control via Websocket - like we had to do in the Preparation. Navigate to the Companion GUI and find the Buttons page. On the right hand side you find a Tab called Presets,  click the Ventuz Technology: Director module presets:

Then  click Director Remoting Commands:

You will be shown a list of available Presets - which already appear and look like buttons. You can simply  Drag&Drop these buttons onto the button page.

So  Drag&Drop the playlist activate onto our page 1 of the companion:

You will note that the button immediately turns red - this is because we can also get feedback from the Ventuz Director. Actually we have 3 predefined Visual Feedbacks/Colors :

Action not possible - can be a missing argument like index, channel, or name
Action is processing - can occur during a cue, while the template is loading
Action can be activated or was successful

In our case, for the playlist activate the companion needs a valid feedback. Since the playlist activate will set an item in our playlist as an active one, we have to define which item should get activate on button press.

Select the recently created playlist activate button and set in the Press actions and Feedback for Index a value of 3.

Now the playlist activate button will turn green since it also gets a correct feedback from the Ventuz Director. You can also use a ID, name or Display name to activate a specific template. The available properties change by the type of the button/preset. For now we also left the Channel Index at the default value 0 - it will now use the playlist for channel 0. By changing this to another value, you activate the template for another channel (Ventuz Channel 1 starts with 0).

Press the recently created and configured button and notice the template number 4 in the actual playlist will be selected and cue'd:

Again keep in mind that the Index starts with 0 therefore Index 3 is actually the fourth Template in our list. To select and cue the very first template, our index would need to be 0

You can do the same with playlist restart and many other actions.

Cue

Cueing can also be done with one of the Ventuz Director Module Presets. Just  Drag&Drop the preset labeled cue into one of the empty button slots. Select this newly added button and change the properties on the right hand side of the Companion.

Ensure you apply the changes you do to both, the Press actions and Feedback.

We can cue a template or page by either using the Template Data, URI, Template display name or Page display name.

Take Templates / Pages

Since we have created a button for playlist activate which activates a specific template, and a cue button, we would like to Take the actual cue'd template.

To do so we simply select another button slot in the companion and  Drag&Drop the take button into the slot. We really dont need that much action values to be set, except the Channel index for which channel the cue'd template should be taken.

Just change the Channel index to be 0. This will take the cued template. It doesnt matter if you use the created playlist activate button or manually cue a template or page, or use any other way.. as long as something has been cue'd in channel 0, you can now use the button to take it.

Custom variable

Lets make use of a custom variable and have the playlist skip two steps whenever you press the according button in the Companion or Stream Deck.

Make sure you have the Buttons tab selected and  click the $ Variables tab on the right hand side:

The Custom Variables tab should show up and just simply create a custom variable called playlistcounter -  click Add and the newly created custom variable should show up in the variables list:

 click an empty button slot and let us create new actions for the selected button by  click the Edit Button tab on the right hand side, and  click Regular Button. You can give this button a description in the Button text field like Skip 2 Templates. Now we add Press actions -  click in the +Add key down/on action and find the internal: Set custom variable expression action. In the Custom variable field we enter playlistcounter and the Expression should read $(internal:custom_playlistcounter)+2.

Add another action, but this time ventuz-dir: Playlist: activate. The Index field should read $(internal:custom_playlistcounter).

We can add an action for the Feedback and add the ventuz-dir: Playlist: can activate. The Index field will read as well $(internal:custom_playlistcounter).

Now you can skip two playlist items, whenever you press our recently created button. By changing the +2 in the Expression field, you would skip for X then.

Random hints and tips

You could paste whole template data into the given Template Data input field, like shown in the screenshot below.

There is an override to ignore the applied channel rules from Ventuz Director. Just use the checkbox and set Ignore Channel rules:

Conclusion

The bitfocus companion can be a very powerful addition for the Ventuz Director to control a show or the Ventuz Director itself. This how to just scratched the surface of whats possible with the combination of the bitfocus companion and the Ventuz Director. Check regularly for updates on the companion side, since the tool is open source and everybody can contribute to it. This will make it possible for you to contribute with your own bunch of presets.

See also:
  • Ventuz Director
  • Ventuz Director Introduction
  • Remoting 4 Protocol
  • ​Bitfocus.io

« Previous:
» Index «
Next: »
Copyright 2022 Ventuz Technology