VL Progress Report /3

November 17, 2016 posted by: joreg

previously on VL: VL Progress Report /2

here we go,


just like that. with the previously mentioned unification of Record, Class and Process into one more easy to understand Patch we have now added the last big feature to alpha-builds that we were working towards. so finally the question “how to create a new patch in vl” can (again) be answered by: CTRL+P to create a patch and open it or CTRL+SHIFT+P to create a node of a new patch at the cursor. easy.

also the explorer (the listings in the topleft of the patch) are now hidden by default because our theory is that it will ony be useful for more advanced usecases and shall not distract the casual user. you can open the explorer by clicking the little quad in the corner and from there change from Patch to Record or Class to make the patch available as a datatype. so much just as a quick info. more explanations to come in tutorials and documentation updates.

Easy switching between Patch, Record and Class

here is a rough log of other recent changes that you can now test in latest alphas:

  • to create a patch for grouping some utility operations together now create a Group
  • Cons: the Cons node now finally has a dynamic pin count. use CTRL +/- on the selected node to increase/decrease the number of inputs
  • Concat: similar to Cons, but for concatenating multiple spreads to one spread

Ctrl + and Ctrl -

  • adding/removing pins now also works on multiple selected nodes
  • Evenly distribute a selection of nodes using two different approaches



  • IOBoxes created via middleclick and pins created via doubleclick now can instantly have their label edited
  • there is now a simple IOBox for colors

Color IOBox via middleclick with instant label editing

  • the inspektor of an input or IOBox now updates when changing a type annotation
  • changes in inspektor are now part of undo history
  • rightclick on link: if already selected then delete else open context menu
  • usability of the NodeBrowser is improved
  • preliminary support for tags in nodebrowser: they are not visible but they already influence the search results. e.g. type / to find both / and DIV (the integer division)
  • links now only show tooltips if there is an error or warning. force tooltip by pressing CTRL when hovering link
  • clicking a .vl file anywhere in the menu now opens its document patch
  • finish a link on an input pin with middleclick to start another link from the same output
  • improved pin picking sensitivity
  • changing pin-order in signature now applies to pins on respective nodes
  • splicer and accumulator bars are now reversed in loops
  • accumulators in loops are now rendered as diamonds
  • patches with the same name and category in a document will now be recognized as duplicates and report an error. same for pins in operations.
  • middleclick alternative (ALT + LeftClick) now works on patch labels to open the patch


  • the following pages where updated in the gray book ** Libraries ** The VL.CoreLib ** Library Design Guidlines (still rather word-like) ** Mouse & Keyboard shortcuts for patching
  • regarding the gray book please also notice three new features gitbook implemented: ** in the top-left corner of the book there is now a search-field that seems to work pretty good ** there is a discussion board for the book ** you can comment on any paragraph in the book using the little + button that appears on the right when hovering a line. lets see how that goes..

Next Steps

Bughunt and preparing for the beta35 release in parallel to continued library development for VL. Means, now is a good time to report bugs!

If you want to get started with VL right now, here is what you do:

If you want to let us know that you like anything you just read…we’re always up for a comment or even a flattr: /downloads|vvvv


Comments are no longer accepted for this post.

17.11.2016 - 23:10
Will recursion be included in Beta35, or a later version?
18.11.2016 - 02:12
a later version :)
18.11.2016 - 12:26
how about some pattern matching? is it possible, or not even correct to ask for it in the first place?
20.11.2016 - 02:19

hey adel, it’s a valid question and even a pretty good one! Currently, sorrily, we don’t even have a switch over the cases of an enumeration. So there’s quite some work ahead in regards of pattern matching.

However, what we do have is type matching - not really built in as a language feature but still: see the TypeSwitches.

Here is how to work with them:

  • create a TypeSwitch as a region
  • feed some object to the Input pin
  • expect some data type inside the region. This is the easiest part. Just connect anything inside the region to the “Arg” pin. This will tell the system what type of data you expect.
  • When the the provided data is of the type that you need, you’ll get called back and you may do some calculations and feed data to the output. Otherwise the default gets piped to the output.

So, in a way this is pattern matching for sub types.

There are different version of the TypeSwitch to check for different data types.

20.11.2016 - 13:02
When reading such instructions, i remember the g’old F1 helppatchsystem of vvvv. would be super if that would work similar in VL
21.11.2016 - 18:13

@sebl sure, that will come at some point and rather sooner than later. exploring VL by help patches is of course a nice way to learn it.

but there is another point to consider, the amount of nodes in VL will very quickly exceed the amount of vvvv nodes. providing a help patch for every node will become a monster task, so i guess we will see more ‘girlpower’ style patches that explain how to work with a set of nodes rather than help patches for every single node.

22.11.2016 - 00:01
Loading a relevant girlpower for nodes without specific help patches when you press f1 would be a pretty useful feature.
24.11.2016 - 02:20
Control+Shift(Alt)+L only works for horizontal selections?
24.11.2016 - 02:49
@guest: should work for both horizontal and vertical. but beware: no pads, groups or IOs yet. only nodes!
24.11.2016 - 03:10
Got it!



vvvv - Dießl & Gregor GbR
Oranienstrasse 10
10997 Berlin/Germany
VAT: DE275566955


Follow us


Sign up for our Newsletter

Your subscription could not be saved. Please try again.
Your subscription has been successful.