This release introduces many new nodes — lighting in 3D scenes, cameras that look at points, image filters, and more. We’ve added the ability for 32-bit applications to build, run, and control a Vuo composition, making it possible for more VJ applications to integrate Vuo. Also we’ve made many, many Vuo Editor improvements, for improved usability and a smoother experience, and implemented several bug fixes and features requested by the Vuo community.

Changes

Here’s what we’ve done in the last 6 weeks:

Documentation

  • Added examples of event-only ports with walls and doors to the Vuo Manual. (Thanks to @shacoca for reporting this issue.)
  • Clarified the description of “done” ports in the Vuo Manual. (Thanks to @cremaschi for the discussion leading to this.)
  • Added images to some node descriptions.
  • Fixed missing descriptions for the Make Line/Point/Strip Vertices nodes.

Examples

  • Added several new example compositions:
    • Blur Movie
    • Compare Image Generators
    • Enlarge Movie
    • Flip Movie
    • Mask Movie by Brightness
    • Mask Movie with Star
    • Recolor Movie
    • Ride Rollercoaster
    • Vignette Movie

Vuo Editor

  • When a cable is disconnected from an input port while the composition is running, made the input port keep the data value that most recently flowed through the cable.
  • Changed window toolbar to “unified” style.
  • Changed the behavior of the Command+Return keyboard shortcut in the Node Library, so that it focuses the search box.
  • Changed the way that trigger ports are animated in “Show Events” mode to better reflect how they emit events.
  • Prevented the canvas from automatically scrolling when dragging a cable onto a published ports sidebar.
  • Made the display of node popovers from the Node Library less aggressive.
  • Tweaked the visual design of compositions. (Thanks to the Vuo community for providing feedback on this.)
    • Made ports larger.
    • Rounded corners of constant flags and drawers.
    • Moved event-only ports slightly to the right.
    • Represented interface nodes with a small icon instead of a large footer.
    • Made node titles smaller.
    • Fixed the alignment of node titles and node class names.
    • Fixed overlap between some port labels and event walls.
    • Fixed nodes that lack input ports or output ports being wider than necessary.
  • If a composition hangs when attempting to stop it, made the Vuo Editor force-quit the composition.
  • Enabled the Save menu item upon creating a new composition or opening an example composition.
  • Added more links to Vuo website pages in the Help menu.
  • Reduced the amount zoomed by each click of the zoom in/out buttons.
  • Changed the placement of nodes created by double-clicking or hitting Return on the Node Library, so that nodes are not placed exactly on top of each other. (Thanks to @architek1 for reporting this issue.)
  • Limited the width of constant flags for text input ports.
  • Added the ability to tab between input editors on a node. (Thanks to @destroythings for the discussion leading to this.)
  • Improved performance when rendering the composition canvas.
  • Fixed a hang when opening a large composition (over 64 KB). (Thanks to @jokkeheikkila for reporting this issue.)
  • Fixed a hang that occurred in rare situations when changing the type of a port and then undoing.
  • Fixed some cases in which a port popover would be too small to display the port’s value.
  • Fixed some cases in which a node popover would be too small to display the node’s entire description.
  • Fixed the published port name being blank when publishing a “refresh” or “done” port.
  • Fixed a crash when opening a composition with a published “done” port.
  • Fixed node popovers that cannot be closed appearing after an empty Node Library is clicked on.
  • Fixed garbled text in the default composition description displayed by Edit > Composition Information.
  • Fixed crashes when working with compositions that contain nodes that are not installed on the user’s system.
  • Fixed the undoing of edits to node titles, which sometimes appeared not to immediately take effect.
  • Fixed node popovers briefly appearing when dragging a node from the Node Library. This was distracting and sometimes interfered with dragging.
  • Fixed the inability to drag a drawer handle when the last item has an attached type-converter node.
  • Fixed duplicate dataAndEvent -> event menu items being presented when connecting some cables while multiple compositions are open.
  • Fixed automatic upgrades of compositions to handle some additional nodes from Vuo 0.5.4 and earlier (Subtract Points nodes and nodes that had VuoCountWrapMode in their node class name).

Built-in Nodes, Types, and Input Editors

  • New nodes:
    • vuo.scene
      • Make Ambient Light
      • Make Point Light
      • Make Spotlight
      • Make Targeted Spotlight
      • Make Targeted Perspective Camera
      • Make Targeted Orthographic Camera
      • Make 3D Object from Image (renamed the node previously called that to Make Unlit 3D Object from Image)
    • vuo.shader
      • Shade with Details
      • Shade with Color (renamed the node previously called that to Shade with Unlit Color)
      • Shade with Image (renamed the node previously called that to Shade with Unlit Image)
    • vuo.image
      • Adjust Image Colors
      • Apply Mask
      • Change Wrap Mode (Thanks to @mnstri for requesting this.)
      • Crop Image
      • Crop Image Pixels
      • Flip Image Horizontally/Vertically (Thanks to @joeladria for requesting this.)
      • Get Image Size
      • Invert Image Colors
      • Make Checkerboard Image
      • Make Linear Gradient Image
      • Make Radial Gradient Image
      • Mask Image by Brightness
      • Map Image Colors
      • Pixellate Image
      • Resize Image
      • Resize Image if Larger
      • Vignette Image
    • vuo.layer
      • Make Linear Gradient Layer
      • Make Radial Gradient Layer
    • vuo.color
      • Average Colors
      • Blend Colors
    • vuo.leap
      • Filter Pointables by Touch Zone
    • vuo.mouse
      • Receive Mouse Buttons
      • Receive Mouse Clicks
      • Receive Mouse Deltas
      • Receive Mouse Drags
      • Receive Mouse Moves
      • Receive Mouse Scrolls
      • Check Mouse Status
  • Enabled the Get Scene node to load diffuse, normal, and specular textures, and apply them to a scene.
  • Added more output ports to the Get Pointable Values node (stabilizedTipPosition, timeVisible, touchDistance, touchZone).
  • Replaced the mouse output ports on Render Layers to Window and Render Scene to Window with a window output port that can be connected to the new mouse nodes.
  • Added a window output port to the Render Image to Window node so that it can be connected to the new mouse nodes.
  • Removed the Get Mouse, Get Mouse Button Action Values, and Filter Mouse Button Action nodes.
  • Simplified the “frame request” port type (such as on the Render Image to Window node’s trigger port and the Measure Time node’s ports) to consist of a time in seconds, rather than a more complex data structure.
  • Removed the Get Frame Request Timestamp and Get Frame Request Count nodes.
  • Renamed the vuo.leap node class to vuo.leap.receive.
  • Renamed the vuo.point.multiply.quaternion node class to vuo.quaternion.combine.
  • Renamed the vuo.image.filter node classes by removing “filter” from the name.
  • Improved the keywords for many nodes to provide better search results in the Node Library.
  • Changed the Cycle through List node to stay at the same position in the list when list items change.
  • Allowed the up/down arrow keys to control sliders when editing an input port’s value.
  • Improved the formatting of the menu items for some input editors.
  • Fixed the tracking of mouse drags (now by the Receive Mouse Drags node) to continuously update the mouse position while dragging within a window.
  • Fixed the display of transparent colors in constant flags for color input ports.
  • Fixed intermittent crashes when running compositions with graphics nodes on Mac OS X 10.6.
  • Fixed intermittent crashes when stopping compositions with graphics nodes.
  • Fixed the disappearance of the rendered image (until updated by an event) when switching a composition window to fullscreen mode.
  • Fixed memory leaks when running compositions with camera nodes.
  • Fixed bugs where the list item accessed was off by one in the Cycle through List, Add Points, and Filter Pointables by Type nodes.

SDK

  • Added the ability for 32-bit applications to build, run, and control a Vuo composition. (Thanks to @lov and @mrray for requesting this.)
    • Added a universal binary to Vuo.framework, with a 32-bit portion that contains the subset of Vuo.framework’s functionality needed to run and control a Vuo composition.
    • Added VuoRunner32, a version of the VuoRunner class that can be used in 32-bit applications.
    • Added an example application (RunImageFilter-Cocoa-32bit) to demonstrate running and controlling a composition from a 32-bit application.
  • Added an example application (VuoPluginApp) to demonstrate using Vuo compositions as plugins in another application.
  • Added a VuoRunner function that fires an event on all published input ports simultaneously.
  • Added the ability for developers to create custom input editors for editing port values in the Vuo Editor.
    • Provided an API and documentation for creating input editors.
    • Added an example project (menuInputEditor) to demonstrate implementing an input editor.
    • Made the built-in input editors open source.
  • Added documentation about using custom port types in interprocess communication.
  • Added an IOSurface pool to improve performance and fix intermittent crashes when sending images interprocess.
  • Added documentation of the expected properties for GL textures used to create VuoImage.
  • Clarified the documentation about using Vuo.framework in an Xcode project to list all necessary steps for Xcode 5. (Thanks to @lov for reporting this issue.)
  • Changed the file name for node set documentation from index.md to a file name matching the node set.
  • Allowed a node class implementation to specify the attached drawer’s default values for a list input port.
  • Fixed reference counting for port types used in interprocess communication.
  • Fixed the RunImageFilter example applications’ failing to stop their composition when the application is quit.
  • Fixed the RunImageFilter example applications’ image scaling factor when the application is run on a retina display.
  • Fixed a memory leak when using the VuoRunner API to receive an image from another process.
  • Fixed the ability of the vuo-render command-line tool to read from standard input.
Version
0.6.0