» VL Progress Report /3
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

VL Progress Report /3

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
  • 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:

Diving into VL

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:

joreg, Thursday, Nov 17th 2016 Digg | Tweet | Delicious 10 comments  
guest 18/11/2016 - 00:10

Will recursion be included in Beta35, or a later version?

tonfilm 18/11/2016 - 03:12

a later version :)

adel 18/11/2016 - 13:26

how about some pattern matching? is it possible, or not even correct to ask for it in the first place?

gregsn 20/11/2016 - 03: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.

sebl 20/11/2016 - 14:02

When reading such instructions, i remember the g'old F1 helppatchsystem of vvvv. would be super if that would work similar in VL

tonfilm 21/11/2016 - 19: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.

featherfurl 22/11/2016 - 01:01

Loading a relevant girlpower for nodes without specific help patches when you press f1 would be a pretty useful feature.

guest 24/11/2016 - 03:20

Control+Shift(Alt)+L only works for horizontal selections?

joreg 24/11/2016 - 03:49

@guest: should work for both horizontal and vertical. but beware: no pads, groups or IOs yet. only nodes!

guest 24/11/2016 - 04:10

Got it!

  • 1

anonymous user login


~7d ago

blausand: Ill be in #Warszawa next weekend. Any #vvvv people around to meet?

~8d ago

sebescudie: Last call, c'est ce soir : webinaire en français pour débutants sur #vvvv gamma! https://thenodeinstitute.org/event/introduction-au-creative-coding-avec-vvvv-gamma-francais/

~9d ago

domj: Ultra high definition volumetric visualization using GPUDirect storage https://youtu.be/GAZP1NcdWMo

~12d ago

CeeYaa: thx for V4-Meetup - some days ago 40th_RetuneStudioVisit from old friends RefikAnadol and Quadrature https://vimeo.com/429510091

~14d ago

david: 4. worldwide vvvv meetup will be here...https://www.youtube.com/watch?v=i0zd68tDUVE

~16d ago

mediadog: @metrowave Magnetic repulsion has always been pure magic to me, proof we only sense a small part of the universe - thanks!

~19d ago

guest: @graphicuserinterface cool project!combined with osc learn & setio plugin (exposed iobox) achieving some fake OscQuery setup

~19d ago

joreg: Letzter Aufruf für das heutige Webinar: creativecoding mit der visuellen Programmiersprache #vvvv gamma https://thenodeinstitute.org/event/einfuhrung-in-creative-coding-mit-vvvv-gamma/