» 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


~14h ago

joreg: final part of "vl for vvvv users" series of video tutorials is now up: https://discourse.vvvv.org/t/vl-for-vvvv-users-spread-of-spread-5-5/16028 #vvvv #vl

~2d ago

joreg: another one for the weekend: part 4/5 of: vvvv for vl users. all about loops: https://discourse.vvvv.org/t/vl-for-vvvv-users-spreads-vs-spreading-pt-2-4-5/16027 #vvvv #vl

~3d ago

joreg: one for the weekend: rc3 for beta36 is out: beta36-release-candidate #vvvv #vl

~3d ago

fibo: Wine v3 has Direct11 support https://www.winehq.org/news/2018011801

~3d ago

Lorenz: If anybody wants to see some interactivvvve Tap Dance in Düsseldorf this weekend: www.xenorama.com/resonance

~5d ago

joreg: sorry for the long delay, we're back to serious with a new release candidate: beta36-release-candidate #vvvv #vl