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.
Previously on vvvv: vvvvhat happened in October 2020
A seemingly calm month, but it is boiling under the covvvvers: First, you notice that we continue to update the 2020.2 release with bugfixes. The latest release is vvvv gamma 2020.2.4.
Then, as mentioned previously, we're currently mostly focused on getting a stable 2020.3 out which will include VL.Stride, our shiny new 3d engine. Best of it: you can follow our daily progress by downloading the preview releases. Already comes with tons of help and demo patches. Give it a spin!
And finally done are the completely reworked, easy to use OSC and TUIO nodes which will show up in one of the coming previews soon!
Two new ones:
A little teaser:
And some new works in progress:
That was it for November. Anything to add? Please do so in the comments!
When Tue, Nov 24th 2020 - 20:00 until Tue, Nov 24th 2020 - 21:30
Save the date!
We're meeting up on November 24th, 8pm CET to get insights into what everyone is patching on. How will this work? Something like the last time. So please invite all your vvvvriends and vvvvamily to join us!
We could have one or two more demos/presentations! Anything more or less related to vvvv, yourself and your projects. Share some thoughts, share your funny fails. Or just ask some questions...
Please get in touch via email@example.com and let us know what you want to talk about. We'll then get back to you and organize the streaming tool etc.
Here is our line-up so far:
wirmachenbunt is a studio for interactive and immersive shows and exhibits. The team will present the Magenta Moon Garden software, the system behind a 360° interactive space, incorporating 16 projectors, 9 Radartouch sensors, 6 channel surround sound, 4 games and lots of pixels. While the visual output is rendered with vvvv beta, they used VL and vvvv gamma heavily for the backend and surround sound engine, marking a transition of the studio workflow. While going into the patch details, they reveal the process, from simulation to the live setup.
Christian is a media artist based in Schwerin. Working on all kinds of kinetic, light and screen based installations, he will give a small peak into his recent project, which will be his first one realized in vl. Switching from Unity and his own custom framework creative computing he will give a view on the process leading into this decision and present some first steps into the vvvv world as a result of the transition.
New media artist with a background in fine arts and philosophy, Amir realizes his works by designing narratives through real-time processes.
Amir is based in Linz/AT where he is persuing his PhD. He is a researcher at Creative Robotics Department at the university for arts and design in Linz he is also teaching Coding and computational thinking at the Fashion and Technology department in the mentioned university.
Previously on vvvv: vvvvhat happened in August 2020
So once again, where were we...
If you haven't noticed yet, the latest previews for vvvv gamma now include VL.Stride, the fancy new 3d engine. We're quite happy with the feedback so far. Things mostly seem to work as expected. We're now focusing on making this preview into the first 2020.3 stable release including VL.Stride. But 3d is not all, we've also included a few other goodies in the 2020.3 branch, which are summarized in a separate blog post with the juicy title: vvvv - The Tool.
Quite a few new works in progress:
That was it for September and October. Anything to add? Please do so in the comments!
the biggest NODE so far, in terms of reach. At least if you want to believe the viewing numbers on the videos of the daily streams. This time the whole world was able to participate and not only a handful of privileged being able to come to Frankfurt. What an undertaking to run a pop-up TV station for 7 days next to a 2 track, 9h a day workshop program...
On behalf of the whole team that made this edition possible, vvvv wants to thank david and Jeanne Charlotte Vogt, directors of NODE20 - Second Nature, for pulling the strings. Once again very well done, chapeau!
The team was huge and a lot of different things happened over the course of this week, too numerous to recap here. So in this blogpost I want to particularly summarize the vvvv focused parts and highlight the members of the vvvv community who helped make NODE20 possible.
You should watch them all: 7 days of quality panels and discussions around this years topic "Second Nature". But then, as promised, the following is a listing of the more vvvv related shows for your viewing pleasure:
And of course to every single one of the 26 workshop hosts and co-host who took the time to bring their knowledge to all of us: andresc4, Anna Meik, antokhio, baxtan, domj, dottore, elias, everyoneishappy, gregsn, Gene Kogan, hayden, idwyr, joreg, jule, kleinkariert, lasal, Maria Heine, Marian Dziubiak, motzi, ravazquez, sebl, sunep, Takuma, tonfilm, untone, vux.
NODE is a community effort. Everyone is chipping in what they can. So finally I want to list a few companies without whose continued support in the form of material or human resources, NODE20 would not have been possible:
vvvv takes a deep bow in front of everyone mentioned. I sincerely hope I didn't forget anyones contribution but am well aware that this is not unlikely. So in case I missed someone, please someone let me know so I can add the info here!
After NODE is before the next NODE.
Back to work!
Me and the complete team recover slowly. NODE was a blast and we can be incredibly proud to made it happen under the 2020 conditions. I do believe that the hybrid approach is something that has some future potential. Heads are spinning already how a next node would need to be.
To get some structured feedback we have setup this survey for all participants:
You can help to make NODE better by filling this out. Thank you so much!
Many have asked us for the workshop recordings. And here are some good news:
Here is the story behind the decision: When we announced the festival in July/August it was clear that we have to give the ticket owners some exclusive access to the recordings afterwards to actually make them onboard the festival. Otherwise - we assumed - many could have chosen to simply wait until the festival is over and wait for the public recording. The festival would not have worked at all.
Now after the festival it feels a bit unnatural to hide the recordings to curious new people. Why not ride the wave of attention we created? Selling the recordings became an option. It would also help to close a financial gap of the overall festival budget. After some talks with the hosts about how we can handle this in a fair way we came to the conclusion that we will split the income between the Instructors and the festival. This feels natural as the institutes idea is to help the community to sustain and help instructors to get revenue for their educational work. The income does not got to the vvvv group but to all community instructors.
Love goes to all of the instructors and organizers and contributors. We are all deeply thankful for their effort and contribution. ravel, sebescudie, Rayment, katzenfresser and Ben Schiek, andresc4, Anna Meik, antokhio, baxtan, domj, dottore, elias, everyoneishappy, gregsn, Gene Kogan, hayden, idwyr, joreg, jule, kleinkariert, lasal, Maria Heine, Marian Dziubiak, motzi, ravazquez, sebl, sunep, Takuma, tonfilm, untone, vux, readme, bjoern,kopffarben and more vvvv people in the program.
Thank you !
David for The NODE Institute and Festival Team
Who Telekom, FFV, wirmachenbunt
When Sat, Oct 17th 2020 - 10:00 until Sun, Nov 1st 2020 - 10:00
Where Magenta Moon, LEIPZIGER PLATZ 15, Berlin, Germany
Check out the 360° Experience in Berlin Mitte. The event/exhibition is for families and kids. Book your ticket at https://www.magentamoon.de/
Questions regarding the covid-19 measures, see the website.
The installation comes with 16 projectors, 9 radartouches to make a curved surface interactive, and surround sound. The project runs on DX11 beta but some essential parts are programmed with the latest and greatest in research, VL and gamma.
The long wait is over!
vvvv gamma 2020.3 public previews now include VL.Stride, the new 3d rendering library, based on the opensource Stride 3d engine. You be the judge, but spoiler: this is rather huge!
Massive thanks go out to all early accessors who helped us uncover and fix countless buggers that you no longer have to run into. So this is also on your behalf. You're welcome!
All of the basics are now in place. Find your favorite among these:
To give you an idea, here is a random collection of screenshots of what earlyaccessors have created with this already.
To give you a heads-up, here are things you might expect already but are yet to come:
And then some more, but the above should be the most obvious ones you'll stumble upon.
Open the Helpbrowser (F1) and check out the explanations, howtos and examples. Remember the preview status, ie. those are not yet in their best shape. But they should help you find your way.
And if you really got nothing better to do in the week of October 2nd to 8th, then consider joining us for NODE20 where we have the following series of workshops dedicated to getting you started with VL.Stride:
A couple of people believed in the development of VL.Stride from the beginning and substantially supported its development. We bow before you:
When Fri, Oct 2nd 2020 - 10:00 until Thu, Oct 8th 2020 - 17:00
Where online webinars, Germany
NODE20 is taking shape!
We have a fantastique list of workshops for you, ranging from beginner to pro, from user to contributor. Here is a convenient overview of all the online workshops you can participate in during the week from October 2nd to 8th. A ticket is only 50€ and gives you full access to the festival and workshops plus recordings to rewatch them.
Hope to see you all in cyberspace!
The "getting started" for people who are not necessarily familiar with vvvv beta or other creative coding environments. Here we take you by the hand and start from scratch so from here on you can follow other workshops.
In this workshop, we will be practicing the commonly known aspects of generative design algorithms. Despite the wide range of the term, we will introduce you to the fundamentals as well as simple tips and tricks.
While designing a learning app for kids, you will learn object-oriented patching patterns along the way. We will go from 0 to exe in 3 hours.
Get a short introduction to vvvv and learn how to use chains of visual effects to get from zero to wow within minutes – Real-time graphics for beginners.
In this introductory workshop, we’ll explore the functionalities and widgets you can find in the VL.Elementa library to effortlessly build wonderful graphical user interfaces.
In this workshop, we’ll show you how easy it is to use any .NET nuget with vvvv and how to navigate common issues that you may encounter doing so.
In this workshop, we will be learning how to constantly produce procedural graphics using the FieldTrip pack.
This workshop will cover the basics of VJing using vvvv. You'll be provided with an initial VJing setup with generative examples, postFX and a composition system, which you can then customize.
vvvv has just adopted the powerful realtime 3D graphics engine Stride 3D. In this workshop, we are looking at its basic concepts and learn to set up a scene with geometries, lights and material.
Creative Coding is about finding inspiration in the process of work. Add a few friends to this process and it is going to be even more inspiring! This workshop gathers participants from all over the world to work together on one patch.
FieldTrip is a vvvv beta pack for working with 2D and 3D scalar and vector fields. Think generative patterns, agents, procedural noise and 3D graphics beyond the triangle.
In this workshop, we'll zoom out and try to gather a birds-eye view onto systems built with VL. We'll explore some of the underlying ideas that helped shaping the patches of some VL libraries or projects.
Maintaining installations with a lot of vvvv clients. Deploying, updating, synchronizing, monitoring, infrastructures based on vvvv and third party tools using vvvv and third party tools.
Everyone can make numbers look interesting – but let’s learn how to make them sound vvvvonderful!
This workshop is for artists, musicians, creative coders, professionals, students, designers, and whoever is interested in creating audio-visual content using vvvv.
This workshop is for everybody who needs a kickstart on the topic of networking in general, how the different protocols (UDP, TCP, MQTT, OSC, ZMQ,..) can be used in vvvv and what properties they have, so you can decide which one fits best for your use case.
In this workshop, we'll guide you through the whole process of turning a .NET class library into an easy-to-use node library for VL.
Schéma is a visual programming environment created in... a visual programming environment, namely vvvv gamma. Curious about building something of this scale in VL, then join this lecture!
In this workshop, we introduce the basic concepts of reactive programming that will make you understand how to work with Observables, react to events, and run computations in a background thread.
In this workshop, we will start with a general overview of the functionality provided by VL.OpenCV to then dive in a hands-on session where we will experiment with some of the more accessible and exciting features that this library ships with.
Materials define the appearance of 3D model surfaces and how they react to light. They can affect both the geometry of a model and its colors and multiple material layers can be combined to build more complex materials. In this workshop, we're going to explore the node-set that allows us to patch custom materials.
In this workshop, we'll get familiar with RunwayML, a tool dedicated to artists willing to use machine learning models in their workflow. Using the vvvv implementation, VL.RunwayML, we'll see how easy it is to integrate an existing model in our patches.
Stride is an open-source C# game engine for realistic rendering and VR. But how to get started? In this workshop we'll go through the basics of getting Stride, managing projects, importing assets and creating and controlling entities in a scene.
Visualprogramming is often equivalent to dataflow programming. With VL though, you can also use metaphors known from object-oriented programming. This means that with VL you can define your own datatypes, instantiate them, manage them in collections and call individual operations on instances.
Visual shader patching? Yes, please! These days, all major game engines have node-based material and/or visual effects editors. And their common purpose is to provide a way to work creatively with CPU and GPU data. The experimental ShaderFX in VL.Stride generalizes this approach and takes it one step further. You work with CPU & GPU data and operations on the same canvas, at runtime – vvvv style.
In this workshop, we will be diving into the VL runtime API. We'll touch general library design philosophies, like offering descriptive high-level process nodes that are easy to play with and talk about enhancing the patching experience for users of our library.
This workshop is for anyone without any experience in electronics/hardware, it's intended as a first contact between code <-> electronics, but with one of the most used and powerful and inexpensive micro controllers.
This talk looks back over a few years of swimming against the tide of Python to make machine learning a technology easy to use with vvvv. You'll see that, by getting your head around a few important principles, running models in vvvv can be pretty straight forward.
One major strength of VL.Stride is that it offers an easy to use scene graph and at the same time lets you go as far down to the graphics API as you want. This workshop will approach 3d rendering from these two opposite ends and you'll learn how to combine them.
Following tests from a few months ago regarding publishing your shiny VL nugets with Github Actions, we now have a dedicated action ready to be used!
For more informations on nugets, please refer to this section of the Gray Book.
Github actions are small scripts with a specific purpose, allowing you to automate tasks on your repos. They are actually the building blocks of what's called a workflow : you chain several actions one after the other in your own small script, and decide under which condition the workflow is triggered (a new commit on master, a new tag, etc).
There are already tons of actions allowing you to do all sorts of things from creating issues to running unit tests, and even make phone calls with a predefined text!
This action allows you to easily do the following tasks :
In other words, you just have to push your code/patches and nuspec to github, and the script takes care of bringing it to nuget.org for you.
You can find the list of input parameters the action expects here.
To get started with workflows, head over to the Github documentation.
The action can adapt to many different scenarios. Let's cover three cases so you get an idea of how the action works, and how to adapt it to your needs.
So your plugin solely consists of one (or many) VL documents and some help patches, plus your nuspec file that describes how your package will be structured.
Here, we are just using the nuspec and nuget-key inputs of the action.
Your csproj file can also describe how your nuget will be packed. In that case, simply omit the nuspec input. Note that if you provide a nuspec file anyway, it will take priority over your csproj.
By default, the action will push your package to nuget.org. You can simply use the nuget-feed input to push to a different feed.
The icon must be downloaded to an existing folder in your repo. We suggest you simply download it to its root :
Here, we ask the Github Action to download the icon from our URL and place it at the root of the repo.
Then, in the file section, your nuspec file must reference it from where the action will download it (src attribute) and place it wherever you like (target attribute), making sure target matches where the metadata section expects it.
You can setup an icon for your project inside Visual Studio. The tricky part here is that you'll have to specify a path to a file that does not exist yet, since the Action will take care of downloading it later on. This can feel weird since Visual Studio's UI gives your a Browse button for you to pick a file. Simply fill the path manually to match the icon-src property of your workflow file.
For instance, your workflow file would look like this:
and your VS package settings :
Thanks for reading, hope you'll enjoy using this one! If you are stuck or want more precision, don't hesitate to shout in the comments or in the forums.
I'd like to give you an update on the toolkit front, that vvvv has always been. While vvvv beta can be described as a dynamic system, mutating while you mold your patches, vvvv gamma and its workhorse VL are of a different kind. With VL we embraced features like
In short, we embraced robust software developing strategies that at first seem to contradict the idea of a playful development toolkit that allows you to mold your app. We went for compiled patches, running, and hot-swapping them while you are building them.
But we envisioned vvvv to be both
While my last blog post was about the language, let's focus on the toolkit this time.
Let's have a look at some features that allow you to interact with the VL runtime, the system that runs your patch while it allows you to edit it. The features here empower you to enrich the patching experience. We understand that these improvements need to "trickle up" into the libraries and only thereafter will have an effect for all users.
So the following is probably mostly interesting for advanced user and library developers.
You now can react to a selection within the patch editor. The more libraries do this the more playful the environment gets. We still have to figure out all the use cases, but here is a list of what's possible already
And there is more:
You can get a Live Element for a certain Pin or Pad.
useful for the cases where you want to always inspect a specific pin or pad of some patch. This can be helpful for debugging.
When a Skia Renderer is your active window, Ctrl-^ let's you jump to the patch in which it is used. This is handy when you opened a bunch of help patches and you want to see the help patch that is responsible for the output.
You can use the node ShowPatchOfNode to do the same trick.
Here you can see a custom tooltip for a user patched type "Person".
You now can patch your own tooltip with RegisterViewer. This way the patching experience will be so much more fun. We're in the process of adding more and more viewers for our types.
Up to now, we had
And now we introduce to you:
You can try it yourself by using the Warn or the Warn (Reactive) node.
The warning will not only show up on the Warn node, but also on the applications of your patch.
Sometimes it's just convenient to be able to send data from one patch to another without the need of feeding the data via pins. We now have send and receive nodes, like known from beta.
Some libraries focus on a simple idea:
Let the user build an object graph that describes what he wants in a declarative manner and the library will do the hard work to follow that description.
Examples for this approach are
VL.Stride and VL.Elementa have in common that they focus on a very certain type of object graph: A tree made out of entities and components.
Libraries like these can now talk to the user and enforce the user to not build any kind of graph, but a tree-shaped graph (where one child doesn't have many parents).
VL.Stride uses TreeNodeParentManagers, Warn nodes and S&R nodes internally to the deliver this feature:
You'll very soon be able to inspect those patches.
Help patches to all those topics will show up in the CoreLib API section (at the bottom of the listing).
We hope you'll enjoy these ways of integrating with the development env.
Thank you and we'll see you soon!
anonymous user login