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 @MartinusMagneson 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 @Pianomatic for reporting this issue!)
    • Fixed issue where Receive Live Video wouldn’t start receiving video again after being stopped (Thanks to @cwilms-loyalist 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 @dumski 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 @krezrock 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 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 @cremaschi 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
Version
1.2.6