» 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

As of this commit the plugin interfaces dealing with Direct3D9 stuff changed, breaking existing plugins using those interfaces. Plugins using the base classes from the VVVV.PluginInterfaces.V2.EX9 namespace are not affected by this change.

The affected interfaces are:

  • IPluginDXResource
  • IPluginDXMesh
  • IPluginDXTexture
  • IPluginDXTexture2
  • IPluginDXLayer

The change was necessary as it was unclear when to release the SlimDX device used by all implementations of these interfaces.

The situation before this change was like this:

public void UpdateResource(IPluginOut forPin, int deviceAddress)
{
  // The next call will either increase the reference count on the 
  // internal device and add the device to the object table of SlimDX 
  // or it will simply fetch the device from that object table 
  // (if the exact same call was for example made by another plugin)
  // and leave the reference count as is.
  var device = Device.FromPointer(new IntPtr(deviceAddress));
 
  // if not created yet
  var resource = SomeResource.Create(device);
  // do something with the resource
 
  // The next call is dangerous, as the reference count to the internal 
  // device will be decreased by one and the device will be removed from
  // the object table of SlimDX, but what about the resource created a few 
  // lines above? Or what about resources created by other plugins, which 
  // might still hold a reference to the SlimDX device?
  device.Dispose(); // Some plugins called this, some not
 
  // Not calling Dispose on the device is also not correct, as SlimDX 
  // will still hold a reference to the internal device. Say vvvv 
  // wants to go fullscreen and therefor creating a new device it 
  // might not be able to do so, as it can't get rid of the old one 
  // (reference count is still one).
}

So to get rid of all this confusion, we decided to move the Device.FromPointer() and device.Dispose() calls to a more central place, (where it is exactly known when a device gets created or destroyed) and hand that already created SlimDX device over to the plugin via the above mentioned interfaces. The plugin should never need to create or destroy a device, it should just use it. Therefor the above example gets as simple as this:

public void UpdateResource(IPluginOut forPin, Device device)
{
  // if not created yet
  var resource = SomeResource.Create(device);
  // do something with the resource
}

So the rule of thumb now is like it is for every other object implementing IDisposable: only call Dispose() if it is you who created that object. As you didn't create the device, don't call Dispose() on it.

Elias, Thursday, Jan 26th 2012 Digg | Tweet | Delicious 0 comments  

dir alpha patchers,

let us introduce you to a new service: from now on you have direct access to our daily alpha builds. The second we push code to our repository our server builds new packs (core + addons takes it around 5 minutes) and puts them online for you to test. ...and we call those "ahead of time builds" (but you may also refer to them as "alphas").

Please test them heavily and report issues only in the new dedicated alpha forum or on IRC?. We don't want to see any alpha-talk in the normal forum in order not to get people confused. The beta download is still the only one official that is supposed to be discussed in the beta forum.

For those who want to come even closer please checkout the vvvv-sdk which allows you to build all public sources of vvvv (including the whole addonpack) yourself with just a few clicks. This allows you not only to test the latest builds but also to fix bugs and contribute back to vvvvs repository.

The more you test and report, the more stable our beta releases will become. So thanks in advance for your efforts and happy patching.

yours,
devvvvs.

joreg, Thursday, Dec 15th 2011 Digg | Tweet | Delicious 4 comments  

on optical-flow elliotwoods commented:
"i think the AddonPack is a bit of a failed concept. It works for some users but I personally hate the idea of dumping all available addons into my vvvv folder."

just to clarify: we are aware that the situation with contributions and the addonpack is not perfect. the ideal solution would of course be a fullblown package-managing-system that handles:

  • dependencies
  • multiple sources
  • experimental/stable versions
  • a convenient browser
  • automatic download of missing plugins

sou..but until we have such a tool we think the contribution/addonpack duality works quite well. here is why:

without an addonpack we'd have the forum full of such:
"get this patch, works with beta26, needs contribution A version 2, B version 1 and contribution C version 3 (the one you find on myblog.com/contribC, the one on vvvv.org/xyz is outdated!)

an enduser (and we all are!) should not need to know about addons. for the first contact of a user with a node it is not important for him to know if it is an addon or a native node. if he is interested in that though, he can easily find out via the author-tag in the nodebrowser and find out more about a specifc addon.

the addonpack is a single download for the enduser that makes sure he gets working versions of all addons and their dependencies for a specific vvvv release. true, this adds a bit of a startup-lag but we think this is a good tradeoff for potentially reducing the problems of missing or out of date addons. no fiddling around with individual addons, just get the pack, don't touch it and you should be save 90% of the time.

now not every contributor wants to deal with github so we introduced a second standardized way to contribute addons, the contributions. here it is easy for everyone to upload stuff. also the integration of downloads into ones vvvv installation is easy]: make a directory "contributions" say on your desktop, reference that directory in vvvvs root and put the downloads in there. done.

of course the contributions bare the risk of becoming out of date but again that is an accepted tradeoff in order to make it possible/easier for more people to contribute.

that being said, ideally all addons would be developed in a fork of the vvvv sdk. like this it is very convenient for fellow coders to test/contribute to your stuff by simply pulling your feature-branches. in order to get an addon tested by people not familiar with github it makes perfect sense to upload binaries to the forum and get them discussed.

when an addon is ready for primetime all a developer has to do in order to get it included in the addonpack is then to send a pull-request to the main vvvv-sdk repository. once accepted we can all be sure that a version of all plugins working with a specific release will be available for all users with a single download.

and somewhere over the rainbow when we have the packaging-system we can stop distributing an addonpack and the system works directly with git in order to serve you always the freshest experimental/stable versions of only specifically requested addons (from even potentially different repositories, not only the vvvv-sdk). see? easy as cake.

till then, thanks for all your great work.
your devvvvs.

joreg, Monday, Nov 14th 2011 Digg | Tweet | Delicious 7 comments  

helohelo,

over the years vvvvs codebase has grown quite a bit. it consists of private code and an ever increasing pool of open sources. in addition there are contributions by more than 15 individuals to the addonpack.

we realized though, that working with so many contributors and a centralized version control system (like subversion, the one we used on sourceforge) became a bit of a pain. so in order to make all our coding lives easier we decided to follow the hype and move to github.

there you see the vvvv-sdk repository which contains all of vvvvs public sources plus all contributed sources from plugins in the addonpack (that were previously hosted on sourceforge). while at it we also simplified the repositories directory structure. so essentially you can now get everything you need to develop for vvvv with a single download and are ready to code (in case you're not sure: yes, this is amazing! you could tweet that. prolly smn like: #vvvv #sdk #github #gorgeous).

please refer to the vvvv-sdk wiki page on how to work with the repository (and note that this is not only useful for plugin-developers but also for module or help-patch contributors, as well as for effects magicians, freeframers, etc). if you're familiar with git, it is as easy as "clone, build" to get a complete working/running copy of all of vvvvs public code plus all stuff in the addonpack.

if you're not familiar with git, you'll likely hate it at first. we all did. but do yourself a favor, believe the hype and do some reading on using git (the vvvv-sdk page includes some links). it shold help you stop worrying...it took us more than a month, but we'd not change back.

also while at it we upgraded vvvv and all your plugins to using .net4 (to whom it may concern).

we realize there may be some questions left which we'll answer for you on irc? or in the forums as usual. have a good hakc.

yours,
devvvvs.

joreg, Tuesday, Nov 8th 2011 Digg | Tweet | Delicious 13 comments  

yes, yes we know, all you ever wanted was to write vvvv plugins with a functional programming language. and since microsoft officially added F# to the main .NET languages you can do that right away. thanks to Don Syme, who is the leading developer of F#.

read more...
tonfilm, Friday, Apr 9th 2010 Digg | Tweet | Delicious 2 comments  

Stefan Duffner, the developer of Qfsm kindly added an export window with vvvv automata code. From now on you can easily design your very complex logical state machine with a graphical editor. The Automata code is even updated live, when editing the state machine:

Download Qfsm for windows here:http://sourceforge.net/projects/qfsm

A little tutorial can be found here:
Graphical Automata?

tonfilm, Wednesday, Jan 27th 2010 Digg | Tweet | Delicious 0 comments  

Merry Chrismtas vvvvolks,

didn't posted lot of plugins lately, and they are now all posted in a row in this christmas pack :)

There's 43 new nodes for various things including:

  • System nodes: To have info on drives, files, system, services, environment variables... With some contribution from woei
  • 2d Meshes : Superformula and polygon
  • Hash functions: MD5 and SHA-1, in file/string flavor
  • Email : Send/List
  • Hittests : on quad/circles/polygons and superformula.
  • Interleave : Generic vector join/split
  • K-Means: Clustering from a set of points
  • Particles field: Velocity field based particle system
  • Regexpr : To replace string content using a regexpr
  • R/S : R/S nodes with last takes precedence paradigm, and allowing multiple sendstring with the same name
  • XQuery : To manipulate XML using xquery
  • Geometry : Linearsystem solver, minimum circle/sphere and more...
  • MTGuid2d : Multi touch adaptation of tonfilm's gui2d plugins
  • read more...
vux, Friday, Dec 25th 2009 Digg | Tweet | Delicious 0 comments  

This very simple effect is needed just too many times. I bet people have been repatching the behaviour of a slideshow many times. Even a Slideshow might be a cheesy way of presenting things, i believe you will need it from time to time. If you want to add features, patch it and start a vvvvorum thread. This is version 1.

Slideshow (EX9).zip (6.00 Mb)

  • Directory based image cascading.
  • Image and Video support (incl Video2Video blending)
  • arrage your assets in subfolders => different chapters
  • Ken burns effect
  • easily change the transition effect.
  • Control Videoplayback (skip forward-backwards, play/pause/volume)
  • outputformat is a Layergroup

have vvvvun.

david, Thursday, Nov 6th 2008 Digg | Tweet | Delicious 0 comments  

During the last month there has been some research work at the meso labs.

Starting from the thesis Graphical Web Server Programming by David? and Björn we have written a research paper which precises the advantages of visual programming of web applications. The paper will be published and presented at the WSEAS Conference of Communications Athens, Greece, July 13-15, 2006.

As a vvvv user you can already download the paper here. Hope you like it.

A data flow graph based approach to web application develo….pdf (81.61 Kb)

program_COMMUNICATIONS_COMPUTERS_2006.doc (600.06 Kb)

david, Thursday, Jun 29th 2006 Digg | Tweet | Delicious 0 comments  

for all timeline addicts out there... OSCGlue will connect VSTbased sequencers to the world of OSC. Now you can control your VVVV patches with Ableton Live.
Write a text file to specify which OSC parameters you need, open up in the sequencer, and you will have a VST plugin with all parameters as specified..

download and documentation here

bjoern, Thursday, May 18th 2006 Digg | Tweet | Delicious 0 comments  

anonymous user login

Shoutbox

~15h ago

joreg: We are complete: #NODE20 will feature 30 #vvvv workshops, from intro to masterclass, from user to developer: node20-workshops

~1d ago

joreg: Please help yourself to the latest #vvvv gamma 2020.2: vvvv-gamma-2020.2-release

~5d ago

nodeforum: E-mail invitations for NODE20’s Festival Hub have been sent out yesterday. In case of trouble let us know via help@nodeforum.org

~6d ago

david: @neuston: email is going out very soon!!!

~6d ago

neuston: @sunep Thx, but I have checked the spam folder but could not fine any

~6d ago

sunep: @neustron have you checked your spam folder? Mine went to spam.

~6d ago

neuston: I've not received any activation email for Talque, after purchased tickets of NODE20 last week. Is it normal? just want to confirm.

~6d ago

boplbopl: @tonfilm nice!

~6d ago

tonfilm: The first #vl #stride screenshots are here! vl.stride-earlyaccess-screenshots #visualprogramming #dotnet @stride3d #creativecoding #vvvv #gamedev