Blog

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.

what a ride that past 2016. and already 2017, the year of the next NODE, is in full swing. just in case you live behind the moon and this is the first post that reaches you in a while, learn this: vvvv 50beta35 plus addonpack is out now. it ships with vl and is gorgeous (in that it had >1000 downloads in the first week and no substantial bug report to day, yay!). can't be bothered to read through the annoucement? watch the video.

A new human being is on its way to the world. The new person is very close to being ready to enter the world and can already be felt and heard if you listen in the right way.

To celebrate his pending arrival and future ability to see and hear the World without it being filtered by mums belly, Vilhelm is making a little concert.

Vilhelm already has a very active heart that beats around 135 times per minute. Through the use of a fetal doppler ultrasound probe it is possible to hear the heart and other sounds from the womb. These sounds are manipulated to create interesting soundscapes all while being able to hear them as clearly as we can capture them.

There are in total 4 concerts

December 9 2016 at 22:00 at platform 4, Aalborg
December 21 2016 at 20:00 at Odense Musikbibliotek, Odense
December 28 at 16:00 and 19:00 atCafe Sorte Firkant, Copenhagen N

But it doesn't stop there. Since the last release obviously a long time has passed in that we continually fixed user-reported bugs and added a range of smaller convenience features besides the one big new feature that is: VL

So first here is a listing of all blogposts introducing some of the fixes, changes and improvements that you now benefit from when using beta35:

For the complete list of many more smaller changes please consult the Change Log.

A good bunch of those new features (Editors, Firmata, TUIO, EyeTracker, Leap, ArtNet, Spread nodes) are (under the hood) already built on VL. So even if you don't use VL directly you're already benefiting from it through those new developments. And this is only the tip of the patchberg...

Introducing VL

Having been in public alpha since its first introduction during NODE15, VL has undergone one more major internal rework which we hadn't anticipated back then. As lined out in previous blogposts in more detail this was also the reason for the more than one year delay on its first beta release. Here we are now ~5 years (including initial drafts) into VLs development and we can finally say without doubt that we've created something useful, which in combination with vvvv-as-you-know-it can improve your productivity and the complexity of things you can now create, immensely. If you let it.

VL is the 4th language that your favorite multipurpose toolkit supports. Besides using the editors for vvvv, hlsl and c# you now have the option to create nodes using VL. Where until now you used dynamic c# plugins you can now often stay in the visual world and conveniently patch quite complex things. Here are the top usecases we identified for which we recommend VL now:

patch your own datatypes

handle dynamic numbers of objects (not only primitives) in spreads

patch more complex logic

loop over the slices of a spread in one frame (if the vvvv spectral nodes are not enough)

create a more complex node without thinking about how it will be spreadable

patch with delegates. dele-what? yep, check it out!

patch stuff running asynchronously (still experimental)

SDK

We're aware that many of you are specifically waiting for a way to create/import your own nodes for VL. We were hoping to have that ready for this release but at this point are not entirely happy yet with the process and want to give it one more round of fine-tuning before releasing it to the public. So please bear with us on this.

Pricing

A feature-explosion like this should clearly be reflected in the pricing, right? Absolutely! But here is the deal: We first want to get you hooked. So as long as you're using VL inside vvvv we'll not be charging anything extra thus practically increasing the cost-benefit ratio quite a bit. You're welcome. When later VL will be available as a standalone version we'll come up with something reasonable...

Next steps

Now let's give us a break and you the time to dive into all those new gems. Video tutorials are quasi in the making..documentation will grow as you ask for it. We're looking forward to your feedback and will further outline our next steps at the beginning of 2017.

So please, use VL now! For research, prototyping and production. It works, it is fast, it is tremendous. EVERYONE SAYS SO!!!1!! And in the unlikely event of still encountering problems with it we're looking forward to help you out in the forum!

not much is happening in the addonpack anymore recently as most contributors decide to release their own packs. So please look over at the Contributions for the latest hot stuff. To keep up-to-date with latest developments be sure not to miss the monthly recaps, see: vvvvhat happened in November 2016

Studeo Group is a communication agency based in Milan, specialized in interactive media installations for cultural and corporate companies.

We are designing a multimedia space in our studio. It would like to be our display to the world in order to receive clients and prospects.

We are looking for a young person with basic programming skills and sense of design and aesthetic. The candidate will be taught vvvv programming by our interaction designers and he/she will be involved in designing and programming the multimedia installation.

With this implementation:

Just plug a DigitalWrite (Firmata), AnalogWrite (Firmata) or ServoWrite (Firmata) node to the FirmataBoard node (or concatenate them together) to set the pins of the Board.

Connect DigitalRead (Firmata) and AnalogRead (Firmata) nodes to get the values from the Board's pins.

Use the Sysex Messages output to receive different 'Sysex Messages' sent back by the Microcontroller Board. Some Sysex decoders are already there (see StringDecoder (Firmata), CapabilityResponse (Firmata), FirmwareResponse (Firmata)). Sending custom 'Sysex Messages' is easy as well.

The node is able to talk to any microcontroller board loaded with the standardized Firmata firmware without any further configuration. In the Arduino-world such Firmata firmware is called "StandardFirmata".

Have some custom Firmata running on your chip? Just provide the configuration manually using the BoardConfig (Firmata).

Easier than ever before:

no need to supply a spread for all 20 pins and then SetSlice some of them to particular values.

The vl panda goes to..

Here the choice was more difficult since the only actual two vl relevant bugs were posted by dominikKoller whom we had to exclude from the hunt since he was working with us over the past months and had an unfair advantage.

In the end we decided to award the panda to stalhenk who posted a nice testpatch that demonstrated a problem with the new firmata nodes (that are internally patched with VL):

We want to also thank everyone who participated for their time and of course we are grateful for every bug-report that came in before the hunt started and already for each single one still to come. But for being able to choose winners we had to set a time-frame and some rules..

So treat them pandas well and we're hoping to soon see a posting of sebl and stalhenk in the gallery showing what they're using them for.

this little feature upgrade for both vvvv and vl has been lingering around the alphas for a year already...

do you (have to) create touch applications with vvvv? then read ahead:Pan, Zoom, Rotate, TwoFingerTap and PressAndTap touch gestures are now handed over to you via the GestureDevice. As expected they're multitouch capable, so they report an ID, the position, the distance (Pan & Zoom amount) or the Rotation, and a device ID (in case you have multiple monitors hooked up)

gesture node set in vvvv

As with the Touch nodes, these also rely on the windows message loop. so touchscreens with windows capable drivers required. fortunately most screens do have these nowadays...

check the helppatches for a microdemo

As mentioned, everything is accessible in VL as well. though you have the equivalent of the vvvv nodes as the one GestureState node you see a lot more nodes. due to VL understanding types it's possible to have much more fine grained control over how to deal with the incoming gesture events.

so while the features are freezing we're still cooking the bytes on a low temperature to get them all smooth..

UI Performance

Finally we took the time to do a few performance tweaks on the UI. Not perfect but quite an improvement to what you've seen so far. Selecting nodes and moving them around is now definitely at interactive rates. What you'll still see is that your animations are interrupted while handling the patch. While this might be annoying in the first version of the VL integration, we have worked on the foundations for a non-blocking approach. So expect that to improve in the future. Just not now, priorities are to make everything work first.

Clocks and Time

Previously all VL nodes which do time based calculations had to have an input pin for the time per operation. The default value for the Time type was set per frame by the VL runtime.
This is now different: You can make a Clock or a FrameClock input on the Create operation of your patch or type and store the clock in a pad to access the time in the other operations. This prevents you from making time inputs for every operation. The default value of the Clock if nothing is connected is the VL runtime frame clock.
The Clock type is very simple and only has a Time property.
The FrameClock has a additional property TimeDifference which holds the delta time since the last frame. This saves you from calculating the delta time everywhere on your own.

Further

there've been some fixes for high-dpi screens

in the patch-explorer (topleft) unused properties now draw transparent

vl-nodes in vvvv now turn red if there is an error in vl

some unnecessary entries have been removed from the TypeChooser

the nodebrowser now shows more help strings when hovering nodes

the middleclick alternative (alt+leftclick) now also closes patches when pressing it on a tab

you can now type a pin as Spread<> to get a spread in vvvv (needed to be Sequence<> so far)

defaults of pins now propagate upstream correctly

a couple of tweaks/cleanups to the VL.CoreLib.vl

Next Steps

If all goes well we'll see the beta35 (including VL as a first class patching language) release soon™ and with it we're entering phase 2 where we'll actively try to convince you to have a look at VL and actually start using it for your projects. At the risk of repeating myself.. this should be done by updating the gray book and providing a couple of introductory video tutorials. And then the world...

let's try something different: how about you find a bug in vvvv/vl and you get a LattePanda in return?

The full story

We're targeting the beta35 release for end of this year. beta35 will easily be the most feature-rich release of vvvv ever in that it will be coming with a new alternative visualprogramming language called VL, besides quite some other new stuff and bugfixes.

In order to make sure beta35 gets a good start we're on a feature-freeze in the alpha-builds now and are planning to invest the coming weeks for bug-fixing only. And this is where you come in: We'd like to encourage you to give the latest alpha-build a ride and see if you stumble upon anything that we better have fixed in beta35.

The rules

Every bug counts, but note that for this bughunt we're specifically interested in bugs that are new in current alpha builds. So either a bug in one of the new features (listed below), or something that did work in beta34.2 but now is broken.

Report your bug(s) in the forum under the "bug" category until December 13

Make sure the bug is in either vvvv or vl (not the addonpack or any contribution)

Create a little demopatch and/or step-by-step guide to reproduce

If you're reporting a problem that did not exist in previous versions let us know which was the last version where it worked.

How we choose the winners

Quality: the better documented the report, the easier for us to reproduce, the better

Relevance: how relevant we consider the problem (from annoyance to show-stopper)

Quantity: you can enter multiple reports

How to find bugs

Open any of your projects with the latest alpha version and see if it runs as expected. If you see problems, start to investigate: are there any red (missing/error-throwing nodes)? does TTY say something? Try to extract the problem from your project and demonstrate it in the smallest possible patch.

Open any of the help-patches or girlpowers that come with vvvv and see if there is a problem

Have a look at any of the things that are listed as new below and see if they work for you as expected

We realize it may be harder for you to find bugs in VL since there isn't any proper documentation or demo yet. We hope you can see this as an extra challenge. Use it as you would intuitively use it and see what you stumble upon. You're of course also very welcome to ask any kinds of questions regarding VL on IRC or in the forum and we'll try to guide you to your first bugreport..

Whats new in alpha builds

To give you an idea of what to look forward to with beta35 and where to specifically check for bugs, here is a collection of the most recent relevant blog-posts introducing new features: