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.
here is to give you a little heads up on UI related improvements for the upcoming beta32 release. so read carefully now and don't later say that nobody told ya.
most importantly (and as already mentioned before) vvvv is now fully dpiAware meaning that you can enjoy vvvv at any OS zoomlevel which you can specify via
Control Panel\Appearance and Personalization\Display
thanks to everyone who bugged us on this one for quite a while and thanks for your testing and reporting.
as also mentioned previously vvvv can now be basically operated via touch devices. Please see that older posting for gesture details.
so among other nifty options this means that you can now by default select a group of nodes in your patch and delete them without worrying that you'd also delete links which you'd rather keep.
here is the first feature backported from vvvv50 to 45: inlets (ie in vvvv45 an IOBox that has a descriptive name and is only connected to downstream) have their label displayed above the node for better readability. ages ago this has also already been suggested by urbankind.
IOBox (Node) can now display a stream of raw bytes which was an obvious thing still to come and requested by everyone working with raw data.
IOBox (Value Advanced) now features a new behavior for 'Boolean' valuetypes called Press which returns a 1 for as long as the right mouse button is pressed on it. also requested long time ago by sven.
as requested by seltzdesign and reaktant Send and Receive nodes (of all types) now show their channel-names in their nodes by default. that will make it easier to navigate patches with a lot of S/R nodes. if you hate that you can still remove the label easily with a middleclick on the nodes. note that this flag is simply stored as a configuration pin called Display Channel on all S/R nodes. also note that when opening <b32 patches you'll have to manually enable this on S/R nodes there we didn't want to mess with your old patches.
ever saw your tty spammed and wanted to find which node this is coming from? now hit debug mode (ctrl+f9) and see nodes logging to tty rendered in a different color. while this feature kind of has been there for quite a while it is now really supposed to work. also Renderer (TTY) has a new configuration pin called Show Node Address which even displays the full node-path to the node that is spamming.
so you see all simple stuff hopefully improving ease of use..ah and of course now would be a good moment to test all this in the latest alpha builds and report problems in the alpha-forum as latest alphas already pretty much are what you'll get with b32.
"The Humble Quad Bundle" by #vvvv serves 4 computer classics implemented using the stilltocome #visualprogramming language codenamed #vvvv50
(hint: the above are exactly 140 characters)
The bundle comes with a reissue of the hit games Pong (1972), Frogger (1981), Worms (1995) and Asteroids (1979) all realized using the patternpending Quad render-engine. Something for the whole family.
we just had a look at the calender and noticed it's been already over a year since we told you about our next big thing. those who were there at the node13 keynode event already got a glimpse but since then we kept a low profile on that thing again. we're now slowly coming to a point where things start working and we feel we can start sharing some more infos about what is to expect.
we're currently in the process of testing patching convenience and the usability of certain language features and paradigms. all with vvvvs traditional focus on ease of use.
the games above are the result of our first round of applying the new language to some actual problemsolving. specifically we picked one very common problem for a start that is managing the life-time of objects. And the term "object" is key here. where in vvvv45 you need to manually synchronise several spreads representing the properties of your objects, in vvvv50 you can comfortably (on a high-level) think in actual objects that have data and operations that act on that data. so eg. when the spaceship shoots we can create a list of rockets that have a position and speed and and ask them to check if they hit one of the asteroids. and when they do, we can remove them from the list of rockets and tell the asteroid to explode...
here is a screenshot of the asteroids root patch. have a look around and see if you can read it. don't worry, it took us a while ourselves as well.
(click image for a sharper version)
now here is a little vvvv50 faq:
will it run on mac/linux?
probably. it is all written in pure c#/.net which runs cross-platform via mono. we haven't done extensive testing on this yet but are halfway optimistic.
will it run on devices?
probably, see above answer.
when will it be available?
rumours are there will be a node15...
can i alpha-test?
don't call us, we call you. we'll slowly start reaching out to testers when we feel it makes sense.
will it be faster than vvvv45?
will the first version be as amazing as vvv45 is now?
nope. but in a good way.
thats it for the first treat. expect more posts introducing some of the new features in detail in the coming months. but now next up is the release of beta32 scheduled for late april.
Pretty early in its devvvvelopment vvvv introduced an automatic patch conversion system that allowed us devvvvelopers to change nodes' behaviours, namings and defaults under the hood, while converting users' patches in a way that no damage is done to old patches.
The diffff.xml file in vvvvs lib folder has all the info of changes between the different versions.
In many cases we ship legacy nodes with the unchanged behaviour but now change their name to reflect that they are legacy. The diffff.xml then only needs to convert the old patches in a way that the legacy node is taken and not the node with the new behaviour...
Since we now also have pretty huge packs, managed by external devvvvelopers, we now also introduce versioning per pack.
Packs from now on may ship a version.info file and a diffff.xml file.
When vvvv starts up it figures out which packs are loaded and stores the versioning infos of all packs into the patches to be able to convert them later on.
If you are an author of a pack or just want to learn more about pack versioning, please have a look here:
This folder shows you some ideas about conversion and also back conversion.
If you feel like it, you could temporarily move this folder into your packs folder to have a try.
Read the diffff.xml for further info. You might want to use this as your starting point when creating your own diffff.xml.
recently we made a few (partly long requested) changes to vvvv that were finally necessary with the advent of win8.1 which caused some things to break. so here we are:
vvvv is now fully dpiAware meaning you can finally use it at any OS zoom level which you can set via:
Control Panel\Appearance and Personalization\Display
fonts will stay crisp and nodes/pins will sit at their right place.
in order to be able to basically operate vvvv on windows tablets we introduced simple touch support. as you're used to from your favorite OS think: rightclick = double-tap (or windows standard: index-longpress) and middleclick = index-press + middle-tap. so in other words:
that should do for a start..
we've now turned on the /dx9ex switch by default on win>=vista. if for some reason you still need the old version you can now fallback by using /dx9 as a commandline parameter.
also crack.exe is now checking for .net4.5 on win>=vista to make sure plugins possibly written in .net4.5 don't ruin everything. win8 comes with .net4.5 anyway so this will only be an issue for Vista and 7. and since the vvvv core does not yet make any use of .net4.5 features running on winXP (which cannot install .net4.5) is still possible, see also: plugins-targeting-.net-4.5
for even more fixes also check the Change Log.
and so before we make those all into a beta we'd like to ask everyone to take the latest alpha for a spin and report related issues in the alpha forum. the simplest test would be to just open your current project and see if everything behaves as expected. this is your last chance to complain for before beta32.
have a good patch.
there has been quite some confusion in the past whether or not it is possible to write plugins for vvvv targeting the .net 4.5 framework.
.net 4.5 is an in-place update to .net 4.0, which means that as soon as you install .net 4.5, your 4.0 installation will be replaced and you'll be able to write plugins targeting 4.5.
as it is an in-place update the assembly version (like System.Core 126.96.36.199) of the .net class library will stay the same, whether you target 4.0, 4.5 or 4.5.1 - so don't get confused by that.
for more details regaring .net framework versioning see http://msdn.microsoft.com/en-us/library/bb822049.aspx
As promised a year ago there are no more vvvv releases on the 24th of december.
But that does not stop any of us to release stuff on the 25th of december.
With great pleasure the first alpha preview of the new vvvv audio engine is here in the beloved vvvv-pack format. The focus of the engine was not so much DSP programming but flexible signal routing for large scale installations and VST support: vvvv.audio-pack-alpha
And here is a little x-mas amateur demo video of the audio engine:
Have some nice holidays with the new toys!
And be aware, its windows only!
There's been another update to the mouse and keyboard nodes before but that turned out to still cause troubles:
Now there've been notable contributions to work around some of those issues, like windowstouch, global-keyhook and directinput-(devices) but those being really basic things we thought we'd give it another shot.
So here is what you get:
|Device type||Source nodes||Sink nodes|
|Keyboard||Keyboard (Devices Window)
Keyboard (Devices Desktop)
KeyEvents (Keyboard Join)
|KeyEvents (Keyboard Split)
KeyStates (Keyboard Split)
|Mouse||Mouse (Devices Window)
Mouse (Devices Desktop)
MouseEvents (Mouse Join)
MouseStates (Mouse Join)
|MouseEvents (Mouse Split)
MouseStates (Mouse Split)
|Touch||Touch (Devices)||TouchEvents (Touch Split)
TouchStates (Touch Split)
For the plugin-developer:
all available now for testing with the latest alpha builds
Due to our recent build server change, we accidentally broke the fetch-binaries script, which gets called by various post merge/checkout hooks installed by the init script and so in turn we managed to break the whole checkout/pull procedure :/
Sorry for that.
We decided to get rid of all these post merge/checkout hooks entirely and let the user decide when to invoke the fetch-binaries script for the following reasons:
The init script was used in the past to install post merge/checkout hooks to your local .git folder. These hooks did stuff like updating symbolic links or downloading a matching vvvv.exe from our build server. We got rid of the symbolic links about a year ago and the automatic download of a new vvvv.exe everytime you switched a branch started to get cumbersome.
Now in order to get everything running again you'll first need to delete those broken post merge/checkout hooks installed in your local .git folder.
Navigate to vvvv-sdk\.git\hooks and delete all non-sample files like this:
You can now do the usual
git pull upstream develop
And after ensuring that powershell 3.0 is installed (installed by default on windows 8) you can fetch a matching vvvv.exe (32 bit) with
Or in case for a 64 bit version do a
We've also updated the vvvv sdk page to reflect these latest changes.
When writing a plugin for vvvv the developer needs to at least add a reference to the VVVV.PluginInterfaces assembly. In order to do so there've been two choices up till now:
Both of these choices have drawbacks. Referencing directly requires the developer to update the assemblies manually with every new vvvv release, referencing the project enforced the inclusion of the whole vvvv-sdk which is quite large and sometimes tiresome to build.
Thanks to NuGet (a package manager for the windows development platform) and TeamCity (a build and NuGet server) a third choice emerged without the drawbacks mentioned above: referencing the assembly via a NuGet package.
Everytime our build server builds a new version of vvvv, it will also create a bunch of NuGet packages (VVVV.PluginInterfaces, VVVV.Utils, etc.) with the appropriate version information. When doing an alpha build those packages will be considered as a so called pre-release package by NuGet, when doing a beta build those packages will be considered as a stable release.
Now in order to create a plugin for vvvv by using NuGet, the developer has to:
NuGet will now download and add all the necessary dependencies to the project file and whenever a new version of vvvv is available, the NuGet package manager will ask whether or not to update the installed packages.
As of version 34.101 the packages should work in AnyCPU - for details see here
This was long overdue. While patching with vectors it happens quite often that you have to convert from 2d to 3d or vice versa. Until now you had to create the appropriate vector join/split nodes and connect the components with each other. this is history. the new swizzle nodes should cover 90% of those cases.
And while at it, the vector join/split nodes got a rewrite and are now 4-5 times faster.
Try it out in the latest alpha build and report the bugs as usual.
anonymous user login