Navigation

Ventuz 6 Quick Guide

  • Introduction
  • Getting Started
  • Ventuz Editions
  • Designer Overview
  • Ventuz System Requirements
  • Configuration
  • Video/Audio Configuration
  • Machine Configuration
  • GPI Configuration for Runtime or Director
  • Optimize Rendering Performance
  • Supported Formats
  • Supported Hardware
  • Multisampling / Anti-Aliasing
  • Input Subsystem
  • Ventuz Proprietary Files
  • What's new
  • FAQ
  • Common Mistakes
  • Deployment
  • Migration Guide
  • Ventuz 5 Migration Guide
  • Summary Shortcuts

Ventuz 6 Designer

  • Index
  • Getting Started
  • Designer Options
  • Designer Overview
Projects & Scenes
  • Projects and Scenes
  • Project Browser
  • Project Properties
  • Project Maintenance
  • Project and Scene Data
  • Scene Tree
  • Scene Management
  • Scene Statistics
  • Deployment
Interface
  • Designer Interface
  • Renderer Window
  • Realtime Rendering
  • Optimize Scene Performance
  • Performance Statistics
  • Transformation Gizmo
  • Render to Disk
  • Camera Navigation
  • Isolated Objects
  • Manipulate Objects with Gizmos
  • Layer Editor
  • Common Layer Properties
  • IPP Effects
  • Color Correction FX
  • Distortion FX
  • Filter FX
  • Layer Editor Shortcuts
  • Hierarchy Editor
  • Working with Nodes
  • Containers
  • Find and Replace
  • Shortcuts Hierarchy Editor
  • Content Editor
  • Working with Nodes
  • Containers
  • Content Editor Shortcuts
  • Toolbox
  • Property Editor
  • Project Data and Scene Data
  • Property Groups
  • Shader Editor
  • Text Editor
  • Scene Tree
  • Message View
  • Stage Editor
  • Container Outline
  • Watches Editor
  • Animation Editor
  • Animation and State Engine
  • Templates
  • Template Engine
  • Shortcuts Animation Editor
  • Text Rendering
  • Text Editor
  • Character Sets
  • Geometry Import
  • Input Subsystem
  • Multitouch
  • TUIO Protocol
  • Open Sound Control
  • How to work with Head Mounted Displays
  • Cluster
  • Multi Display Setups and Shaping
  • Warping, Soft Edging and Masking
  • Available Nodes
  • Animation Nodes
  • Material&Color Nodes
  • Data 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

Ventuz 6 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
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
LAYER
  • 3D Layers
  • 3D Layer Reference
  • 2D Layers
  • PSD Import 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
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

Ventuz 6 Configuration Editor

  • Configuration
  • Machine Configuration
  • Video/Audio Configuration
  • Web Configuration Editor and License Manager
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Supported Hardware
  • How to Setup a Cluster Render

Ventuz 6 Director

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

How To

  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop workflow
  • How to use Head Mounted Displays
  • How to work with Shadows
  • How to use Emoijs
  • How to Build a Template
  • How to use Newtek NDI
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to Setup a Cluster Render
  • How to use a Mixed Frame Rate Cluster
  • How to use Tracking
  • 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 setup Spout with Ventuz
  • How to use the Substance Integration

Keyboard Shortcuts

  • Summary Shortcuts
  • Layer Editor Shortcuts
  • Hierarchy Editor Shortcuts
  • Content Editor Shortcuts
  • Animation Editor Shortcuts
  • Director Shortcuts

Advanced and Development

  • Command Line Options
  • Remoting Overview
  • Remoting 4
  • Remoting 4 via Websockets
  • Deprecated Remoting
  • Ventuz IP Ports
  • Ventuz Machine Service
  • Remoting Machine Signature
  • TUIO
  • .NET Scripting
  • HLSL Shader Programming
  • Ventuz API and SDK
  • Ventuz VIO API
  • Ventuz File Format (VFF)
  • Ventuz Stream Out API

General Reference

  • Terminology
  • Manual Index

Miscellaneous

  • Presets
« Previous Article
» Index «
Next Article »

How to Remote Control a Ventuz Scene with an iPhone

Table of Contents

  1. Introduction
  2. Open Sound Control
    1. OSCemote App
  3. Network
  4. Ventuz Scene
  5. Conclusion

This How To will show you how to use an Apple iOS device such as an iPhone, iPad or iPod Touch as a custom remote control for a Ventuz scene.

Introduction

With large public installations in particular, often the situation arises that two channels of communication are required. For one, the audience views the scene on the main output device (for example a wall of LCD displays) and may or may not have a form of interacting with the scene (let's say a joystick). The other channel is that of the operator running the show. This can be as simple as a panic button that resets the scene in case of problems or as sophisticated as an additional input device that allows the operator to influence the experience the audience has.

While there are many ways to remote control Ventuz (see OSC, Remoting, ...), a particular simple and elegant one is to use a small, unobtrusive touch device such as an iPod Touch. The following will show you how to create a simple scene switcher using OSC.

Open Sound Control

Open Sound Control is an network protocol that has originally been designed as a replacement for the antiquated MIDI protocol which is still the standard for communication between music devices. Due to its simple and extensive nature, OSC has been used in various contexts to establish a simple communication between different pieces of hardware and/or software.

OSC uses so called OSC messages to send commands over the network. Each message contains an OSC address, a textual representation that specifies the name of the command, as well as a list of parameter values. Which message names a device or application uses is usually stated in the specification or documentation of that device or piece of software.

OSC does not contain any form of authentication. Keep in mind that anyone connected to the same wireless network could potentially send OSC messages to your Ventuz machine and use the same control mechanisms as you.

OSCemote App

One (of many) OSC applications for iOS devices is OSCemote, available in the Apple AppStore. We are not specifically recommending it, but it will do as a good example. This How To will use OSCemote to show you how to trigger events in Ventuz but based on the specific requirements, a different App such as TouchOSC or ControlOSC, or any other, might be more suitable for you.

OSCemote is split into multiple views of which we will use the 5x3 grid of buttons. As can be found in the developer documentation, the first button sends the following OSC message if it is pressed:

/button/A1 1

We'll add an OSC Input Node to our scene so that a Ventuz event is fired whenever that button is pressed.

Network

First, make sure that both the Ventuz machine and the iOS device are connected to the same wireless network. Start the CMD program on the Ventuz machine and type ipconfig to get the current IP-address of that machine in the network. In OSCemote, go to More/Settings and enter that IP-address.

Set the port to some number that is currently not used (don't use 3333 as that is usually used by TUIO). Also make sure that the port is not blocked by any firewall. Often using a high port number such as 19500 will decrease the chances of a potential conflict, though not eliminate them completely.

Ventuz Scene

In Ventuz, create a new scene. Add a Layer Switch and add a Scene Layer to each output of the Switch. Set each Scene Port to a different scene you want to show. This will be the Ventuz functionality we want to remote control.

To iterate through the different cases, add a Counter Node, set its End Input Property to the number of the last Switch Output and activate the Loop Property. Bind the Switch's Case Property to the Value output property of the Counter. Try clicking on the plus next to the Counter's Forward Input Property to verify that the switcher is working correctly.

To "connect" the forward method to the OSCemote button, add an OSC Input Node to the scene. Change its port to the port set in OSCemote and set the Address property to /button/A1. Hit Edit Custom Model and add a new int output named buttonstate. Make sure to activate Monitor Values in the Property Editor and see the Message event flash red whenever the button is pressed.

We could now bind the Counter's Forward property to the OSC Input Node's message event but that event is also triggered when the button is released. Instead, add an Event Node and bind it's Shot property to the OSC Input Node's buttonstate output. The Event node will automatically reinterpret the int value such that the event fires whenever the input value changes to non-zero.

Pressing the touch button in OSCemote will now make the Switch go to its next case, rendering the respective scene.

Conclusion

This concludes this How To and we leave it up to the reader to check out the OSC documentation and integrate other controls like sliders and of course come up with interesting things to remote control in a scene.

See also:
  • Open Sound Control (OSC)
  • OSC Nodes

« Previous Article
» Index «
Next Article »
Copyright 2020 Ventuz Technology