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

Patching Concepts

French

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.

Loops

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.

See:

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.

See:

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...

See:

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 &&, ||, !=, ...

See:

Constants

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

See:

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

It's like input and output parameters of functions.

See:

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.

See:

Spreads

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, ...

See:

SubPatches

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.

See:

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.

See:

anonymous user login

Shoutbox

~11h ago

auralscapes: By the way, if anyone would like to use any of my tracks or even parts thereof you are welcome. No fee. jerome@auralscapes.com

~11h ago

auralscapes: Thx for the advice. Much appreciated.

~14h ago

tonfilm: @auralscapes you can contact the author @dottore and ask him for the conditions.

~18h ago

auralscapes: A question for the group. I came across an application called Partitura. Is this app commercially available?

~1d ago

auralscapes: Don't have a clue how this all works but it is going to be an interesting journey indeed.

~4d ago

tonfilm: @all #vl now also has pin groups! vl-input-and-output-pin-groups #vvvv #creativecoding #visualprogramming #dotnet

~5d ago

evvvvil: Hey, broski, check my shader "The gamma ray feast" it goes bang and is commented with bad to mediocre jokes. https://www.shadertoy.com/view/wssXWl

~7d ago

hrovac: someone at b-seite on saturday?

~8d ago

woei: public player-(dx11.texture) performance and stability upgrade sponsored by https://meso.design/