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

Change Log - vvvv50beta37

released on 5th September 2018

VVVV

general

new nodes

fixed nodes

  • Tokenizers now handle irregular input correctly
  • Camera (Orbit) hast damping again
  • Fixed division by zero in TextEX9 node when fed with nil
  • AsImage node will turn red in case it can't handle the incoming texture instead of just logging to tty
  • Disabled context menu in HTML texture
  • fixed small issues on CreateEnum (no multiline string, rare cyclic patch involving this node now works)
  • Ex9 renderer with clear turned off: when re-enabling the renderer we now don't clear it

VL

  • big CoreLib Cleanup
    • introducing keywords "Experimental", "Advanced", "Obsolete"
    • "Internal" to hide nodes
    • Adaptive nodes now can spread into different categories
    • many NodeBrowser refinements
  • Tooltip and Nodebrowser not always on top
  • Improved File IO
  • Patch Your Own MainLoops
  • Better serialization
  • Groups and Categories
    • groups now can be placed everywhere
  • Frames
  • Fix for undo/redo where sometimes the wrong patch got tackled
    • note: a name change of a type, group or category is always covered by the undo history of this element. For undo you need to navigate into it.
  • Better exception reporting
  • improved document management:
    • Close a document via Ctrl-F4
    • Ctrl-W closes a tab. Hiding last tab hides window
    • Drag dropping VL documents now simply opens the document as this is 99% of time what you want
  • added scrollbar for enum dropdowns
  • fixed glitches for enum dropdowns
  • less verbose warning for mutable links (now only visualized with a yellow sock at the end of a link)
  • IOBoxes cannot be interacted with anymore if only used for display
  • SolutionExplorer navigates to open patch when opened
  • Cache region can optionally dispose cached objects when creating new ones
  • added many help texts to nodes
  • dynamic enum for installed system fonts
  • color editor remembers hue and saturation while changing value with mouse
  • Destroy operation is now called Dispose as in .NET
  • tooltip now uses custom ToString method (if defined) to display values
  • In case hot swap fails the exception will be logged and the runtime will be put into the stopped mode so user can act upon error accordingly
  • Rewrote how incremental compilation works and how model gets synchronized to symbols
    • Compiling should be quicker now
    • Fixes issues like "Object is no subtype of Object" when patching in document referenced by others
    • Fixed that the UI wasn't always in sync with current compilation
  • Enabled pin groups on process nodes
  • Do not generate unique names anymore when pasting elements
  • Added support for multi dimensional arrays
  • Destroy is now called Dispose and user has to implement IDisposable interface on patch explicitly
  • Added non-generic ISpread and ISpreadBuilder interfaces
  • Added IVLObject interface which gives access to the VL runtime graph in a nice dynamic fashion
  • Added IVLTypeInfo and IVLPropertyInfo in order to be able to reflect on VL object graph
  • Added IVLFactory interface which gets passed in to new static RegisterServices entry points
  • In case a VL document defines a non-generic RegisterServices operation it will be called once after each re-compile. For many documents they will be called in reverse topological order
  • Virtual methods of the Object class can now be overriden (ToString, Equals, GetHashCode)
  • Whether emitted VL types behave in an immutable fashion is now decided by an internal flag -> process nodes can be mutable as long as the surrounding context is
  • Loops will now re-use the output spreads and only create new ones if the data actually changes
  • Hot swapper will now traverse deep into the VL graph in order to figure out whether or not a swap is needed
  • Removed restriction for apply pin lifting that first pins must be named Input and Output
  • Documents can now be reloaded from disk
  • Color editor remembers hue and saturation while dragging
  • Redo now also works with CTRL+Y shortcut
  • Splash screen for first long VL compile
  • library developers can use the "lib-native" pattern early on. freeing them from the need of creating a package before they even start working on the library
  • IOBoxes have much less annoying tooltip

new nodes

  • Spread generator nodes (LinearSpread,...) are now Processes with their stateless companions (CreateLinearSpread,...) being marked as advanced
  • HoldLatestError (Reactive)
  • MultimediaTimer and BusyWaitTimer see vl-patch-your-own-mainloops
  • MidiClock in/out
  • MidiMonitor to debug midi messages
  • MidiPlayer to play back midi files
  • Rectangle creators with anchor point
  • Scale and Inflate to modify rectangles in each direction
  • RotateBetween to rotate objects from one direction to another direction
  • AlignBetween to align objects between two points
  • TryDispose to safely dispose objects and collections
  • Four new experimental nodes called TryGetValue, TryGetValueByPath, WithValue and WithValueByPath which allow you to modify VL instances in a rather dynamic fasion
  • FromImageBitmap
  • Imported all mutable .NET collections like List, Dictionary, HashSet...

fixed nodes

  • Filename (Split) has now string as first output to be opposite of Filename (Join)
  • MidiOut closes device properly
  • Filter (Animation) has a "Reset" pin
  • OnOpen has a "Simulate" pin
  • Fixed AsyncLoop stopping when patching outside of it

changed nodes

  • Serial port sender and datagram sender nodes will now turn pink if they catch exceptions on background thread

bug fixes

  • Fixed region choice not showing up on directly imported nodes
  • Fixed default values not being copied to pin group pins
  • Fixed not being able to get rid of red apply pin
  • Fixed invalid target code when passing struct to method expecting an interfaces - boxing was missing
  • Fixed dead lock when debugging with Visual Studio 2017
  • Fixed issue where ForEach region was broken after Copy&Paste
  • Border control points outside of regions will now show proper error message and will be rendered by UI
  • Fixed Ctrl+Plus adding pins on nodes where lifting is not even supported - see https://discourse.vvvv.org/t/adding-pins-to-generic-fails/16348
  • Fixed image copying functions to take scan size into account
  • Fixed super expensive equality check of Path
  • Fixed broken links when moving a selection into operation definition
  • Fixed stack overflow when creating and using a custom operation called "With" on a class or record
  • In case hot swap crashes for a particular field create the whole value anew
  • Fixed pin value of optional apply pins on process nodes not working
  • Fixed issue in converter of old VL patches that Break or Keep pins inside loops didn't show up anymore
  • Fixed custom value indicator not working on first pin in case by-pass lifting was applied
  • Fixed some settings not being reloaded when saving settings file
  • Fixed crash when installing a package while vvvv/VL is running
  • Fixed performance issue in compiler when opening patches with many links
  • Fixed performance bottleneck in UI code when looking at patches with many links and subpatches
  • Fixed a dead lock when loading VL documents
  • Fixed a crash in "Code" window

anonymous user login

Shoutbox

~11d ago

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

~17d ago

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

~17d ago

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

~19d ago

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

~21d ago

~21d ago

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