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


new post

Blog-posts are sorted by the tags you see below. You can filter the listing by checking/unchecking individual tags. Doubleclick or Shift-click a tag to see only its entries. For more informations see: About the Blog.

  reset tags

addon-release core-release date devvvv gallery news screenshot stuff
delicious flickr vimeo
Order by post date popularity

We got more feedback on VL since beta35 and we are really really happy about that! It's true. True!
And since you know how much we dig VL, you will believe me, even though i did everything to sound silly. Besides, also some vvvv issues were reported.

While this is not meant to be the biggest release ever, we still took the chance, addressed some of them and dropped the improvements into a maintenance release, just to make sure to get back to a faster release cycle.

Besides all the fixes that actually make you want to use this release, here are some additional small features:

  • vvvv: Patches/modules can now be cloned like plugins via ctrl+click in nodebrowser.
  • VL: Drag a link and a point will be inserted.
One note on this version for users that already used VL: We took the chance to do small modifications of the model. When saving your documents with this new version this will result in VL files that beta35 can't read. So please test your project with the new vvvversion, make sure everything runs fine and try to not to return to an earlier version. We'll try to keep the model more stable in the future.

Irritainment feature and puzzle of the day "Partial Type Annotation":

Partial Type Annotation. You'll get it exactly when you need it and not before.

Check out the Change Log below!
Have a lovvvvely day, yours devs

EDIT: this is a hot fix for beta35.1, thanks eps for reporting, sorry for the inconvenience.

gregsn, Tuesday, Feb 21st 2017 Digg | Tweet | Delicious 3 comments  

released on 22 02 17


  • removed Box2d to allow an independent release cycle
  • Database Select nodes now make sure to not create field-pins with names conflicting with reserved pin-names

EDIT: this replaces the 35.1 release

gregsn, Tuesday, Feb 21st 2017 Digg | Tweet | Delicious 0 comments  

It's been a little while again, but here it is, new Directx11 version.

There are many changes around, so I'm not too sure where to start.

First thing, versioning has been updated, no more alpha/beta, that joke about "software is always beta" made it's time, but as we say, shortest jokes are the best, and for many users that sounds pointless and confusing, so now build is adopting a more formal version naming eg : release, with beta and alpha being used for in between releases.

Second thing, build system has been reworked and now uses a build server, which allows direct update to git releases, so users who want to try out early releases can do so much more conveniently viahttps://github.com/mrvux/dx11-vvvv/releases

No more need to build the pre releases yourself.
This also means that users can expect more frequent releases.

Second thing was in the list for a long time, interface has been changed (basically
IDX11ResourceProvider and friends have been replaced by IDX11ResourceHost version and friends. Removing IPluginIO is necessary as it creates some major issues going forward (and never got used anywhere inb the codebase anyway).

For this release ResourceProvider is working alongside Host (it is now marked as deprecated and will be removed from git version pretty much as soon as I finished this post.
Sadly, LayerProvider could not be made to work alongside Host version, so those have been removed already. From what I know there's no custom plugins using it (or they already move to new interface), so on a user perspective there should be no transition issue.

As usual, I think I should have a ready to paste version, and maybe an auto bot to reply in forums, bugs are to be submitted herehttps://github.com/mrvux/dx11-vvvv/issues

Ok now let's go past those (boring) announcements details and go through what every user wants eg : What's new (and download obviously)


  • First general shader node internals got reworked, removing some non necessary pipeline calls, and pin system got updated to moved to mave a lower api footprint as well. Also have some new specific optimization if same geometry is renderered several times). So now Layer shader nodes go from faster to much faster.
  • Shaders also now allow multiple passes: This comes at the restriction that Vertex shader input in every passes have the same signature. See girlpower example (misc/multipass)
  • Fix 64 bits depth format (even if it is rarely used)
  • Effect pass can have topology annotation: Since some shaders expect a specific opology and nothing else, this can now be set at pass level (and avoid some subtle bugs) See girlpower example (misc/topology)
  • New shader semantics (SIZEOF and INVSIZEOF), which allow with a ref annotation, to point to a resource variable. Runtime will auto set this to Resource size. See: girlpower/misc/referencing_variable

New Nodes (or new options in node):

  • Renderer (DX11 TextureSpread): Allows to render to a spread of texture (so you can use various resolutions and formats for each view/projection slice)
  • Text (DX11.Geometry) : Don't think I need much explanations for that one
  • Viewport (DX11.layer Indexed) : Sets a new viewport depending on camera index from renderer.
  • Zip (TextStyle) + bin version (user:sebl)
  • Renderer (DX11) : Now has a flip sequential pin, which allows to handle eventual tearing issues, see girlpower/misc/flip_sequential
  • All platonic solid: Radius pin
  • World (DX11.Layer) Allows to move a whole layer while preserving Camera (View), this is also set in shaders via new semantics : LAYERVIEW, WORLDLAYER, WORLDLAYERVIEWPROJECTION ...
  • ViewProjection (DX11.Layer) Spreadable, can repeat a full scene with a different camera.
  • Anisotropic (DX11 Sampler) : Anisotropic sampler preset
  • Enabled (DX11.Layer) : Blocks both render and evaluate is disabled. Same as group does, but lightweight.
  • TextFormat(DirectWrite.Advanced)
  • Kinect2 (Devices) : Depth Camera Intrinsics pin (user:id144)
  • PixelData (DX11.Texture) : Reads raw pixel data in a stream, no image conversion (can perform stride copy if wanted though).
  • DynamicBuffer (DX11.Buffer Raw) : Raw buffer from stream type
  • DispatcherX DispatcherXY (DX11.Drawer) : convenience nodes for 1d/2d dispatch, which does thread group calculations (avoid to replicate this everywhere)
  • BufferData (DX11.RawBuffer) : gets raw buffer data as a stream.
  • TextSettings (DX11.Advanded) Allows to create a different text engine, specially to allow large text (see girlpower/misc/large_text)
  • InputElement (DX11.Geometry Preset) common input element presets, to use along gsfx and to avoid repeating those over and over again.
  • TemplateComputeBuffer (DX11.Effect) : Template to quickly get started writing to a buffer in Compute.

Fixed Nodes:

  • Info (Assimp.Mesh) : spread indexing was broken
  • Cylinder (DX11.Geometry): Radius issue
  • Text styles had an issue in spread cases (user:sebl)
  • GetSlice (DX11.TextureArray) : Fix some potential error on delete
  • GetSlice (DX11.DepthTextureArray) : Fix some potential error on delete
  • VideoIn (DX11.DShow) : Fix some potential error on delete
  • Renderer (DX11) : Accepts key presses again (user: azeno). This was disabled long time ago due to some silly vvvv core Beep issue.
  • All Readback (StructuredBuffer) can read any structuredBuffer (not only ones from renderers)
  • Vlc (DX11.Texture 2d) reports file as invalid if they are parsing late, instead of potential crash.
  • Add DynamicBuffers (structured versions) : Have a different upload mode Dynamic/Default/Immutable, to eventually improve performances depending on usage (for example, a static buffer should be set as Immutable and Apply set to false asap).
  • Renderer nodes now have a new Depth buffer mode eg: WriteOnly. In case you do not need to read depth buffer, this should be the new default (does not expose an output pin). On newer cards this allows graphics card to improve performances.

Lot of new examples and help patches (20+ from Assimp, Semantics...)

So for users who did read all and did not scroll hear (or just skipped and went straight into contribution page):

Download here:

vux, Monday, Feb 6th 2017 Digg | Tweet | Delicious 7 comments  

previously on vvvv: vvvvhat happened in December 2016

...and already 1/12 of 2017 has passed, but not idle! we first gave you the numbers of 2016 and then opened the store. devvvv-whise you got an intro to networking and async patching with vl and an outlook on the road ahead plus our first 3 video-tutorials to get you started with vl:

in latest alphas you can also already enjoy these new gems:

  • an example of how to patch multitouch in vl: girlpower\VL\Animation\MultiTouch
  • new midi-file reader nodes: MidiFile (Midi) and MidiTrack (Midi)

and then there've been a range of interesting forum-threads that got nice solutions with VL:


3 new: 7 updates:

and one documented:
microdee gave an update to his md.ecosystem in a new edition of the vveekend vvorkshop videos


mburk is teasing us with a dragon

while guest offers some cookies noise-machine-0 and a bb-1...

The HAP Video Player Situation

for years this was high up on the wishlist of many vvvv users: a node that would play back HAP video files. and suddenly there are two solutions on the horizon:

  • github user arronsmith has shared a repository with a c# implementation
  • lev is running a crowdfunding for a HAP video player node, see this forum thread: Funding Hap video playback solution. in a move of cool the m-box people apparently made a financial contribution so that the crowdfunding now only needs to unlock the availability of the node for non-commercial use! see the thread for details..
m-box, the cool kids


must-watch of the month was the projections for the opening of the elbhilharmonie in hamburg with contributions by vvvv allstars schnellebuntebilder, quadrature, intolight, madhat and lasal. here is a good video summary of the event.

restless colorsound has nicely documented the three last works he made together with CPP Studios: zf-hda-table, zf-ces-2016-concept-cockpit and abb-–-yumi-automatica-2016

and if you want to see something sick, here is what nsynk have been working on: a live AR show

Anything to add? Please do so in the comments.
And have a happy new patch!

joreg, Friday, Feb 3rd 2017 Digg | Tweet | Delicious 2 comments  

Who Sabrina Verhage and Carolien Teunisse
When Sun, Feb 19th 2017 - 12:00 until Sun, Feb 19th 2017 - 17:00
Where FIBER, Tolhuisweg 2, 1031 CL, Amsterdam, Netherlands

Spread the word: Creative Coding Amsterdam is teaming up with Creative Coding Utrecht to share knowledge!

Sabrina Verhage and Carolien Teunisse will teach the basics of vvvv in a sunday afternoon on the 19th of February.


Lucidlien, Friday, Feb 3rd 2017 Digg | Tweet | Delicious 0 comments  

Who schnellebuntebilder, tonfilm, elias
When Sat, Feb 11th 2017 - 12:00 until Sat, Feb 11th 2017 - 18:00
Where schnellebuntebilder, Rudolfstr. 11, Berlin, Germany

Hello again,

Our vvvvorkshop series will continue.
This second session will be aimed at beginners - in VL.
Yes, you read it right, this time we will dive into the next level of visual programming. Tonfilm and Elias are so kind to guide us through all kinds of object oriented spreading strategies and will teach us new ways of solving common patching problems.

What do you need to bring?

  • Windows laptop running vvvv
  • Please Install the latest version of vvvv and the AddonPack.
  • If you encounter any problems installing vvvv please contact us before the workshop
  • ( It’s fine to share a machine with two people, this is a good way to learn. )
  • 3 Button Mouse

There will be a fee of 20,00 € per attendee to pay for the room, we are booking for this workshop.
If you consider yourself a professional patcher or your company sends you here to become one, we use T.R.U.S.T here to encourage you to ask for a professional fee which is 200,00 €.

DATE 11.02.2017
TIME 12am - 6pm (resp. beer o’ clock)
LOCATION Berlin, Rudolfstraße 11 - Friedrichshain

Please sign up here:

Your’s truly,

Follow Us

sebl, Friday, Feb 3rd 2017 Digg | Tweet | Delicious 5 comments  

previously on devvvvlopment: vl-networking-and-async

With beta35 (including VL) out in the wild and people apparently starting to use it (see forum threads about it) we're quite happy with the feedback so far. We know of people already including VL in their daily patching and getting the hang of it. Others are still more cautious and are waiting for better documentation or are hoping for node17 to open their eyes. All fair enough, no pressure.. in any case the question is of course:

What next?

One of the many aspects that vl will be different when compared to vvvv is its node-library. In vvvv we have a closed-source base-library (written in delphi and closely bound to the vvvv core) plus a wide range of open-source nodes including community contributions (written in c# via a plugin-interface). For vl we'll still distinguish between a base-library and the rest, but all libraries will work the same way, ie not be bound to the core. And not even need a plugininterface. And be open-source.

So from the beginning in vl we separated core from libraries and already have a git-repository including all of VLs libraries organized in neat packages (as you can basically already see in your beta35\lib\packs) that we're ready to open. Why haven't we done so already? Well, by releasing library source-code we're kind of committing to a style that everyone should be able to use to write nodes for vl. Therefore this is really a crucial part that we simply wanted to give a second look.

Jump to 49:55 for: Defining Nodes

Remember when at node15 we teased how to define nodes for vl? Everything already felt fairly simple indeed. The typeimporter, a breeze. As mentioned in previous blog-posts we've been continuously importing libraries ourselves since then and noted a few things that we needed to improve to make the workflow for future library developers even more convenient.

So this is what we're reworking at the moment and what we hope to be releasing soon:

  • the complete vl node library as open-source
  • documentation on how to import/write your own nodes/libraries for vl
  • documentation on how to package your libraries for consistent distribution

This will reduce the barrier for developers enormously because everything they have to do to contribute to the vl nodelibrary, will be very little vl-specific and very close to what any c#/.net developer is doing anyway.

Other than that our focus until node17 will continue to be the integration of vl with vvvv, improving documentation and adding the one or other smaller feature. So, that at node17 we have a strong foundation to teach on and hopefully even already some new, contributed libraries..

Until the next update,
good patch!

joreg, Monday, Jan 30th 2017 Digg | Tweet | Delicious 3 comments  

Dear commercial users of vvvv,
dear devvvvelopers of contributions
and of course everyone else,
we hope to interest you in the following:

a) Short Story
b) Rationale

ad a) Short Story

We have a store now! Well more of a store-front really, but nonetheless. Consider this a start.

Here is how it works:

  • If you're buying vvvv licenses for a project, also make sure to buy licenses for all the contributions you're using that are available in the store
  • If you're developing a contribution and want (commercial) users to pay for it, then offer it in the store
At this point the Store is really nothing more than a wiki-page that lists all offers. Providers of the individual items are responsible for handling their own payment/invoicing/support workflow. Customers and vendors enter the store at their own risk! The vvvv group cannot be held responsible for any claims. (That is as legal as we can make it sound).

Here you go: Store

ad b) Rationale

As you all know, vvvv's business model is what others would call non-sustainable. It is a weird mix of being half-opensource and completely free for anyone to use without restrictions (how can you!?) unless their application is a commercial one, then pay! The whole model is based on an ancient social feature and we call it T.R.U.S.T We want to trust our customers as much as they have to trust in us. All nice and shiny, but does it work? Read for yourself.

Since the early days though, it was clear that the success of vvvv does not only stem from the fact that we're such genius programmers (citation needed!) but also from the fact that a lot of its users readily shared, first their patches and modules, later individual plugins and finally indispensable whole packs of nodes that extended the possibilities of vvvv enormously. And they did all that for free!

To at least symbolically support those developments and allow users to tip others, a few years ago we introduced a micropayment service called flattr. It was an experiment that pretty much failed, for different reasons I guess, not least because flattr itself still struggles to find its way...

Then of course the idea of a sorts of "appstore" for vvvv contributions always seemed obvious. We've had a few developers asking for it over the past years, not enough though to justify an investment in the fully-fledged webshop that was always requested. When recommended by us to run their own little webshop we got mostly two answers:

  • "That would be too much work." Yes, it would be an investment on your side that you'd have to risk. Same as we have to evaluate if it would pay off to set up and operate a multi-vendor shop with automatic invoicing/payment/customer-service...
  • "Ok, but nobody else is charging for their contributions and I don't want to be the first." This one is more interesting as it was not only brought up by developers but also by users who were afraid that introducing money into our little free-spirited contribution-sharing community could potentially harm it. Because once someone starts charging, everyone might want to charge and thus make everything just more complicated and expensive which in turn could drive away users...

All comprehensible thoughts, but here is the rationale why we are not afraid of this and why we now finally take this first baby-step in creating the Store page, which for a start at least is a central place to promote commercial contributions. Also note that contributions vvvv-message, dx11.pointcloud and automata-ui already charged for commercial use for a while now, if you read the fine-print, so this is really mostly to endorse that practice:

First: Money has always been part of our community in two ways: vvvv itself costs money (for commercial use) and hopefully users who create patches for commercial jobs always charge a lot of money. So far many contributors who gave their valuable stuff for free probably did so because they knew they can get enough paid patching-gigs they enjoyed in turn, so it didn't worry them too much. But preferences change and in a good economy it should be possible to contribute in different ways. If someone doesn't want to do patching-gigs or at least not only, as they more enjoy creating and perfecting libraries, then this should also be possible to make a living from, in our community. And of course it should be obvious how this is to the benefit of all participants of the equation. Plugins/Libraries that so far have been left unpublished because of uncertainty regarding commercialization, now have a clear endorsement which can only strengthen the ecosystem of vvvv as a whole.

Second: Will using vvvv become more expensive overall? Using vvvv has primarily become more and more cheap over the years since we haven't changed its pricing in 15 years and computers can run more and more outputs from one license. So paying for additional commercial contributions will merely bring its costs up to a more realistic level.

Third: Will everyone now charge for all their contributions? We hope that with the T.R.U.S.T business model (as elaborated above) we can be a role model and convince contributors to join our experiment and also still give their stuff away for free for non-commercial use. Like this, not much would change for the casual user and even for the commercial user who quickly needs to test options. Only when buying a vvvv license users will also be asked to buy licenses for contributions they use. Still we won't enforce the T.R.U.S.T model.

So yes, there is still the obvious inconvenience for developers to handle their own licensing but at least we hope by promoting commercial contributions through the Store we don't hold anyone back who didn't dare to offer their contributions for money.

Let's see where this goes..
The ribbon is cut, welcome to the Store
Happy shopping!

joreg, Monday, Jan 23rd 2017 Digg | Tweet | Delicious 19 comments  

previously on VL: vl-progress-report-4

Networking is a huge topic and we just started scratching the surface. While in the process of implementing more features we want to stay flexible to unify nodes and namings to keep the nodebrowser tidy and the patching experience nice and easy! Therefore later mentioned nodes are published as experimental since they might be subject to signature changes still, meaning pin and node names.

things you know

the vivid blog reader already knows the drill: everything stays the same if you liked it just the way it was.

Simple VL UDP nodes
vvvv flavoured UDP send and receive nodes

Specify remote host (IP address), a nice port number, connect some data and bang the send to let your UDP packets travel over the network. Or open a server to receive bytes arriving on the specified port. The only difference to vvvv you might see is, that here you also get infos about the sender of the packets via the Remote Endpoint output (which is an IP Address and a port)

Simple VL TCP nodes
likewise vvvv flavoured TCP Server and Client nodes

same same for the TCP nodes: The client will try to connect to a server. And once the connection is established, you can send and receive bytes.
The TCP Server awaits incoming connections to talk to. The subtle difference here is the Tuple input, where you would expect the data pin. No one ever requested it, but now you can decide which packet should be sent to which client by specifying IP address and port together with the message. In case you still want to send the same packet to all of your clients, just set the address to and port 0

UDP & TCP revisited

so why did it take so long, what's the goodies behind that?
Unlike the monolithic networking nodes in vvvv you can peek inside the VL ones. The goal was modularizing on a much lower level to be able to provide the very basics as nodes for the patcher:

  • Timeout on send and receive (you have that one via @phlegma in the TCP (Network Client Advanced) node in the addonpack)
  • access to Local Address and Local Port: means you can have senders and receivers bound to different networkcards (not just listening to any packet coming in on a certain port as it was now, or relying on the system automatically chosing the right card to send from)
  • amongst which cards are available and running, get all sorts of information about the network capabilities of the system
  • The guts of UDP and TCP are tightly built around Berekley Socket where you have tons of infos and code snippets on the web. untested yet, but you should be able to tinker your own networking magic, e.g. speak the raw IP protocol directly.
Socket base stuff
UDP and TCP nodes implemented on the base Socket type

woei, Saturday, Jan 21st 2017 Digg | Tweet | Delicious 1 comments  

Who id144, maarja
When Thu, Jan 26th 2017 - 18:30 until Sat, Jan 28th 2017 - 16:00
Where Bartlett School of Architecture, 22 Gordon Street, London, United Kingdom

Andrej Boleslavský's and Mária Júdová's new VR project DUST is going to be premiered in UK

DUST aims to spark a dialogue between digital technology and performing arts, and transform the way people see and experience contemporary dance. It is produced by Carmen Salas, and supported by Arts Council of England and Rambert Dance Company.

There are 3 occasions to get to know more:

26 JAN 2017 6:30-9:00 PM @ Bartlett School of Architecture, London
PIxLS public lecture together with Memo Akten, Patricia Okenwa from New Movement Collective and Syuko Kato

27 JAN 2017 1:00 PM @ Pervasive Media Studio, Bristol

28 JAN 2017 1:00-04:00 PM @ Victoria and Albert Museum, London

maarja, Tuesday, Jan 17th 2017 Digg | Tweet | Delicious 1 comments  

anonymous user login


~8h ago

velcrome: @SFE_Engineering seems cool! https://www.sparkfun.com/news/2319

~13h ago

~17h ago

joreg: what's new in vvvv_50beta35.2 https://vimeo.com/205310326 #vvvv #vl

~2d ago

guest: whats going on under the hood when you sort.. https://www.toptal.com/developers/sorting-algorithms

~3d ago

id144: AIR OpenCall: Artists and researchers from DE, working with the issues connected with digital culture. http://www.kair.sk/open-call-for-german-artists-2/

~4d ago

velcrome: @mrboni check noodles pack

~4d ago

catweasel: bezier match not doing it for you? Or do you need GPU specifically?

~4d ago

mrboni: I meant a gpu version of B-Spline (3D Surface). I only found an approach using bicubic filtering on a texture (dx9 gpuparticles)