Log in
Log in

or
Create an account

or
News

vvvv 45 beta 25

vvvv group has released vvvv 45 beta 25.

 

General changes:

  • Caching now saves only one file into the application data/temp dir.
  • Slightly better startup performance due to lazy loading of dynamic plugins.
  • Fixed a crash of vvvv if a plugin tried to log from a different thread than the main thread.
  • Fixed various memory leaks related to plugins.
  • Dynamic plugins copy locally referenced assemblies to the output directory on compile, so it should not be necessary anymore to put external dependencies in the bin/managed or plugins folder of vvvv.
  • Fixed a few threading issues regarding background parsing of c# projects and documents.
  • Plugin windows now hide correctly when sent to box (ALT+2) while their parent window is hidden.
  • Plugin nodes are colored red in debug mode (ctrl+F9) if they throw runtime errors.
  • Debug mode now consistently colors nodes throwing errors.
  • Only IOBox is selected after creating it with middle-click while making a connection.
  • Duplicate within context added for patcheditor (keeps input links on duplicated nodes).
  • File/dir open/save dialogs now open with the correct initial file/dir again.
  • Better integration of code editor by using vvvv’s window management for tabbing.
  • Ctrl+click on a dynamic node brings up a dialog to choose which source file to open.
  • Code editor opens up on a per node basis. so it only shows runtime errors of a specific node.
  • String pins of subtype filename/directory now resolve environment variables like %USERPROFILE%.
  • New window: Finder (Ctrl+F).
  • Window switcher now based on Finder and also opens with ctrl+shift+tab.
  • New window: ProjectExplorer (Ctrl+J).
  • Project explorer displays project files of dynamic plugins and effects. it can be used to add/remove documents/references to a dynamic plugin and set the build configuration in order to debug a dynamic plugin in an external IDE like sharp develop or visual studio.
  • Optimized queue node.
  • Dynamic plugins don’t need to be in vvvv/plugins anymore.
  • Cloning a template will use the path of the active patch suffixed with plugins/effects depending on the type of template.
  • Fix: cloning a dynamic plugin should handle illegal c# class name characters properly.
  • If not necessary project files of dynamic plugins are not loaded by vvvv on node creation.
  • Fix: code editor should show errors in included fxh files too.
  • If a node referenced by a v4p file can’t be found or in case of dynamic plugins can’t be compiled it should show up as a red node. see nodes and paths.
  • Fix: it shouldn’t be a problem anymore to change the plugin info of a dynamic plugin during runtime. changing the system name will result in a red node.

Plug-in interface:

  • Better performance when deleting plugin/dynamic nodes (no more forcing of garbage collection).
  • Fixed memory leak in reloading of dynamic nodes.
  • Generic output pin of type T registers GUIDs of T and all implemented interfaces and subclasses. for example an output of type Apple should be connectable to an input of type Fruit now.
  • Colorpins are now using their subtypes correctly.
  • Texture-output-pins are now spreadable.
  • ISpread shouldn’t lose data if slicecount is increased or decreased.
  • Added new argument IPin to IPinUpdater.Connect/Disconnect methods.
  • Fix: setting slice count of GenericOutputPin to 0 didn’t have any effect.
  • Fix: divide by zero in InputBinSpread.
  • Introduced new IPluginHost2 which implements IPluginHost and INode.
  • Removed all wrapper pin classes in V2. reduces overhead a little and should therefore bring little performance improvements.
  • Moved Pin and DiffPin from VVVV.Hosting to VVVV.PluginInterfaces.V2. it’s now possible to import Pin instead of ISpread if advanced features like Connected / Disconnected events are required.
  • Fix: SetRenderState/SetSamplerState and SetTextureStageState crashed since beta24. Text (EX9) used those methods so hopefully this fixes some strange behaviours reported by various users.
  • Methods of IPinUpdater weren’t called if used in conjunction with V1 plugin.
  • Reduced overhead a little in call to Evaluate method of plugin.
  • Fix: if a plugin only implemented IPluginBase Update on Config pins wasn’t called.
  • Fix: plugin input pins were deleted on recompile if plugin was evaluated each frame (for example if it was selected by inspektor), causing runtime exceptions.
  • Fix: https://vvvv.org/forum/enum-pin-in-v2-always-only-slicecount-of-1.
  • Added extension method ISpread.Clone() and added extension method ISpread.AssignFrom(IList).
  • Added property Buffer to Spread (use with caution).
  • Did a complete overhaul of the v2 pin implementations. much better memory management, far less garbage collections necessary -> hopefully far less glitches.
  • Added pin attribute Lazy to ISpread>. should be used in case one is only interested in a subset of the input. good example would be a getslice node.
  • Fix: v2 plugins use plugin host to log instead of default logger.
  • Fixed overflow exception in RGBAColor when converting to System.Drawing.Color.
  • Fix: ISpread> should handle spread of negative bin sizes correctly.
  • Fix: v1 plugins weren’t properly disposed if SetPluginHost method crashed.
  • StringOutput pin only writes to internal pin if necessary in order to avoid expensive marshalling costs.
  • Introduced new INode2 interface which can be used by plugin writers to inspect the graph of vvvv. see IHDEHost.RootNode.

Fixed nodes:

  • Frac (Value) can output whole parts up to MaxFloat.
  • QRCodeTexture (EX9.Texture) now only computes when one of its input changes and its textures are now accepted in Queue (EX9.Texture).
  • Cons (EX9.Texture) now evaluates correctly if first pins are nil.
  • Mesh (EX9.Geometry Split now reports vertexbuffer downstream correctly if input has empty or nil mesh.
  • AsString (Value) now deals with a spreaded enum correctly.
Be the first to post a comment about this news item

    Viewers of this article also read...