» vvvv gamma 2019.2 - preview
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

vvvv gamma 2019.2 - preview

Moments later,...

...we're announcing the immediate availability of the vvvv gamma 2019.2 series of previews, finally including one of the more anticipated features in vvvv history: Executable Export.

This means we are now in the final stage of the preview leading up to a proper initial release after the waves introduced by the new features in this series have been smoothed out.

Her majesty... at your service.

What's new compared to the vvvv beta series


  • Trivial installation via an installer
  • The overall performance is much improved
  • Projects can be exported as executables
  • All your work is automatically backuped
  • A help browser: press F1 without any node selected
  • Helppatches opening when pressing F1 with a node selected
  • You have quick access to your recent sketches
  • By default projects are now handled in one file
  • There are central settings per user, overridable per project
  • You can pause and step your patches frame by frame
  • Extensibility: Write plain C# to extend vvvv with custom nodes
  • Simply use almost any .NET library available e.g. on nuget.org
  • Proper scope and dependency handling
  • Structured documentation for your patches. Add summary, remarks, help to elements
  • Being close to C# allows for VL help to be found on msdn/stackoverflow


  • Patches are now zoomable
  • You can use frames to structure your patches visually
  • UI runs in its own thread
  • Tooltips show help and errors
  • IOBoxes allow for much faster configuration
  • You can doubleclick a link to insert a node or finish a link with a doubleclick to create a node
  • Patch your own pingroups
  • The color theme is now customizable and defaults to dark


Besides staying true to its nature of being a an easy to use and quick prototyping environment, vvvv is also a proper programming language with modern features, combining concepts of dataflow and object oriented programming:

  • Define your own datatypes (Classes and Records)
  • Composed Datatypes (Spread of Spread,..)
  • No more binsizes needed!1!!
  • Loops to iterate within one frame
  • Recursive patches
  • Generics
  • Delegates
  • Reactive programming
  • Async data processing (multi-threading)
  • Easy caching of expensive operations

Node Library

While for now the number of libraries we ship is limited, the fact that you can essentially use any .NET libary directly mitigates this problem at least a bit. Besides there is already quite some user contributions available in the wip forum and here is what we ship:

  • A thorough core library for all your basic needs
  • State of the art 2d drawing with VL.Skia
  • Effortless computervision via VL.OpenCV
  • Support for Midi, OSC, ArtNet, Serial,...

Tutorials and HowTos

A growing number of video tutorials is available on youtube.


We've announced the pricing model of vvvv gamma in a separate post. Until further notice, the previews of vvvv gamma are free of charge but due to its preview-nature we don't recommend using it in commercial scenarios yet.


Here you go: vvvv gamma 2019.2 preview 236



236 18 02 20

  • added ShowOrigin setting
  • More type inference fixes
  • Fixed primitive types not having any super types like IComparable (was reported in chat by sebl)
  • Fixed type constraints on higher order region with one single patch not properly generated should the name of the inner patch have changed
  • Fixed "auto connect to signature" of patches like CreateDefault which have a fixed set of pins
  • Fixed output pin groups of type Dictionary<string, obj> not working anymore when pin on application side was annotated
  • Fixed compiler crash when having a generic type annotation in a patch
  • Fixed CLR array types not being mapped to type symbols
  • Removed Spread.Pin/Unpin - same functionality is available through much safer TryGetMemory/Pin -> MemoryHandle.Dispose path
  • Fixed pixel format being swapped from R8G8B8 to B8G8R8A by SKImage.FromImage node
  • Fixed null pointer when trying to navigate into patches of completely broken documents
  • Fixed higher order regions not working when definition added an inner pin
  • Added a few convenience nodes for resource providers useful when opening and polling devices. Even though not yet released they already look promising for devices like Kinect or Astra.
  • Fixed minimal changes on solution made by compiler getting discarded (pin order somtimes not updating on application side)
  • Fixed pin group builder (ModifyPinGroup) changing the model when it shouldn't
  • Fixed repeat loop not working on inputs of type T where T : IReadOnlyList

211 07 02 20

  • Don't use BOM in UTF8Encoding
  • Backend generates new lines on its own without having to rely on super heavy NormalizeWhitespace function. This should get rid of very long compile times when traversing deeper into a library. Debugging the generated C# code with Visual Studio will only work properly when running with -debug and -nocache flags
  • improved type unification cleverness and stability
  • Helpbrowser: chat language buttons added
  • AppExporter "Export" button gives immediate feeedback

0193 31 01 20

  • fixed pin-reordering in signatures as reported here: https://discourse.vvvv.org/t/2019-2-0081-pin-reordering-buggy-behavior/18132
  • Removed private flags between our package dependencies as it caused msbuild to skip copying certain assemblies coming from VL.CoreLib as well as making our packages smaller.
  • Fixed parts of patches being grayed out and when traversing inside becoming all good - compiler was missing one iteration in recursive blobs -https://discourse.vvvv.org/t/lazy-type-inference/18066
  • improved support for helppatches
  • Reworked error handling of CreateDefault and RegisterServices operations
  • Extended the general renaming code path to handle all cases and removed obsolete rename commands
  • The Micorsoft Build Tools 2019 are now optional. If not installed the Export menu entry will be disabled
  • Removed the .vl suffix on generated executable and fixed Run button

0169 22 01 20

0140 09 01 20

  • Fixed ToObservable (Switch Factory) - used by many reactive nodes - not calling the factory after the element type changed due to a hotswap
  • Added HighDPI awareness to App.config for exported apps
  • Fixed stack overflow when patching a CreateDefault - system will now generate an error as long as the output is not connected
  • The default value of a record will again be cached in a static field
  • Fixed serializer serializing auto-generated fields
  • OSCMessage (Split) now returns timetag
  • CTRL+Shift+F now also finds interfaces
  • updated VL.OpenCV to 0.2.133
  • fixed problem with pin-editor for serializable types like Rectangle
  • Splash screen shows up in taskbar and has proper icon
  • Counter Clamp/Wrap/Mirror reset under/overflow correctly
  • NodeBrowser now has a TextBox that can select/copy/paste
  • Fixed regression that bang and press IO boxes would sometimes stick to true

0081 16 12 19

0026 10 12 19

0015 06 12 19

  • Patch drawing is antialiased and icons are showing again
  • Fix for drawing transparent PNGs
  • Fixed regression that delegate regions wouldn't create their pins anymore
  • Emit exception will show first error now as it's message
  • Fixed specialized operations not being marked as unused if there containing type was - seehttps://discourse.vvvv.org/t/gamma-x-2-breaking-not-opening-old-patches/18036

Compared to the 2019.1 series

  • Export to executable
  • Faster startup and less memory consumption due to precompiled libs
  • Recursive operations and datatypes
  • Runtime errors: marked node is now always correct
  • Generated C# code can be debugged using Visual Studio
  • Help patches (where available) open when pressing F1 on a selected node
Breaking Changes

Unfortunately this preview introduces some breaking changes. This means that projects that were working fine with 2019.1 previews may no longer work correctly with 2019.2 previews! If you encounter such a situation and cannot resolve it on your own, please get in touch via forum or chat! Here is a list of possible problems you may encounter:

  • Existing patches may need additional type annotations due to changes in the type unification
  • Execution order of nodes may be different if it wasn't explicitly expressed before
  • Generic type parameters in an interface patch will now always belong to that defined interface (and not any of its operations)
  • Not really breaking, still a change: Runtime errors: no values in tooltips when in pause state

For technical details please see the blog post about the New Roslyn based backend.

We'll update this blogpost with new preview-releases regularly. Please check back often and report your findings in the chat, forum or a comment below!

Yours truely,

joreg, Friday, Jan 31st 2020 Digg | Tweet | Delicious 1 comments  
janvictor 05/12/2019 - 18:22

Yess! Will have an instant look at it.
You guys are the best! Congrats and thanks for all the effort you put into this.

  • 1

anonymous user login


~20h ago

metrowave: Collection of replicable research: http://www.replicabilitystamp.org/

~23h ago

~5d ago

joreg: @ravazquez always trying to diversivvvvy...

~5d ago

ravazquez: I did not know you were making plates as well: http://www.clairewan.com/

~9d ago

evvvvil: "Pounding Aldebaran" raymarching shader live coded on Twitch. https://www.shadertoy.com/view/tt3SWB

~10d ago

joreg: Tomorrow Thrs, Feb 12: #vvvv Patching Circle: We're there to help! https://gettogether.community/events/3965/vvvv-berlin-patching-circle-5/ No excuses, it's free and there are drinks!

~15d ago

evvvvil: "The reaper's gallows" shader live coded on twitch. Abrasive comments back by popular demand. https://www.shadertoy.com/view/ttcSD4

~18d ago