Released on 2017.06.09

Vuo 1.2.6 adds 12 community-requested features, fixes 18 community-reported issues, and improves performance and stability. It's free for people who purchased Vuo 1.2.x.

  • Many Vuo Editor workflow improvements, including:
    • Duplicate cables by holding (Option) and dragging — now use (Shift) to create event-only cables
    • Reorder published ports by dragging
    • Find nodes on the canvas by pressing ⌘F
    • Edit subcompositions without having to close and reopen compositions that use them
  • Added 85 nodes, including:
    • 31 nodes for working with tree (XML, JSON) and tabular (CSV, TSV) data
    • 14 image filter nodes
    • 3 nodes for boolean operations on 3D objects
  • Added a workaround for a bug in Apple's AMD X4000 drivers causing system-wide hangs while performing certain intense rendering operations

Read on for all the details.

Built-in Nodes, Types, and Input Editors

  • Added 16 nodes for working with tree data (Thanks to joeladria for requesting this!)
    • Fetch trees from XML and JSON files, including Apple XML Property Lists such as the iTunes Library
    • Get values from and change values in trees
    • Search trees using XPath
    • Format trees as XML and JSON
  • Added 15 nodes for working with tabular data (Thanks to joeladria for requesting this!)
    • Fetch tables from CSV and TSV files
    • Get values from and change values in tables
    • Format tables as CSV and TSV
  • Added 14 image filter nodes:
    • Apply Liquid Resizing and Apply Liquid Mask nodes (Pro)
    • Measure Sharpness (Pro)
    • Outline Image
    • Make Grayscale Image
    • Make Sepia Image
    • Ripple Image Radially
    • And several new image filter nodes based on Brad Larson's GPUImage library (Thanks to Magneson for his work on these!) —
      • Make Crosshatch Image
      • Reduce Haze
      • Solarize Image
      • Make Cartoon Image
      • Pixellate Image Radially
      • Make CGA Image
      • Adjust Image Colors — new Vibrance, Temperature, and Tint ports
  • Added 40 other nodes:
    • Basic constructive solid geometry (CSG) support — Union, Intersect, and Subtract 3D Objects (Pro) (Thanks to ajm for requesting this!)
    • Record and Play Values (Thanks to jersmi for requesting this!)
    • Open Document and Open URL in Browser (Thanks to marioepsley for requesting this!)
    • Merge XYZW Lists (Thanks to Kewl for requesting this!)
    • Step Movie Frame
    • Compare Texts
    • File Exists
    • Get ASCII Code
    • Make Transform List (TRS)
    • Flatten 3D Object (Pro)
    • Image → Width/Height type converters
    • List of 2D/3D/4D Point ↔︎ Real type converters
    • 2D and 3D Transform → Real type converters
  • Added 19 example compositions:
    • Change Table Data to Metric
    • Color My World
    • Compare Noise Range Modes
    • Compare Ripple Types
    • Display Pet Adoptions Table
    • Graph Coldest Temperatures
    • List Countries
    • Look Up Country
    • Look Up Sister Cities
    • Move Dots with Perlin Noise
    • Move Seagulls Closer Together
    • Operate on 3D Objects
    • Perform Coin Flip Experiment
    • Pixellate Image Radially
    • Record Camera Drags
    • Record Mouse Clicks to CSV File
    • Record Mouse Clicks to JSON File
    • Remove Parts of Photo
    • Step Movie
  • Made 14 other community-requested improvements:
    • Fixed issue where some Vuo compositions wouldn't run if Vuo Editor was on a case-sensitive filesystem (Thanks to timwessman for reporting this issue!)
    • Added support for reading PLY meshes with texture_x/y-style property names, such as those from trn.io (Thanks to marioepsley for reporting this issue!)
    • Added support for uniform width (screen-space) lines and antialiasing to Make Wireframe Shader (Thanks to tivonrice for requesting this!)
    • Fixed issue where Make Noise Image was blurry at extreme aspect ratios (Thanks to bLackburst for reporting this issue!)
    • Fixed inaccuracies when converting between Euler and quaternion rotations (Thanks to Philip for reporting this issue!)
    • Fixed issue where Receive Live Video wouldn't start receiving video again after being stopped (Thanks to Chris for reporting this issue!)
    • Fixed issue where the Make Radial/Linear Gradient Image nodes didn't use Vuo Coordinates (Thanks to unicode for reporting this issue!)
    • Added a workaround for a bug in Apple's AMD X4000 drivers causing system-wide hangs while performing certain intense rendering operations (Thanks to alexmitchellmus for reporting this issue!)
    • Fixed issue where the Sort Points nodes, and the Leap Motion Sort Hands and Sort Pointables nodes, didn't properly order some lists (Thanks to @Philip for reporting this issue!)
    • Fixed issue where Aggregate and Multi-Output audio devices didn't show up (Thanks to Teo for reporting this issue!)
    • Fixed crash when feeding certain scenes/layers to nodes that calculate their bounds (Arrange 3D Objects in Grid, Arrange Layers in Grid, Combine Layers (Center), Fetch Scene, Get 3D Object Bounds, Normalize 3D Object) (Thanks to Azy and Bodysoulspirit for reporting this issue!)
    • Fixed issue where Hap movies didn't work in exported apps (Thanks to timwessman for reporting this issue!)
    • Added workaround for a bug in Apple's NVIDIA GeForce 320M drivers causing the GPU to crash when rendering with multisampling enabled (Thanks to Benedikt for reporting this issue!)
    • Fixed issue where Make Rounded Rectangle Layer's Anchor port caused the layer to move to an unexpected position (Thanks to timwessman for reporting this issue!)
    • Added a Position output port to the Find Minimum/Maximum nodes (Thanks to cymaspace for requesting this!)
  • Changed Receive Live Video to output timestamps starting at 0, instead of using the camera's arbitrary timestamp
  • Added support for data: URIs
  • Added support for finding Mac PICT files
  • Renamed Shade with * nodes to Make * Shader for consistency with their function
  • Renamed Ripple Image to Ripple Image Directionally and gave it a "Displacement" port
  • Improved overall event-handling performance
  • Improved performance of the Sort Points, Sort Hands, and Sort Pointables nodes
  • Improved performance of and fixed memory leak in Fetch Data and Convert Data to Text
  • Improved performance and increased maximum possible depth when rendering 3D object hierarchies
  • Improved performance when rendering graphics to a window
  • Added added a workaround for an AVFoundation bug where it reports that a movie has a certain number of audio channels but actually decodes a different number
  • Added support for the new Console logging system in macOS Sierra (10.12)
  • Fixed issue where exported apps wouldn't prompt to save screen recordings if you quit while still recording
  • Added more 3D object validity tests, and info on OpenGL drivers and connected displays, when debug mode is enabled
  • Improved performance of many list nodes
  • Improved performance of Change All Shaders when the object has no child objects
  • Fixed memory leak when playing movies
  • Fixed issue where VuoMidiNote summaries showed the wrong octave for note numbers 0 – 11
  • Enabled dynamic GPU switching, which should improve performance if you switch displays while a composition is running
  • Added "Preserved Brightnesses" and "Show Images" ports to Mask Image by Brightness, and added several brightness types
  • Added "Include Children" port to Get Rendered Layer Bounds
  • Added "Coordinate Space" port to Make Vertex Attribute Shader
  • Added "Activate" port to Launch App
  • Added "Range Mode" port to Make Noise Image and Make Spherical Noise Image
  • Added "Center" and "Height" ports to Vignette Image
  • Added triangular and hexagonal modes to Pixellate Image
  • Added 4D Point support to the Scale node
  • Added a User-Agent string to Vuo's HTTP(S) requests
  • Enabled using index variable i in the Calculate List node's expressions
  • Fixed issue where Change All Shaders and Change Shaders with Name would cause objects to stop rendering if no shader was provided
  • Fixed issue where Change Shaders with Name would do nothing if NULL text was provided (instead of changing all shaders as expected)
  • Fixed issue where where Make Text Layer was sometimes blurry when the anchor was left or right
  • Fixed issue where Ripple Image didn't respect the image's aspect ratio
  • Fixed issue where several scene and layer copying nodes didn't copy the blend mode
  • Fixed a hang when passing a negative number to the "Copies" or "Items per Group" ports on the 'Copy List Items' and 'Copy List Item Groups' nodes
  • Fixed memory leak when rendering multiple copies of the same text
  • Fixed memory leak when showing list port popovers
  • Fixed memory leak when listing Syphon servers
  • Fixed crash when pressing some keys while the composition's About dialog is focused
  • Fixed crash when changing the folder for a recorded movie in an exported app run on Mac OS 10.8
  • Fixed rare crash when quickly switching OSC devices
  • Fixed rare crash when stopping a composition that uses Art-Net
  • Fixed issue where Combine 3D Stereo Images produced incorrect output for the stripe/checkerboard modes when on the AMD Radeon R9 M370X GPU
  • Fixed issue where Wave would output incorrect values when Time decreased while changing the wave type
  • Added workaround for Cocoa bugs when rendering very small windows
  • Added workaround for a bug in Apple's NVIDIA GeForce 650M drivers where a scene would be rendered with incorrect colors when outputting to a window via an IOSurface

Vuo Editor

  • Multiple improvements to published ports:
    • Added ability to reorder published ports by dragging (Thanks to 2bitpunk for requesting this!)
    • Fixed issue where the canvas didn't scroll when dragging a cable past the published port sidebar (Thanks to Bodysoulspirit for reporting this issue!)
    • Added more ways to connect cables to published ports (e.g., by dragging a cable from one published port and dropping it on another published port or an internal port)
    • Made it easier to connect cables to published ports by making the drop zone larger
    • Disabled resizing the node library while published port sidebars are displayed, so it doesn't interfere with published cable drags
    • Stopped copying published ports when copying nodes
    • Fixed issue where published cable drags didn't track correctly with the cursor after redocking the node library
    • Fixed issue where deleting a published port via the context menu could leave a stranded collapsed type converter on the canvas
    • Started using the Share Value node's customized name (instead of the nondescript "Value") when publishing its ports
  • Made 5 other community-requested improvements:
    • Added ability to duplicate cables by holding (Option) and dragging — now use (Shift) to create event-only cables (Thanks to Magneson for requesting this!)
    • Added smooth scrolling in the node library (Thanks to Bodysoulspirit for requesting this!)
    • Fixed issue where backslashes in node titles would duplicate when the composition is reopened (Thanks to Philip for reporting this issue!)
    • Fixed issue where certain structures of feedback loops would cause the composition to freeze (Thanks to casdekker for reporting this issue!)
    • Fixed issue that prevented subcomposition with certain non-English characters from appearing in the Node Library (Thanks to JérômeLanon for reporting this issue!)
  • Added ability to find nodes on the canvas by pressing ⌘F
  • Added ability to edit subcompositions without having to close and reopen compositions that use them (however, for now, those compositions still need to stop and restart)
  • Added templates for image, layer, and scene compositions
  • Added ability to double-click on or drag a node from the node documentation panel onto the canvas to create a new instance of that node
  • Added ability to cancel an in-progress cable drag by pressing Esc
  • Repositioned port popovers so they're always within the visible canvas area
  • Repositioned input editors to avoid going behind the dock or off the left side of the screen
  • Changed keyboard focus to the canvas when opening a composition, so you can use spacebar-drag scrolling without having to click first
  • Stopped offering Get Child Layers and Get Child Objects as type converters since they're rarely useful in that context
  • Stopped offering Summarize Value as a type converter for VuoData since it's rarely useful in that context
  • Made the Fire on Start node the default "Re-fire Event" source when creating a new composition
  • Added Allow First Event node to protocol template compositions
  • Added a default search to show relevant nodes when creating a composition from a template
  • Enabled "Snap to Grid" and "Show Grid Lines" when running Vuo Editor for the first time
  • Changed port popover layout to use columns for improved readability
  • Enabled word-wrapping in port popovers, and increased the amount of text shown
  • Enabled the numpad Enter key to open input editors (just like the central Return key already does)
  • Improved performance when compiling the cache
  • Added Minimize and Zoom items to Vuo Editor's Window menu
  • Fixed issue where some keyboard shortcuts only worked when at least 1 composition window was open
  • Fixed crash when attempting to run a composition with a missing node
  • Fixed occasional crash when undoing compound operations (such as connecting a cable that requires type specialization or a type converter)
  • Fixed rare crash when closing a composition while it is running in "Show Events" mode
  • Fixed rare crash when toggling dark mode
  • Fixed rare crash when resizing a list while a protocol composition is running
  • Fixed issue where the "Save Changes" dialog would sometimes appear multiple times while quitting Vuo Editor
  • Fixed issue where using "Save As" on a subcomposition would fail to reinstall the subcomposition

Documentation

  • Made 3 community-requested improvements:
  • Corrected documentation about which image is where in the Combine 3D Stereo Images node's stripe/checkerboard modes
  • Added more keywords to many nodes, to make them easier to find in the node library
  • Added more guidance on choosing a video codec
  • Added more guidance on using the Process List and Build List nodes
  • Updated instructions for downloading Vuo

SDK

  • Clarified documentation about whether a node dependency needs to specify the file extension (Thanks to mic for reporting this issue!)
  • Added VuoGlContext_perform() which enables nodes to perform operations on the root OpenGL context (as opposed to using a shared context)
  • Simplified the VuoImageRenderer API (it no longer requires per-node state)
  • Added a README to the root of the SDK archive
  • Added more built-in documentation to the command-line tools
  • Added ability to use menu input editors without having to create a new type (menuItems port detail)
  • Added ability to call VuoDefer() with a NULL argument
  • Fixed various minor typos and rendering issues in the API documentation
  • Added backtraces when debug mode is enabled and a node fails to restore OpenGL context state
  • Added menuItems port detail for the VuoAnchor type, so 3rd-party host apps don't need to implement a special input editor for that type
  • Added an API to access controller names in the BCF2000 nodes
  • Added a default step for Real, Integer, and Point ports that don't explicitly provide one
  • Updated instructions for building Vuo from source code

Download