Clock Patterns
VVVV.js v0.3.0 MicropageYou know what time it is? Exactly: subpatch time. The introduction of subpatches in this new version of VVVV.js is only one in a row of improvements under VVVV.js' hood. — improvements in performance, stability and functionality which bring VVVV.js a step closer to becoming a ready-for-production development tool. Here's what's new:
Subpatches
The biggest addition in this version is the support for subpatches. If you are into VVVV or similar software, you already know how valuable these are. For those who are not familiar with the subpatch concept: you can now group together a patch and form a 'subpatch', which you can nest as a node into another patch. You can think of it as functions or classes/modules, if you like. This is great for modularizing your patches, hiding complexity (aka mess) and increasing reusability of your code. Read more about subpatches in the VVVV Documentation.
Pin Types and "Node" pins
Until now, VVVV.js was fine without distinguishing different types of pins. The introduction of subpatches raised the need for generic "Node" IOBoxes, which led to the decision, that now is the right time to add Pin Types.
This allows us to port all the "Node"-nodes (!), like Switch (Node), GetSlice (Node), etc. Also, it's the foundation for type checking, which again is crucial for a future in-browser patch editor.
Performance Boost
VVVV.js uses underscore.js mainly for iterating through hashes. This is really great because it overcomes Javascript's lack of ordered hashes, and creates more verbous code.
However, if used at a high frequency (as in every frame) it turns out to significantly throttle overall shmoofness. Replacing underscore.js calls with native loops at performance critical code locations brought a noticable performance boost and should drastically increase the average frame rate in most cases.
Editor Interface
VVVV.js now provides an interface for "Editors" — this can be any kind of program which manipulates the VVVV patches in the browser.
In this version, the VVVVJsConnector (which connects classic VVVV and VVVV.js in the browser) has been decoupled from the core, and turned into such an "Editor". This paves the way for creating in-browser editors and plug them into VVVV.js effortlessly. In the near future there might be a tabular editor which lets you tweak pins during runtime, to begin with. And eventually, this should lead to a full-fledged patch editor running inside the browser.