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 »

Configure GPI for Director, Runtime and Designer

Table of Contents

  1. Supported GPI Boards
  2. General Configuration
    1. Ventuz Runtime and Designer
    2. Ventuz Director
    3. Sample Config Files
      1. DLP Design IO8
      2. Numato 16 Channel USB GPIO
  3. Exclusive GPI vs Shared GPI
  4. Shared GPI Configuration
    1. Configure GPI_Service
    2. Adjust Director and Runtime/Designer configuration

Supported GPI Boards

At the time of writing Ventuz supports the ​DLP Design IO8 and the ​Numato 16 Channel USB GPIO boards.

Ventuz only supports General Purpose Inputs even though the hardware is able to support both Inputs and Outputs.

General Configuration

Ventuz Runtime and Designer

To use a GPI with Ventuz Designer or Runtime you will need to create a configuration file that provides Ventuz with information on which GPIO Board and which pins are used. To do so copy one of the above sample XML files to this location: [Public Documents]\Ventuz6\Configuration\GpioConfig\gpio.xml

Adjust the COM Port and the number of pins used if needed.

Ventuz Director

To use a GPI with Ventuz Director you will need to create a configuration file that provides Ventuz with information on which GPIO Board and which pins are used. To do so copy one of the above sample XML files to this location: [Public Documents]\Ventuz6\Configuration\GpioConfig\gpio.director.xml

Sample Config Files

DLP Design IO8

<GPIO>
  <Devices>
    <Device>
      <LogLevel>Info</LogLevel>
      <Class>Ventuz.Kernel.GPIO.DLPDesign_DLP_IO8, Ventuz.Kernel.Shared</Class>
      <Port>COM4</Port>
      <Channels>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput Inverted</ChannelType>
      </Channels>
    </Device>
  </Devices>
</GPIO>

Numato 16 Channel USB GPIO

<GPIO>
  <Devices>
    <Device>
	  <LogLevel>Info</LogLevel>
      <Class>Ventuz.Kernel.GPIO.NumatoLab_USB_GPIO16, Ventuz.Kernel.Shared</Class>
      <Port>COM5</Port>
      <Channels>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput</ChannelType>
        <ChannelType>DigitalInput Inverted</ChannelType>
      </Channels>
    </Device>
  </Devices>
</GPIO>

Pins can also be inverted, simply add " Inverted" to the desired Channel.

Adjust the COM Port and the number of pins used if needed.

Exclusive GPI vs Shared GPI

If you want to use a GPI board only in one application of the Ventuz Software Suite, we speak of Exclusive GPI. It means you can use the GPI device either in Ventuz Director or in Ventuz Runtime/Designer. However, there can be the case you want to have both to control logic from within a Ventuz Scene on the one hand and to trigger commands in Ventuz Director on the other hand. In this case we are talking about Shared GPI and the commucation with the hardware is not done by the Application but through the Ventuz Machine Service. In addition to the handling of simultaneous access, we also benefit from the fact that the GPI board does not have to be physically installed into the machine in which it is actually used, because the communication is done via websocket handled by the Ventuz Machine Service.

Shared GPI Configuration

To use Shared GPI we need to configure two different things: the GPI_Service hosted by the Ventuz Machine Service and the Application related configuration as descibed in the General Configuration section.

Configure GPI_Service

As mentioned above, the Ventuz Machine Service is hosting the GPI_Service. To configure it simply open a browser and navigate to the following url.

http://localhost:20404/Persistence_Service/1.0/keys/SharedGPIO.Config/action/set

You will get a small configuration window that allows you to paste a configuration json in there and apply it by pressing Set Value.

The configuration allows you to add one or more Devices with the following attributes (name/value pairs).

  • Class: Namespace of the implementation, simply copy it from the sample based on the board you want to use.
  • Port: COM Port assigned by windows
  • Channels: Number of DigitalInput or AnalogInput Pins you want to use.

Ventuz only supports General Purpose Inputs even though the hardware is able to support both Inputs and Outputs.

Sample GPI_Service config

{
	"Devices" : [
		{
		"Class" : "Ventuz.Kernel.GPIO.DLPDesign_DLP_IO8, Ventuz.Kernel.Shared",
		"Port" : "COM1",
		"Channels" : ["DigitalInput, Inverted","DigitalInput"]
		},
		{
		"Class" : "Ventuz.Kernel.GPIO.NumatoLab_USB_GPIO16, Ventuz.Kernel.Shared",
		"Port" : "COM2",
		"Channels" : ["DigitalInput","DigitalInput"]
		}
	]
}

Pins can also be inverted, simply add ", Inverted" to the desired Channel.

Adjust Director and Runtime/Designer configuration

Second we need to make sure the configuration file for Ventuz Designer and Director are located in the correct folder as descibed in the General Configuration section. In those files we need to adjust the

  • Class: Ventuz.Kernel.GPIO.VMSSharedGPIO, Ventuz.Kernel.Shared
  • Port: http://localhost:20404/GPIO_Service/1.0/statews1, the websocket adress of the GPI Service hosted by the Ventuz Machine Service.
    <GPIO>
      <Devices>
        <Device>
          <Class>Ventuz.Kernel.GPIO.VMSSharedGPIO, Ventuz.Kernel.Shared</Class>
          <Port>http://localhost:20404/GPIO_Service/1.0/statews1</Port>
          <Channels>
            <ChannelType>DigitalInput</ChannelType>
            <ChannelType>DigitalInput</ChannelType>
            <ChannelType>DigitalInput Inverted</ChannelType>
          </Channels>
        </Device>
      </Devices>
    </GPIO>
    
« Previous Article
» Index «
Next Article »
Copyright 2020 Ventuz Technology