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: »

The Shot Box

Table of Contents

  1. Application-wide
  2. Property Editor
  3. Auto-Templates
  4. Regular Expressions
  5. Special Characters
    1. Named Groups
    2. Examples

A Ventuz Director operator will often find himself in situations where reaction time is crucial. Something unexpected happens and all advance planning suddenly is worth nothing. Now the only important thing is how fast can one get a certain information on screen.

Application-wide

The answer to this is the Shot Box, a quick way to access all available templates, pages and assets. To open it, an operator can press + on the number pad regardless of what he is currently doing. A small text box will appear in the center of the application. Upon typing, the shotbox filters through the show's content and presents the first ten matches that contain the search string in their name. In the image below, the search string "eri" has been entered which yielded three matches:

  • the 01NSPlayerInfo template
  • the 02NSPlayerInfo template
  • The headshot of a player called A.Havering

By using ▲, ▼, one can change the selection and by pressing Enter confirm it. Director will then replace whatever is currently cued and cue the selection instead. So within only a few key strokes, the content is ready to go.

Besides the name, templates and pages can be filtered by keywords, category and author. The following table shows the prefix to be used plus a respective example. There are multiple choices for each. They result in the same query.

Name All items that contains the entered name are shown
no prefix 01NSPlayerInfo
name: name:01NSPlayerInfo
Keyword All items that have a keyword that matches the entered keyword are shown
$ $namesuper
kw: kw:namesuper
key: key:namesuper
keyword: keyword:namesuper
Category All items which category starts with the entered text are shown
# #sports
cat: cat:sports
category: category:sports
Author All items which author starts with the entered text are shown
@ @edward
author: author:edward

By default, the Shot Box is capable of browsing templates, pages and assets such as images. It can be extended via custom plugins.

Property Editor

Another place where the shot box can be used is inside the Property Editor to fill in content. All places where an asset (such as an image) or a sub-template can be inserted are represented by slots (i.e. rectangular boxes).  clicking on such a slot opens up the shot box in filtered mode. The text on the right inside the shot box's text enter field will switch from "All" to the type of content than can be inserted into the slot (e.g. for a sub-template it will only list pages and templates). Otherwise, the behavior of the shot box is exactly the same.

Auto-Templates

A less obvious but tremendously powerful feature of the shot box is the use of auto-templates. The basic idea is simple: If one can already enter a search string inside the shot box, why not use parts of the entered text to pre-fill template data fields? This reduces the need to manually go to the property editor and makes getting content on the screen even faster.

On a technical level, auto-templates are defined by ​Regular Expressions that are matched against the search string. If the regular expression matches, it is shown as another entry in the shot box, marked by the bright orange "(Auto)" label.

If a search string matches auto-templates and normal items, auto-templates are always presented first.

Auto-templates are stored in the Ventuz Project file and are shared among all shows based on a project. To see what auto-templates are available or to create new ones, go to the main menu Show / Project / Auto Templates... which will open the Auto Templates Editor. Let's take a closer look at the PB_Both auto-template that is currently selected in the following screenshot:

The top area of the Auto Templates Dialog shows the thumbnail of the template for which an auto-template is defined, here the PB_Both template. In the middle of the dialog is the regular expression text edit field. The bottom area of the dialog shows assignments of parts of the regular expression to data fields of the template itself.

To add a new template, simply press the add button in the top right corner and select a template, enter a regular expression and optionally connect parts of the regular expression by pressing the lower add button.

Regular Expressions

​Regular Expressions are a very powerful technique to match strings and can handle quite complex cases. However, that expressiveness can unfortunately also make it quite confusing to learn their syntax. The following is a short summary of the most important concepts:

A regular expression defines a pattern of characters that is searched for anywhere in the string the user entered into the shot box. The simplest regular expression is an exact string:

xyz

This would for example match the text This is an xyz test or xyzabc but not xy. The characters in the regular expression have to appear anywhere in the text in precisely that order.

Regular expressions are case sensitive! The expression abc will not match the string ABC.

Special Characters

There are however a number of characters that have a special meaning inside a regular expression. The following are the most important ones:

Character Description Example
. Matches any single character.
* Matches the preceding character any number of times. a*b matches ab but also aaaab.
+ Matches the preceding character at least one time. a+b matches ab and aaaab but not b
( and ) Group Brackets define a group of characters within an expression. For example, a(bc)*d would match abcbcd but not abccd since the * operator will be applied to the group defined within the brackets.
| Option The pipe character is used to express an option. a(bc|de|xy)f would match either abcf or adef or axyf but not abcdef.
[, ] Collection Defines as collection of characters from which exactly one is matched. So a[bcdef]g would match acg but not ahg or abcg. Note that collections allow ranges to be specified (e.g. [a-z]). A collection can be inverted by the ^ character (e.g. [^\d] would match any non-digit character).
^ The start of the text. ^xyz would match xyzabc but not axyzbc.
$ The end of the text. xyz$ would match abcxyz but not abxyzc.
\s A whitespace character
\d A digit Matches 0-9, so \d-\d would match 2-9 but not 29 or 2-9.
\(, \), \[, \], \*, \+, \?, and more Syntax characters There are various characters that have a special meaning inside a regular expression. To match the literal character, such a character has to be escaped by a preceding backslash.
\\ A backslash Since the backslash is used to escape other characters, matching an actual backslash in the text requires \\

If a regular expression does not work as expected, it is often due to insufficient escaping of brackets or other syntax characters.

Named Groups

As we have seen above, opening and closing brackets can be used to group a set of characters. Such a group can be assigned a name by using the

(?<nameofgroup>pattern)

syntax. Naming of groups is important as it allows us to connect parts of the match string with template data fields. So let's revisit the example from the screenshot above:

^pbb\s*(?<code1>\d\d\d),\s*(?<code2>\d\d\d)$
  • The ^ and $ mean that this expression has to match the complete string that is entered into the shot box, from start to end.
  • pbb: are just three characters, so whatever the user enters it has to start with pbb or the auto-template will not match.
  • \s*: After the characters pbb there can be any amount of white-space characters, even zero.
  • (?<code1>\d\d\d): This now is a group named code1. It matches exactly three digits.
  • ,\s*: After the three numbers, a comma must follow plus - optionally - an arbitrary number of white-space characters.
  • (?<code2>\d\d\d): A second named group matching exactly three digits.

So the regular expression would match

pbb 102, 304

but

pbb 1 3

would fail (no comma between the two numbers and the numbers don't have three digits each).

Examples

Pattern Description
abc Matches a string that contains the characters abc anywhere in the string.
^abc$ Matches only exactly the string abc.
^pbl\s*(?<code>\d\d\d)$ Matches a string that starts with pbl and is followed by a three digit number. Optionally the characters and the digits are separated by white-space characters. The value of the three digits is available as the named group code.
^ns\s*(?<text1>[^\d][\w\s]*)$ Matches a string that starts with ns and is then followed by a string that contains only letters, numbers and white-spaces and does not start with a digit.

See also:
  • ​Regular Expressions
  • ​MSDN: Regular Expression Language - Quick Reference

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