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

Change Log - vvvv45beta26

released on 17 08 11


  • more control over and comfort for numeric values and strings
    • you still can trust on the magic mechanism that helps you with entering valid values into ioboxes (subtype inference). Valid are only values that nodes connected to the output of the iobox can works with... (Think of the Index (subtype: integer) of a GetSlice (Spreads) connected to an iobox resulting in an iobox that helps you with entering integer values...)
    • however from now on you additionally can modify this subtype (and therefore behavior of an input pin of e.g. a module and its upwards connected ioboxes) in the following way:
      • IOBox (String) now let's you
        • set the Content Type (Any, SingleLine, FileName, Directory, URL, IP) reflected by a small (grey) icon,
        • a Default string (for when the user resets the pin)
        • a File Mask (for when you choose "FileName" as the content type (check the help patch for an example that only let's the user choose files of a certain file type)
        • and a Maximum Characters that restricts the user to only enter some few characters.
      • IOBox (Value Advanced) now lets you
        • set the BaseSubType (Real, Integer, Boolean) (meaningless configuration pins as a reaction get hidden)
        • specify the (visual) Precision of a real number
        • enter a Vector Size used for visual grouping of slices and as a default slice count when user resets via Alt-Right-Click
        • again a Default value
        • the Units of measurement to get a better feel for certain values (use s for seconds,m for meters...). (these can easily be entered directly in the iobox when entering a value, e.g. "5 km/h")
      • Minimum and Maximum now also modify the subtype, that helps entering valid values in this and all upwards connected ioboxes.
      • if the string representation of a value wouldn't fit into the iobox, a shorter is found by cutting of least significant digits.
    • "Integer" added to the quick node list
    • tooltips for vector & matrix subtypes also show up on ioboxes
    • general improved accuracy in tooltips (scientific notation is used for very big and very small values, otherwise the shortest easiest representation is used). A ~ says that the decimal representation of the value would be longer and has been cut off.
    • still ioboxes created over middle-click on any vector pin followed by a middle-click on the patch are the easiest way to configure ioboxes
      • now most subtype properties are copied into the iobox settings and typically need no further adjustment. (e.g. try this feature by fully configuring a first iobox, then middle-clicking on its in or output pin, followed by a middle-click on the patch)
      • hint: a further middle click labels the iobox (no new feature)
      • no longer sets the "ColsRowsPages" SliceCount mode, which eases the use of vector ioboxes as inlets for modules
    • better defaults for vectors, filenames and paths
    • relative paths (to files and folders) are now converted into absolute paths relative to the patch where they were entered. they still are saved as relative paths though. this should solve bugs in modules that received file paths, since they now already receive a solid absolute path...
    • Pin Visibility lets you specify how an iobox shows up as a pin from outside the patch (if a Descriptive Name has been entered))
  • less confusing node pin tool tips
  • better root
  • major fixes on texture feedback and resource handling for multi monitor setups
  • new quitoptions: open patch, new patch, quit
  • implemented new caching mechanism via nodelist.xml;
    • if a search path (added via NodeList (VVVV)) contains a nodelist.xml, all node infos beneath this path are read from the nodelist.xml file only.
    • if a search path does not contain a nodelist.xml, the directory is scanned as usual.
    • vvvv and the addonpack are shipped with their nodelist.xml files respectively.
    • for power users: a nodelist.xml file can be generated for a user defined search path by calling 'vvvv.exe /nodelist SEARCH_PATH'.
    • comparison of startup times incl. addonpack (after windows reboot / second time):
      • beta23 (1047 nodes): ~9s / ~3s
      • beta26 (1380 nodes): ~12s / ~3s
  • Layer outputs on Quads, Effects (...) only show up one slice, reflecting that you can't index into a "layer spread".
  • some filter nodes now work with "seconds" (time value subtype)
  • Reloading a patch now doesn't result in disconnecting from its surroundings in the parent patch any longer. You are also asked for if you would want to save your work from now on.
  • fixed some (last) enum bugs
  • under some circumstances disabled nodes using transform input pins didn't fetch upstream transforms when switched to enabled state
  • a color pin didn't report that its values changed if the change wasn't greater than a certain threshold. this led to various inaccuracies in some nodes.
  • unfounded red nodes bug fix
  • catweasels conversion bug fixed. addons-path-incorrect-on-start-patch-before-vvvv.exe
  • bug fix: nodelist is evaluated before any other nodes are evaluated. therefore dummynodes are replaced in time before they are evaluated.
  • fixed some convvverter bugs, which should reduce corrupted patches
  • crack.exe does better checks for existing components and offers more explanations
  • fixed mouse freeze/crash for cases when no Mouse (System Global) is used
  • freeframe and vst .dlls can be referenced locally again
  • no more problems with patches not loading that store "invalid characters"
  • new effects compiler that is substantially faster in special cases and no longer allows the ps_1.0 profile
  • saving *.fxh files shouldn't lead to multiple recompilations of effects.
  • some bug fixes regarding replacement of missing (red) nodes.
  • fixed an issue where a change from an output pin of type 'Node' wasn't acknowledged by downstream nodes which were evaluated some frame later.
  • Interlave plugins from vux are in the difff.xml and convert to Vector (Spreads Join) now.
  • patches that where edited once in versions >= beta25, than again in versions < beta25 could get corrupted when opening with current vvvversions again. fixed that weirdo SiftNearmost (2d)
  • better error reporting can be activated via the main menu (ExceptionDialog) or enabled via command line argument '/showexceptions'.
  • dynamic plugin templates reference System.Core, SlimDX and VVVV.Utils3rdParty by default now
  • better error reporting if dragging a dynamic plugin on a patch (*.csproj file) fails
  • dynamic plugins couldn't resolve referenced assemblies in some cases


  • Renderers can now be docked again
  • fixed heavy lag when changing values on iobox or pin
  • fixed problem with IOBox (Color) when leftclicking while rightdragging
  • fixed problem with deleting nodes while in locked-patch-mode
  • fixed a few out of range exceptions for NodeBrowser: .node-browser-bug
  • CodeEditor no longer zooms back to 0 on AltGr+0
  • @ works again on danish keyboards
  • alt+e on patch now opens explorer with current patch focused (moved rescanning for freeframes and vsts to alt+shift+e)
  • introduced icons for subtypes in string ioboxes
  • fixed: clicks on enumpulldowns in inspektor sometimes set mousecursor to topleft
  • new drawing style for bangs
  • windowswitcher is now bigger by default
  • fixed problems with scrolling values/colors on multimonitor setups
  • disable fx-autocompletion by removing \bin\hlsl.fnr
  • fixed index out of range exception when playing with node and window selection
  • only one instance of a patch can now be opened via doubleclicking on a .v4p in explorer
  • Shift+Alt+F4 to force quit (no questions asked)
  • fixed out of range exceptions in project explorer, if one tried to sort assemblies in the reference dialog
  • press ctrl+f in reference dialog of project explorer to search in global assembly cache

changed nodes

fixed nodes

new nodes


  • added non-generic version of ISpread and IDiffSpread
  • use default logger with attached plugin logger as ILogger implementation for plugins to ensure calls are marshaled to the GUI thread when called from other threads.
  • changed signatures of methods IAddonFactory.ExtractNodeInfos
  • ISpread<ISpread<...>> implementations weren't properly disposed.
  • added new property Timestamp to INodeInfoFactory
  • INode2 didn't emit Renamed event after node info changed.
  • bug fix that makes the Cons<T> node work for user structs
  • IDiffSpread<T>.IsChanged should work correctly now in case of config pins.
  • fixed crash if SetSubType was called with +Infinity/-Infinity.
  • removed Pin<T>.Delete() method. Use Pin<T>.Dispose() instead.

anonymous user login


~9d ago

domj: https://youtu.be/omqlZepW69g sonic pi live @ tami

~15d ago

benju: Job: Lehrkraft mit Kentnissen in Python, Machine Learning und Grundlagen der Informationstechnologie gesucht: https://bit.ly/2TtgOoJ

~15d ago

david: reminder: starting at 2pm CET today: online-workshop-shiny-generative-graphics-with-vvvv

~17d ago

readme: Let's appreciate the most important feature being the flat UI redesign. Even though blueprints still remain ugly ...

~19d ago

~19d ago

joreg: reminder: tomorrow, tuesday May 25, 8pm CET: #vvvv online meetup: 11.-worldwide-vvvv-meetup