» Patching Concepts
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Patching Concepts


Patching pages

This is an overview of the most common vvvv patching concepts.

If you are familiar with textual programming, check the Programming Concepts.

If you're missing a specific concept you can always implement a little plugin using the built-in VL or c# editors.


Going through a list of items

If you want to go over a list of items and do something to them, you don't need a loop.

vvvv allows you to calculate all desired iterations at the same time using spreads and spectral operations.


Accessing previous calculations

If you need to calculate values according to calculations already done in the past (like in an animation where the new position is based on the old one), you need to access these 'old' results from the last frame.

It's like accessing local variables.


If / else

Switching between different inputs or defining whether to do this or that is almost always a part of a patch.

It's like working with If, Switch, Case...


Logical operations

If your patch has to do something IF this OR that is true AND the value is LESS than 42 you need logical operations.

When patching anything advanced that can be separated into a series of states and events that cause transition from one state to another you are likely looking for Automata (Animation).

It's like all these &&, ||, !=, ...



IOBoxes can be used as constants that are setting values (Colors, Strings...) for Inputs of nodes and subpatches.


Named IOBoxes are used to create Inputs and Outputs for subpatches.

It's like input and output parameters of functions.


Send / Receive

Values can be sent from one part of a patch to another (or between patches) using the S (=send) and R (=receive) nodes without making any direct links.

The most common use case for S/R nodes is to deliver global constants to different parts of a project.

These are like global variables.



Need to make a calculation over many items at the same time or instantly place and animate multiple objects on stage? This is where spreads shine.

It's like working with Arrays, Lists, ...



Instead of duplicating a set of connected nodes you can use subpatches to modularize and structure your patch.

You can then use many instances of the same subpatch in different parts of your patch. Modifying the subpatch automatically applies the changes to all its instances.

It's like functions that take Inputs and return Outputs.


Storing Values

If you need to store several values to pick them later, there are several nodes specially for that.

It's like working with Buffer, Stack or Queue.


anonymous user login


~2d ago

joreg: siggraph asia 2017 technical papers trailer: https://www.youtube.com/watch?v=3OGKh_9Rj_8

~3d ago

drupal_admin: we're back

~3d ago

drupal_admin: hello. maintenance reboot at 2:06am. save your work! should be back in a few minutes

~5d ago

tekcor: Following the steps of the current vvvv chat, we put up a vvvv.js dev support. https://riot.im/app/#/room/#vvvv.js:matrix.org

~7d ago

tekcor: more advanced stuff in vvvv.js can be seen here https://tekcor.github.io/vvvv.js-examples/

~7d ago

~7d ago

udo2013: excuse me! it works. not with my midi-interface but with LoopBe1. vvvv scould develop an audio-timeline. ;-) u