change log - vvvv45beta32
released on 09 05 2014
general
- crack.exe is now setup.exe
- vvvv is now dpiAware meaning it works at any OS zoomlevel
- vvvv now defaults to /dx9ex, can still fall back to /dx9
- fixed memory leak when using /dx9ex and moving renderer window to different screen
- fixed small memory leak while patching introduced in beta29
- node in debug mode gets drawn in different colors if it writes to the log
- route more exceptions in DX9 pipeline through LogErrorFmt method which invokes exception dialog
- log will now include node address (if available) and will append the stack trace otherwise only available through the exception dialog
- user contributed packs can now have their own diffff
- girlpowers are reordered by topic now and comes with many new examples
- send/receive nodes now show their channel name by default (can be switched off via middleclick)
- improved startup time by reducing the amount dynamic plugin re-builds
- fix for double-bang?full=1 double bang issue.
code editor
- added async/await to code editor syntax highlighting
- fixed pluging-code-editor-flashing
patch editor
- now supporting basic touch gestures:
- Two finger pan = Canvas pan
- Press and Tab = Middle Mouse Click
- Two Finger Tab = Right Mouse Click (not shown in this video)
- Long Press = Right Mouse Click
- Long Press + Drag = Right Drag
- new selection behavior:
- if nodes and links are in a selection only nodes are selected
- if only links are in a selection they are selected
- pressing ctrl selects both links and nodes (old default)
- pressing shift only selects links
- IOBox labels now above node if iobox is inlet
boygrouping
- the TCP server will now use an in- and outbound queue per peer client to receive and send messages. fixes boygroup server freeze when one of the clients is frozen
- TCP server will close connection to peer client if outbound queue is full
- TCP client will also use an outbound queue now - shouldn't freeze anymore if server freezes or connection down
- fixed possible deadlock if client loses connection
- fixed issue that caused a boygroup client to not startup
- fixed access violation in nodes connected to a bridge and having nil on one of its inputs
new nodes
Touch (Devices Window) and TouchEvents (Touch Split) - see keyboard-mouse-and-touch-news
Shortcuts (VVVV) allows you to disable vvvvs mainmenu shortcuts to reuse the keycombinations for your own purposes
Reader/Writer (Raw SharedMemory)
PID (VVVV)
HandleFromPoint (Windows)
SendKeyboard (System) and SendMouse (System) nodes - see something-like-cursor-but-for-keyboard
= (Raw) node - see new-datatype-raw#comment-154383
FrameDelay (Raw) node
Line (EX9 FromTo) module now extracted from Line (EX9)
Align (Transform) module: Returns an aligning transformation given a point and a normal
Align (Transform FromTo) modules: Returns an aligning transformation between 2 given points
DrawVertexID (EX9) module
Grow (2d) module: Extrudes a polygon by a given factor.
-
- (2d Vector) module
SumUp (Value) module
Drag (2d) module
Camera (Transform 2d) module: Easy to use virtual camera for day to day work with the Renderer (EX9) and 2d scenes.
CharacterBrightness (Sring) module: Returns brightness of the characters.
AsAscii (EX9.Texture): Returns a spread of strings representing the texture.
NormalizeBinSize (T) modules: Translates given bin sizes to actual bins.
Shift (Spreads Index) module: Shifts the slices in the spread upwards by the given slice count.
Area (2d) module: Returns the area of a polygon.
Winding (2d) module: Determines wether a spread of polygon points is in clockwise or counter-clockwise order.
Centroid (2d) module: Returns the center of mass of a given polygon
Circumference (2d) module: Returns the circumference of the circle of the given radius.
AsRaw (String Hex) module: Encodes a string of HEX characters into a sequence of bytes using the specified encoding.
changed nodes
- basic overhaul to keyboard and mouse nodes - see keyboard-mouse-and-touch-news
- improved performance of Cons (Spreads)
- improved performance of Select (Value)
- Typewriter (String) is now spreadable
- Writer (Raw) will only evaluate upstream pins if Do Write is set to true
- Log (VVVVV) now writes utf8 file
- Levin is now Levin (Simple) as spreadable version appears in addonpack
- added host/port pins to SysLog (VVVV)
- SVG all svg geom nodes have an input to set the ID
- Path (SVG) node has a pin to set the path as open or closed
- receive nodes now will turn red on connection errors
- IOBox (Node) can now display raw byte sequences
- Renderer (EX9) Clip Device now off by default (as this caused problems with nvidia cards)
- DMX (Network Artnet Sender) now takes a port via /artnetsendport
- DMX (Network Artnet Receiver) now takes a port via /artnetreceiveport
- IOBox (Value Advanced) has now "Press" mode
- HWND (Windows) is now HandleFromCaption (Windows)
- Camera (EX9.Geometry Collada) is now Camera (Transform Collada)
- Finder (HDE) is now Finder (VVVV)
- Count (2d/3d) now more optimistically reporting one more slice if slice partly available
- added new pin Apply On Device Change to VertexBuffer and Mesh join nodes - see generic-dx9-multiscreen
- MonoFlop (Animation Framebased) is now a plugin. thanks woei.
- Player (EX9.Texture) scans given directory in background now
- Player (EX9.Texture) supports manual override of the used texture format now
fixed nodes
- fixed stack overflow in Queue (Raw)
- HID nodes should work properly now in x64
- Dir (File) used to AV if input is empty
- Memory (Debug) can now log to tty even without a renderer attached
- ModificationDate node no longer AVs if input file not available
- SpellValue now works with Unicode
- Leap (Devices) now also requests data if vvvv is in background
- Change (Animation) & Togedge (Animation): "Bang on Create" behaviour fixed. (note: creation is interpreted on a per slice basis)
- Value of Element (XElement Split) now only outputs the XElements' own text value (not a concatenated string of all its child text nodes as before). legacy Value now available as Deep Value
- fixed problem with IOBox (String) when canceling a dir-open operation on it
- SharedMem (Windows) has no memory limit anymore
- Normals (EX9.Geometry) no longer fails in x64
- replaced Copier (File Async) with legacy version and reimplemented as plugin - see copier-(file-async)-does-not-copy-files-with-less-than-1024-bytes
- fixed spread max calculation of Select nodes - bug came up when using with higher dimensional spreads
- fixed IOBox (Node) not evaluating upstream RAW nodes
plugin interfaces
- now available as nuget packages. see nuget-development-packages
- added ability to share the bin size pin in ISpread<ISpread
>. for an example look at the mouse join/split nodes here - moved Plugin property from IInteralPluginHost to IPluginHost2 in order to access it from the host without the need to reference hosting
- added small interface IPluginContainer in order to navigate to the real plugin in case a container is used by hosting
- improved performance of node pins by using the new methods INodeIn.IsConvoluted and INodeIn.GetUpstreamSlices
- IBackgroundColor allows to set a gui-plugins backcolor
- transform input diff pins report IsChanged correctly now
- introduced new interface IActivatableControl a plugin window can implement in order to get notified if parent window was activated or deactivated
- added new methods IHDEHost.EnableShortCuts and IHDEHost.DisableShortCuts in order to enable or disable the short cuts of vvvv's main menu
- new class DynamicStreamWriter - useful when length of underlying output stream is not known in advance
- fixed exception in BufferedStreamWriter when using with T other than a primitive data type
- fixed IDiffSpread
.IsChanged and IDiffSpread .IsChanged properties - see mouse.ischanged-always-true - added OutputRequiresInputEvaluation and IPluginHost.Evaluate methods in order to properly implement a generic frame delay node