Vuo
Vuo
Table of Contents
Getting started
Quick start
Creating a new composition
Running the composition
Adding a node
Connecting nodes with cables
Editing an input port value
Adding another node
Summary
Tracing through a composition
Port popovers
Information flow
Step 1: Fire on Display Refresh to Make Noise Image
Step 2: Make Noise Image to Make Stained Glass Image
Step 3: Make Stained Glass Image to Render Image to Window
Summary
Learning Vuo
User manual
Tutorials
Example compositions
Community support
Node documentation
SDK documentation
Vuo in other applications
Installing Vuo
Activating Vuo Pro
Changing language settings
The basics
A composition is what you create with Vuo
Nodes are your building blocks
Events are what cause nodes to execute
Trigger ports fire events and sometimes data
Events and data travel through cables
Events and data enter and exit a node through ports
Events and data enter and exit a composition through published ports
How events and data travel through a composition
Where events come from
How events travel through a node
Input ports
Event walls and doors
Port actions
Output ports
Trigger ports
How events travel through a composition
The rules of events
Straight lines
Splits and joins
Multiple triggers
Feedback loops
Summary
How data travels through a composition
Ignoring data
Data flow without an event
Solving problems with event flow
“
Infinite feedback loop
”
error
“
Deadlocked feedback loop
”
error
Buildup of events
How compositions process data
Data types
Basic data types
Type-converter nodes
List data types
Dictionary data types
Ports with changeable data types
Generic data types
Changing the data type
Groups of ports that share the same data type
Inputting data
Editing data in a node’s input port
Editing data in a published input port
Inputting lists
Inputting dictionaries
How nodes can be used as building blocks
Finding out what nodes are available
Learning how to use a node
Pro nodes
Deprecated nodes
The built-in nodes
Graphics/video
Vuo Coordinates
Sound/audio
User input devices
Music and stage equipment
Applications
Sensors, LEDs, and motors
Displays
Files
Internet
Adding nodes to the canvas by dropping files
Creating a node
Installing a node
Installing a node the quick way
Making a node available to all compositions
Making a node available to one or a few compositions
Uninstalling a node
Using subcompositions inside of other compositions
Making a subcomposition available to other compositions
Reasons to use subcompositions
Creating a subcomposition
Naming a subcomposition
Editing a subcomposition
Watching events and data inside a subcomposition
How events travel through a subcomposition
Events into a subcomposition
Events out of a subcomposition
Constant input port values
Making compositions fit a mold with protocols
Image Filter protocol
Published input ports
Published output ports
Image Generator protocol
Published input ports
Published output ports
Image Transition protocol
Published input ports
Published output ports
Time
Quality
Creating a protocol composition
Editing a protocol composition
Running a protocol composition
How events travel through a protocol composition
Exporting compositions
Exporting an image
Exporting a movie
Recording the graphics in a window
Exporting a movie from an Image Generator composition
Exporting a screen saver
Sharing screen savers
Exporting an FxPlug plugin
Video effects
Transitions
Generators
Category and name
Parameters
Image scaling
Sharing plugins
Uninstalling plugins
Maintaining compatibility between plugin versions
Exporting an FFGL plugin
Sources
Effects
Blend modes
Name
Parameters
Sharing plugins
Uninstalling plugins
Exporting an application
Turning graphics shaders into nodes
Creating an ISF node
Editing an ISF node
Saving an ISF node
How ISF source code translates to a Vuo node
Node metadata
When editing in a text editor
When editing within Vuo
Ports
When editing in a text editor
When editing within Vuo
Data types
Output image size and color depth
Coordinates
Examples
Supported ISF features
Functions
Uniforms
Unsupported
The Vuo editor
The Node Library
Docking and visibility
Node names and node display
Node Documentation Panel
Searching for nodes
Working on the canvas
Putting a node on the canvas
Drawing cables to create a composition
Adding a comment
Copying and pasting nodes, cables, and comments
Deleting nodes, cables, and comments
Rearranging nodes, cables, and comments
Replacing nodes
Editing node settings
Editing port values and settings
Finding nodes on the canvas
Viewing a composition
Publishing ports
Using a protocol for published ports
Running a composition
Starting and stopping a composition
Firing an event manually
Editing composition information
Working with subcompositions
Installing a subcomposition
Editing a subcomposition
Uninstalling a subcomposition
Changing the editor’s appearance
Dark mode
Transparency
Grid points and lines
Toolbar labels
Keyboard Shortcuts
Working with composition files
Controlling the composition canvas
Creating and editing compositions
Creating and editing shaders
Running compositions (when the Vuo editor is active)
Running compositions (when the composition is active)
Application shortcuts
The command-line tools
Installing the Vuo SDK
Getting help
Building a composition on the command line
Running a composition on the command line
Exporting a composition on the command line
Printing the composition source code
Common patterns -
“
How do I…
”
Do something in response to user input
Do something after something else is done
Do something if one or more conditions are met
Do something if an event is blocked
Do something if data has changed
Do something after an amount of time has elapsed
Do something repeatedly over time
Do something to each item in a list
Create a list of things
Maintain a list of things
Gradually change from one number/point to another
Set up a port’s data when the composition starts
Send the same data to multiple input ports
Merge data/events from multiple triggers
Route data/events through the composition
Reuse the output of a node without re-executing the node
Run slow parts of the composition in the background
Troubleshooting
Tools for troubleshooting compositions
Watch events with Show Events mode
Watch data and events with port popovers
Watch data and events with
Display Console Window
Check for errors in the Console
Check your assumptions by reading node descriptions
Common problems
My composition isn’t working and I don’t know why
Some nodes aren’t executing
Some nodes are executing when I don’t want them to
Some nodes are outputting the wrong data
The composition’s output is slow or jerky
Vuo slows down when my computer heats up
Various compositions won’t run
General tips
Contributors
Software and resources
Glossary
cable
composition
Composition-Local Library
Console
constant value
coordinate system
data
data type
data-and-event cable
deadlocked feedback loop
deprecated
dictionary
downstream
drawer
drop events
enqueue events
event
event door
event throttling
event wall
event-only cable
execute
feedback loop
fire
generic data type
Image Filter
Image Generator
Image Transition
infinite feedback loop
input editor
input port
list
node
node class name
node description
Node Documentation Panel
Node Library
node title
output port
port action
port popover
Pro node
protocol
published port
Scale Factor
Show Events mode
subcomposition
System Library folder
trigger port
type-converter node
upstream
User Library folder
Vuo Coordinates
yank zone