Released on 2020.07.06

Vuo 2.1.0 adds several new features and fixes several community-reported issues. Highlights include:

  • Send and receive video via NewTek NDI® (Vuo Pro)
  • Stream live video using RTMP (for Twitch, Periscope, Restream.io, Wowza, YouTube, Facebook, …)
  • Face landmark detection: Find Faces in Image now detects eyes, nose and mouth (Vuo Pro)
  • Fixed-height (in addition to fixed-width) image layers and objects
  • OSC wildcard matching
  • New Change Window Level node
  • New nodes for manipulating binary data
  • Expanded documentation, more example compositions, and more example SDK code

Read on for all the details.

Built-in Nodes, Types, and Input Editors

  • Added the ability to send and receive video via NewTek NDI®:
    • Send NDI Video (Pro)
    • Receive NDI Video (Pro)
    • List NDI Sources (Pro)
    • (Thanks to the many people who requested this!)
  • Added Send RTMP Video node (limited to 1280x1280 pixels in Vuo CE; unlimited resolution in Vuo Pro)
  • Color:
    • Added Make ICC Color and Get ICC Color Values nodes to convert from/to a color specified using components in an ICC profile to/from sRGB (Thanks to Bodysoulspirit for requesting this!)
    • In Make CMYK Color and Get CMYK Color Values, added a Colorspace port to allow selecting a different method of converting between CMYK and sRGB (Thanks to Bodysoulspirit for requesting this!)
  • Image:
    • Added Skeletonize Image node (Pro)
    • In Find Faces in Image (Pro), added Landmarks output which includes points for eyes, nose, and mouth, and a Get Face Landmarks node to retrieve them (Thanks to mle for requesting this!)
    • Fixed issue where Resize Image showed garbage (rather than transparency) in the letterbox/pillarbox areas when in Fit mode
    • Fixed issue where Blur Image showed garbage (rather than transparency) around the edges when "Expand Bounds" is enabled
  • Window:
    • Added Change Window Level node (Thanks to carlitos and micpool for requesting this! — 1, 2)
    • Added Get Window Screen node (Thanks to alexmitchellmus and micpool for requesting this! — 1, 2)
    • Fixed crash when using Change Window Size with the Pixels unit and dragging the window between a Retina and non-Retina screen (Thanks to Joe for reporting this!)
    • Replaced Get Window Dimensions with a new version with a Unit input port and simplified output ports, and also output the window's screen position
    • Renamed Change Screen to Change Window Screen for clarity
  • Math:
    • In the Scale node, added support for integers
    • In the Average node, added support for integers and points
    • In the Find Minimum/Maximum, Keep Minimum/Maximum, Keep Average, Is within Range, Are Equal (Number), Are Not Equal, and Multiply nodes, added support for points
    • Renamed Are Equal (Number) to Are Equal (Math) now that it supports points
  • Data:
    • Added nodes for manipulating binary data: (Thanks to Adrian for requesting this!)
      • Make Data from Bytes
      • Get Data Bytes
      • Append Data
      • Cut Data
    • Fixed crash when using Fetch Data and the web server provides the Content-Type HTTP header without any actual data (Thanks to jandraka for reporting this!)
    • Added Became Greater/Less Than nodes
  • In Make Image Layer (Scaled), Make 3D Object from Image, and Make Unlit 3D Object from Image, added the ability to specify a fixed height (Thanks to Magneson and Bodysoulspirit for requesting this!)
  • Extended OSC Filter by Address to support wildcard matching (Thanks to micpool for requesting this!)
  • Fixed crash when receiving MIDI SysEx messages (Thanks to micpool for reporting this!)
  • Fixed issue where audio input/output devices would sometimes incorrectly show "Default" in port constant flags on the editor canvas, when a specific device is actually selected (Thanks to Joëlle for reporting this!)
  • In Display Console Window, added a Clear port and menu item
  • In Append Texts, added an Include Empty Parts port
  • In some Send * nodes, moved the port actions to the top for greater emphasis
  • Updated to Blackmagic SDK 11.5.1

Exporting Apps and Plugins

  • Fixed issue where some compositions exported as screensavers and FFGL plugins would show stretched pixels along the edges of the viewport
  • Fixed issue where compositions exported as screensavers couldn't find their bundled resources when run on macOS 10.15

Vuo Editor

  • When exporting FFGL, screensavers, and FxPlugs, added a link to open a Finder window showing the exported plugin (Thanks to solidsatetav for reporting this!)
  • When zooming in to Actual Size, the view is now centered on the selection
  • Added the ability to drag and drop ICC files from Finder onto the editor canvas
  • In the "Welcome to Vuo" window, added an "Open a Composition" button
  • Improved reporting of compile/link errors in 3rd-party nodes
  • Improved rendering of linebreaks in text port constant flags
  • Fixed issue where moving the mouse (without clicking or dragging) could sometimes cause the editor canvas to move
  • Fixed issue where the port popover for a published input port didn't always show up-to-date values
  • Fixed issue where the toolbar's zoom icons could get out of sync with the menu item and actual zoom state
  • Fixed crash when encountering some compile/link errors in 3rd-party generic nodes
  • Fixed crash when running a composition with a custom generic node with an unspecialized port
  • Fixed crash after adding a new input port to a GLSL shader while it was running
  • Fixed crash when saving a new shader file
  • Fixed crash when opening some compositions with missing nodes
  • Fixed occasional crash when searching the canvas
  • Added debugging information about interface languages
  • Added debugging information about plugin/app exporting
  • Fixed minor memory leak when searching the canvas
  • Fixed minor memory leak when exporting screensavers

Documentation and Examples

  • Added 8 new example compositions:
    • 4 example compositions for the new NDI nodes
    • Save Processed Movie demonstrating Save Frames to Movie and Step Movie Frame (Thanks to mic for requesting this!)
    • Highlight Eyes in Video demonstrating Find Faces in Image's new Landmarks output
    • Show Window Levels demonstrating the new Change Window Level node
    • Show Window Info demonstrating the revised Get Window Dimensions node
  • Mentioned in the Make Image with Shadertoy documentation that the GLSL switch keyword may not be supported on some GPUs (Thanks to Paul for reporting this!)
  • Expanded the manual:
    • Mentioned the ability to search the manual from the Help menu
    • Documented the in: and out: syntax for searching the node library
    • Documented the "New Port" button in the published port sidebars
    • Documented the file types that can be dropped onto the canvas
    • Documented more View menu settings
  • Expanded Change Window Size's documentation on the Pixels unit
  • Expanded Window, Screen, and OSC node set documentation
  • Expanded documentation on colors and colorspaces

Vuo Compiler and Runtime

  • Added workaround for issue where VDMX didn't render Vuo compositions that changed the output image size (pending integration into a future VDMX release)
  • Added workaround for issue where VDMX didn't load Vuo compositions containing subcompositions (pending integration into a future VDMX release)
  • Added debugging information about compile/link errors when running in 3rd-party hosts
  • Added debugging information about system sleep/wake

SDK

  • Added example code for creating Metal and Core Image nodes (Thanks to coremeltfx for requesting this!)
  • Removed the vuo-render CLI, and replaced it with a new vuo-export source subcommand (Thanks to sandrobilbeisi for reporting this!)
  • Fixed issue where the RunImageFilter-separate-interprocessToFramebuffer example code, on Retina displays, would render an image that didn't fill the entire window

Download