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

Blog

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

Update: The latest preview version is here: http://visualprogramming.net

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

General

  • 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

Patching

  • 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

Language

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.

Pricing

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.

Download

Here you go: vvvv gamma 2019.2 preview 321

Changelog:

Upcoming

321 04 03 20

  • Fixed copy-paste of output pins not merging correctly into target patch
  • Fixed patch pins not always being synced to nodes with the "Connect to Signature" flag
  • Do not create empty regions (nodes without a patch) when syncing to a node definition which lost its delegate input
  • Should an incremental compilation of a project fail, try from scratch before giving up.
  • Fixed implicitly inserted CreateDefault node not being tracked in dependency graph - fixes backend crash when modifying it
  • Fixed assembly initializers being called far too often leading to long hotswap times in bigger projects
  • Fixed regression that enums don't have System.Enum as super type anymore (was for example breaking VL.Devices.Kinect2)
  • Fixed vvvv.exe becoming a ghost process when crashing on startup
  • Fixed disposable interface being added twice when VL.CoreLib was missing - caused subsequent emit crash
  • Only load project assembly from cache if all its dependencies have also been loaded from cache - fixes emit error when dependent project was modified
  • Backend will now unload not needed project states
  • Faster RGBA to RGB conversion (IImage to SKImage)
  • Fixed cast exception triggered by node browser when browsing through nodes from assemblies
  • Fixed various crashes when opening a completely broken document structure (missing assemblies, missing documents etc.)
  • Fixed file/string readers not eliminating BOM
  • New nodes Loop [Observable], Subscribe (Provider) [Observable], Using (Provider) [Observable] and moved PollData, PollResource from Resources to Observable category
    • New region Loop [Observable] managing internal state as well as giving access to cancellation and observer to optionally push data
    • Subscribe [Observable] returning a provider which manages the lifetime of the upstream observable sequence
    • PollData and PollResource now stateful internally thanks to making use of new Loop
  • Removed recently introduced TryOpen/Retry/RunOn [Resources] nodes as they turned out as hard to use (deadlock) and not necessary
  • Added new struct ArrayBuilder used by two new nodes:
    • StoreSequence [Collections.MutableArray] to efficiently either grab an upstream array from a sequence or copy its content into an internal array which will then get exposed.
    • HoldLatestCopy [Collections] to efficiently copy data pushed from a background thread into the main thread
  • Bunch of minor performance improvements to VL.Skia by making use of methods provided by the System.Runtime.CompilerServices.Unsafe class and calling SKCanvas.SetMatrix in Transform nodes, not rendering nodes
  • Fixed allocation issues of Points [Skia.Layers] by exposing internally used DrawPoints via ReadOnlySpan
  • Fixed assignment of higher order regions not being carried over to expanded patch
  • Ensure names of emitted assemblies are unique even after reloading a document
  • Type Unification got even more robust and versatile. Better type renderings and type error messages.
    • generic node applications with generic pins (like "a Asset") previously just lead to type "Asset" for the generic pin for as long as the pin was still unconnected. This way you often had to force connections. Now these type parameters stick around leading to not calling the node until to the point where you actually connect to something.
    • types can look like this: "a Asset". This is a short rendering for a constrained type parameter "T1 where T1: Asset". F# also has an abbreviation for types like this. They call it flexible types.
    • types can look like this: "Sequence (Ungeneric) & IReadOnlyList<T>" which is a beautified rendering for "T1 where T1: IEnumerable, IReadOnlyList<T>"
    • if necessary (like on recursive types) the type parameter will not get hidden. "T1: IReadOnlyTree<T1>" is not hiding the T1 behind an "a IReadOnlyTree<T1>" in order to make clear that it references itself.
    • invalid type annotations (those where the type arguments of the user break the constraints of the type parameters) lead to proper error messages.
    • quite less emit problems due to more robust type unification
  • Added RemoveAll for Spread and SpreadBuilder
  • Fixed Random node not being thread safe
  • Fixed ForEachParallel crashing with input count of zero and modified it so it returns a spread builder instead of a spread to avoid allocations

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

Features
  • 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,
devvvvs.

joreg, Wednesday, Mar 4th 2020 Digg | Tweet | Delicious 1 comments  

Previously on vvvv: vvvvhat happened in January 2020


Bonjour from paris,

where I was happy to witness a short AV performance by dottore which he developed as part of a residency with us. vvvv gamma + VL.Xenko used to its finest...

Still by Natan Sinigaglia

Right after we had a nice vvvv meetup in a local bar and talked Xenko and timelines till late. Up next are workshops on Tuesday and Thursday and a presentation at Ircam on Friday.

Meanwhile back on vvvv.org we opened a new store and our call for creative coder in residency is still going till March 8!

With vvvv gamma we're getting closer to a release-candidate phase. We still have a few known issues we want to sort out before, but no more show stoppers. Please follow our progress and fetch latest previews from here.

Contributions

An update:

And there's been quite some action in the work-in-progress section on the forum:

Gallery

readme and Max about "Beathoven" at the last vvvv meetup in Berlin

Jobs


That was it for February. Anything to add? Please do so in the comments!

joreg, Tuesday, Mar 3rd 2020 Digg | Tweet | Delicious 1 comments  

Helo shopaholics!

This is to announce vvvv's new License Store.

When logged in with your vvvv.org credentials you can see an overview of all your orders, which should look something like this:

Please compare this listing to your previous order listing. In case you're missing an order in this view, let us know via licensing@vvvv.org. We've tried our best to import old orders but there is a chance that some may not be correctly assigned to your account yet.


This is also a great moment to check your current licensing situation: Please make sure all your commercial use is covered. If not, we're looking forward to your new orders. Try it, it is now more fun than ever to buy vvvv licenses! And also check the price-drop on the dongles: From 125€ to 80€ per piece. What a bargain!

Next Steps

We know everyone is waiting to finally be able to buy vvvv gamma licenses. Just in time with the upcoming first official 2020.1 release, we'll have those in stock. These will initially come without the promised subscription options, but the plan is to have those added just in time so that any order can be converted to a subscription before its first update.

Then, obviously this new store was also built with the idea in mind that it can one day sell user contributions. We cannot promise anything at this point, but at least we have the technical infrastructure in place now...

Happy shopping!

joreg, Wednesday, Feb 26th 2020 Digg | Tweet | Delicious 0 comments  

Who you
When Tue, Feb 25th 2020 - 20:00 until Tue, Feb 25th 2020 - 23:00
Where NODE Institute, Wipperstr. 13, 12055 Berlin, Germany

beathoven

It's 4th tuesday of the month again!

That means the next edition of our monthly vvvv-meetup is just around the corner.

This time a a a a, readme and maxs will showcase a project called beathoven and take us on a journey to the technical details.

midi
joreg will be showing the Contribution Manager for vvvv beta and give and update on the progress of the vvvv gamma HelpBrowser.

Contribution Manager
As always, you are invited to show and tell about your projects, tools or tasks: If you have something to show or talk about, please do so! Bring your projects, demos, works-in-progress and show us what you're patching with!

If you feel like, please rsvp on our Gettogether page!

yes, we try to stream the presentations ;-)

sebl, Friday, Feb 21st 2020 Digg | Tweet | Delicious 1 comments  

Who you
When Sun, Mar 1st 2020 - 20:00 until Sun, Mar 1st 2020 - 23:00
Where Hang'art, 61-63 Quai de la Seine, 75019, Paris, France

Paris mon amour!

Je m'appel schoreg and I will come visit and wanted to ask if you'd be up for a date. The wonderful sebescudie is currently looking for a space but we already have a time and date: March 1st, 8pm

So please save the date and prepare your patches. It would be great to have some of you show what you're working on. We'll have dottore giving insights into his latest works and I'll be having latest VL.Xenko with me for a sneak peak.

If you feel like, please RSVP on the GetTogether announcement.

joreg, Wednesday, Feb 19th 2020 Digg | Tweet | Delicious 0 comments  

Who sebescudie, joreg
When Tue, Mar 3rd 2020 - 19:00 until Thu, Mar 5th 2020 - 21:00
Where SUPERBIEN, 14 rue Crespin du Gast, (M Ménilmontant - Rue Saint Maur), Paris, France

D'accord Paris,

while I'm in town for a vvvv meetup on March 1st and a presentation at Ircam on March 6th, I thought we could fit in some workshops. So together with local hero sebescudie of SUPERBIEN we'll run two workshops. Here is for you to choose:

Getting started with the all-new vvvv gamma

Are you a creative coder, interaction designer, media artist, maker or scientist and want to add a new tool to your toolbox? Are you afraid of coding and want to try visual programming instead? Have you heard of vvvv before but never found the time to get started? Or are you just lazy and want to get your things done more efficiently? This workshop is for you!

vvvv is a visual programming environment that allows you to realize ideas involving things like 2d/3d animation, computer vision, MIDI, OSC, DMX, Kinect, Leap,... quickly without the need to write any code. But if you want, you can also write C# code for it and use any .NET library with it!

In this 3 hour hands-on workshop we'll give you an idea of how it feels to work with vvvv. You'll learn the fundamentals that you need to be able to follow further workshops or take the next steps on your own.

When: Tuesday, March 3rd, 7pm-10pm
Where: SUPERBIEN - 14 rue Crespin du Gast (M Ménilmontant - Rue Saint Maur).
Signup: It is free but seats are limited, please signup via: ping@sebescudie.fr

vvvv gamma for vvvv beta users

If you're a user of vvvv beta and want to up your game by learning about VL and moving on to vvvv gamma, this workshop is for you! Here we'll assume you're familiar with the terms of vvvv and know how to handle a 3 button mouse.

We'll take you by the hand and try to convince you that VL and vvvv gamma are your best friends moving forward. You'll learn about the basics and benefits of using an object-oriented approach to solve certain problems and get an overview of all the improvements vvvv gamma offers over what you're used to with vvvv beta.

When: Thursday, March 5th, 5pm-9pm
Where: SUPERBIEN - 14 rue Crespin du Gast (M Ménilmontant - Rue Saint Maur).
Signup: It is free but seats are limited, please signup via: ping@sebescudie.fr

Oui oui, hope to see some of you there. And please spread the word to anyone who could be interested in this!

joreg, Wednesday, Feb 19th 2020 Digg | Tweet | Delicious 0 comments  

When Wed, Mar 4th 2020 until Fri, Mar 6th 2020

Looking forward to presenting vvvv at this years Ircam Forum. With Ircam being the birthplace of both Max and PD, which quite inspired vvvv initially, it will be a great honor to hopefully give some inspiration back.

Here is what it is generally about:

Whether you are a musician, sound engineer, designer; Whether you work in research and development on new technologies; Whether you are a teacher or student, professional or just an aficionado, you are welcome to join us at this annual meeting at IRCAM, Paris.

My talk is on Friday, March 6th, 11h45 - 12h15 and and here is the full list of this years speakers.

Hope to see some of you there!

joreg, Tuesday, Feb 18th 2020 Digg | Tweet | Delicious 0 comments  

Previously on vvvv: vvvvhat happened in December 2019


Meanwhile,

work continues as per the usual on our quest to release a smooth vvvv gamma 2020.1 within Q1. Previews are coming out about once a week now. Most recently we introduced another improvement for help patches.

We have a progress report on VL.Xenko out and in parallel, we're also working on a ContributionManager for vvvv beta, which is ready for a test-drive now.

Into numerology? You may be interested in last year's numbers and figures.

And if you're up for meeting your fellow patchers in real-life, make sure not to miss our upcoming intro workshops, meetups and patching circles in Berlin. Here is the stream of our most recent meetup where we heard news from ur-patcher sunep.

Contributions

A new one:

An update:

And there's been some action in the work-in-progress section on the forum:

Gallery

Refik Anadol: “Latent Being” - Trailer

And also make sure to check out this little gem by Juan Hurle: Fractal Armor

Jobs

Some more on dasauge.de


That was it for January. Anything to add? Please do so in the comments!

joreg, Thursday, Feb 6th 2020 Digg | Tweet | Delicious 0 comments  

Help!

One of the most requested features for VL ever since was the support for help-patches. Obviously they had to come back, but it took us a while to figure out how exactly. One of the brainstorming sessions at LINK was especially helpful to sort out the details. Thanks everyone for your input...

Help Patches

So for the user it is just as before: Press F1 on a node that you need help for. Now what happens is:

  • If a help-patch is found, it is opened and a bubble indicates the node you were looking for
  • If no help-patch was found, a bubble indicates that no help-patch was found
Help patch was found...
No help patch available...

In both cases, you can now optionally opt-in for more help: Click the bubble to open the help browser showing the nodes Node Info.

Node Info

Shows some info about the node plus 3 lists of how-to patches this node is used in:

  • most relevant (the dedicated help-patch)
  • still relevant
  • list of other patches using this node (automatically generated)

This should increase the chance of finding good info about how a node can be used in different scenarios.

When "follow mode" is active, you can click around in the patch and always get the node info to the last selected node.

Help Flags

Creators of libraries who want to provide help patches now use help flags to indicate relevance for a node. Read all about using help flags in the graybook.


Available for testing in latest previews!

joreg, Friday, Jan 31st 2020 Digg | Tweet | Delicious 2 comments  

Who luna, david, joreg
When Tue, Jan 28th 2020 - 20:00 until Tue, Jan 28th 2020 - 20:00
Where NODE Institute, Wipperstr. 13, 12055 Berlin, Berlin, Germany

Image Copyright: Luna Nane

I a short notice:

berlins vvvv heads are meeting for a show and tell with drinks. Everyone is welcome! This time we have a presentation by:

luna nane about her work with vvvv and shaders
http://lunanane.com/explore-the-ocean.html

Update: Luna got a massive pack to patch until tommorrow. So she won't make it! Instead Sunewill be there via skype tellig uns about his lates projects and ideas..

We'd also love to hear from you: If you have something to show or talk about, please do so! Bring your projects, demos, works-in-progress and show us what you're patching with!

If you feel like, please rsvp on our Gettogether page!

david, Monday, Jan 27th 2020 Digg | Tweet | Delicious 5 comments  

anonymous user login

Shoutbox

~4d ago

joreg: The summer season of vvvv workshops at The NODE Institute is out: https://thenodeinstitute.org/ss24-vvvv-intermediates/

~4d ago

domj: If you happen to be in Prague, come join us at the Schema workshop on Thursday 25.4. :) https://www.facebook.com/events/395516526614988/?ti=ls

~15d ago

joreg: Postponed: Next vvvv beginner course starting April 29: https://thenodeinstitute.org/courses/vvvv-beginner-class-summer-2024/

~1mth ago

~2mth ago

joreg: The Winter Season of vvvv workshops is now over but all recordings are still available for purchase: https://thenodeinstitute.org/ws23-vvvv-intermediates/