Released on 2014.12.09

This release focuses on 3 areas:

  • Adding new functionality — RSS feeds, Art-Net ArtDmx, some new iteration nodes, a draggable "trackball" camera, GLSL text code, MIDI pitch bend, app exporting that automatically copies resources, the ability to hide selected cables, an optional dark color scheme, and a free trial version
  • Improving documentation and example compositions — We've added 12 new example compositions, rewritten a lot of the manual, and added a "Welcome to Vuo" dialog and some new tutorials
  • Improving performance — Vuo Editor is faster, and compositions run faster

Changes

Here's what we've done in the last 1.5 months:

Examples

  • New
    • Add Effect to Instant Replay
    • Animate Concentric Circles
    • Average Colors
    • Change Color with Button
    • Count Characters in Greetings
    • Display Grid of Images
    • Display Movie Frames
    • Display Rainbow Ovals
    • Draw Rainbow Trail
    • Draw Shapes
    • Explode Clay
    • Render Text Layer
    • Rotate in Sequence
    • Show Live Audio Trail — (inspired by a composition by GeorgeToledo)
    • Show Spheres with Lights
    • Spin Psychedelic Checkerboard
    • Stretch Oval with Bounds
    • Wobble Eggs
  • Updated
    • Compare Cameras — Updated to show palm trees instead of a wireframe cube and sphere
    • Compare Image Generators — Split into several simpler examples
    • Flip Photo — Updated to demonstrate Make Button and to place the 3D effect inside an iPhone template image
    • Play Movies on Cube — Updated to include audio and live camera input
    • Receive MIDI Notes — Updated so that MIDI pitch-bend messages affect the synthesized tone
    • Simulate Film Projector — Fixed edge artifacts visible in fullscreen mode
    • Spring Back — Fixed issue where the layer would sometimes stay where you dragged it instead of springing back
    • Simplified many examples using new nodes such as Make Text Layer
    • Listed more examples in the documentation for nodes
    • Improved descriptions of many examples
    • Fixed issues with many examples where some content would be cut off when viewing in full screen or in a window with a wide aspect ratio
  • Highlighted several example compositions by moving them to the top of the File > Open Example menu, and by showing one of them in the new Welcome dialog
  • Removed example compositions that are not sufficiently simple, illustrative, and unique

Built-in Nodes, Types, and Input Editors

  • vuo.artnet
    • Added Receive Art-Net Messages, Send Art-Net Messages, List Art-Net Devices, Make Art-Net Input, Make Art-Net Output, Make Art-Net IP Output, Get Art-Net Input Values, Get Art-Net Output Values.
  • vuo.color
    • Added Convert DMX to Color List and Convert Color List to DMX.
  • vuo.event
    • Added Spin Off Events.
    • In the 'Fire Periodically' node, clamped the firing period at a thousandth of a second, and stopped firing events when the time is zero or negative
  • vuo.image
    • Added an Expand Bounds port to the Blur Image node. (Thanks to jersmi for suggesting this!)
    • Added a Hue Shift port to the Adjust Image Colors node.
    • In Adjust Image Colors, improved the calculation of exposure to better match other applications like Photoshop and to fix glitchy colors that sometimes resulted.
    • Improved performance of many image filter nodes by rebuilding the shader less frequently
    • Improved performance when using Render Image to Window in fullscreen mode
  • vuo.layer
    • Added Make Oval Layer and Make Rounded Rectangle Layer.
    • Added Make Text Layer.
    • Added Get Rendered Layer Bounds.
    • Fixed crash when livecoding with a VuoRenderedLayers port that wasn't connected to anything
  • vuo.list
    • Added Build List and Process List.
  • vuo.math
    • Modified the Calculate node to permit commas (semicolons in locales that use commas as the decimal mark), necessary to use functions that take lists of inputs: avg(), min(), max(), sum().
  • vuo.midi
    • Added support for sending/receiving MIDI pitch bend change messages.
    • Added support for running-status-style MIDI note-off messages (MIDI note-on with zero velocity).
    • Fixed issue where Track Single Note would get confused when receiving repeated MIDI note-on messages for a single note without intervening note-off messages.
  • vuo.mouse
    • Added support for right-clicking using control-left-click
    • Added a Window port to the Receive Mouse Scrolls node.
    • Fixed the Check Mouse Status node so that, if a window is provided as input, it only tracks mouse events when that window is focused.
    • Fixed a bug where the Receive Mouse Moves node would stop firing events if the mouse is hovered over certain other applications, such as Chrome or Terminal.
  • vuo.rss
    • Added Fetch RSS Items and Get RSS Item Values.
  • vuo.scene
    • Added Make Draggable Camera.
  • vuo.shader
    • Added Shade with Shadertoy.
  • vuo.syphon
    • Fixed occasional crashes/hangs when selecting specific Syphon servers.
  • vuo.text
    • Added a Separator port to the Append Texts node.
  • vuo.transform
    • Added nodes to convert between 2D/3D points and transforms.
  • vuo.type
    • Added Convert Audio Samples to Real List.
    • Modified the Convert Real to Text node to omit trailing zeroes from the text.
  • vuo.ui
    • Added Make Button.
  • vuo.video
    • Clarified the error message that is printed to console when trying to play a movie with an unsupported audio codec.
    • Fixed occasional crash when using the Receive Live Video node's Stop port.
  • vuo.window
    • Fixed a bug where the Change/Reset Window Aspect Ratio nodes didn't immediately affect fullscreen windows.
  • Added keywords to many nodes — including more keywords for Quartz Composer equivalents — to assist in searching
  • Changed the Showed Window trigger port of Render * to Window nodes to fire events when a window is moved or resized, in addition to when the window first appears.
  • Polished the appearance of input editors for text and numbers.
  • Fixed the List Syphon Servers node so it fires an event when the composition starts.
  • Fixed a bug where the composition window's title would disappear after changing a window to fullscreen and then back to windowed mode.
  • Fixed memory leak when fetching a URL fails

Vuo Editor

  • Added the ability to use Vuo Editor without a license (save, export, and copy functions are disabled)
  • Added the ability to reactivate Vuo Editor (for example, to upgrade to a premium license)
  • Added a dark color scheme (optional, for premium users)
  • Added the ability to hide selected cables, and a "View > Show/Hide Hidden Cables" menu item to globally toggle hidden cables
  • Added a "Welcome to Vuo" dialog
  • Made it easier to export apps that refer to images and other resource files. Files and folders referenced by relative paths are now copied into the app bundle automatically.
  • Made it easier to replace the icon in an exported app. A default icon is now included with the app, and you can replace it with your own icon. (Thanks to bLackburst for suggesting this feature!)
  • Made it easier to embed fonts in an exported app, which now contains a Fonts folder. (Thanks to @Bodys0ulspirit for suggesting this!)
  • When clicking on a link to an example composition from the documentation for a specific node class, automatically select and center instances of that node class within the opened example composition
  • Increased the margin around the composition so that it's possible to scroll beyond the composition. (Thanks to GeorgeToledo for suggesting this!)
  • Made composition windows open more quickly.
  • Organized the menu of types that appears when you click on a generic-type port.
  • Top-aligned the text in port popovers so that it doesn't wiggle when the number of lines changes.
  • Added tooltips to the Zoom toolbar buttons.
  • Disabled the "Zoom to Fit" toolbar button when the canvas is already zoomed to fit.
  • Better aligned text in port constant flags, type converters, and drawer labels.
  • Applied a new style to several parts of Vuo Editor, including the node library, port popovers, error popovers, input editors, and published port sidebars
  • Removed the border from port constant flags, to simplify visual appearance
  • Clarified the error messages for missing/obsolete node classes
  • Clarified the error message when using a non-premium subscription to open a composition with premium nodes
  • Fixed crash when launching Vuo Editor by opening a composition from Finder before the editor was activated. (Thanks to Paul for reporting this!)
  • Fixed hang when activating from vuo.org causes Vuo Editor to launch.
  • Fixed occasional crash when specializing ports on nodes with multiple generic ports
  • Fixed issue where a composition that crashed might cause Vuo Editor to hang
  • Fixed issue where a composition that crashed might not show a crash report window
  • Fixed issue where the "Zoom to Fit" button remained disabled after the canvas size or viewport size changed
  • Fixed issue where connecting a forced-event-only cable from a data+event output port to a list input port caused the attached list drawer to disappear
  • Fixed issue where replacing a data+event cable with an event-only cable between the same two ports failed to re-create the attached list drawer at the "to" port
  • Fixed 'getCompiler() is null' warnings when clicking on crosshatched nodes to view their description
  • Fixed occasional crash after exporting an app
  • Fixed the blurry rendering of some parts of Vuo Editor on Retina displays (the main canvas, the node library and published port sidebar icons, and port popovers)
  • Fixed a crash when a .vuonode file is opened from the Finder.
  • Fixed the unintuitive names assigned by default to published drawer ports.
  • Fixed a bug where changes to Node Library's dimensions/position would not be restored the next time the Vuo Editor was opened if you went to Quit and then canceled out of it.
  • Fixed a bug where Option-drag would duplicate the previously selected nodes/cables instead of the node that just became selected by the drag.
  • Fixed some crashes involving docking and undocking the Node Library.
  • Fixed a bug where the rightmost character in a constant flag would show up as a question mark box for some constant flags containing non-ASCII text truncated with an ellipsis.
  • Fixed outdated text in the error dialog displayed when opening a composition with nodes that are not installed.
  • Fixed a bug where it took an extra click to regain focus on a window after unminimizing it.
  • Fixed a bug where the position of the Node Library divider would not be restored correctly in subsequent windows opened if a window was maximized and then closed.
  • Fixed occasional crashes during live coding involving nodes with generic port types.
  • Fixed the default file extension in the Export App dialog.
  • Fixed a bug where the Export App dialog didn't warn that a file would be overwritten in cases where no file extension was specified.
  • Fixed incorrect coloring of type-converter nodes in Show Events mode.
  • Replaced the upgrade paths that upgrade compositions from Vuo 0.8 or earlier to Vuo 0.9 with an upgrade path that detects if the composition was made with Vuo 0.8 or earlier and, if so, marks the obsolete nodes and removes all cables and drawers connected to them

Documentation

  • Manual
    • Clarified and expanded many sections of the manual.
  • Nodes
    • Clarified and expanded the documentation for many nodes and node sets.
    • Indicated which nodes are premium.
    • Added instructions on how to track cumulative distance with the Receive Mouse Scrolls node. (Thanks to Mario for asking about this!)
    • Capitalized variable names within node class and node set documentation for consistency with the newly-capitalized port names on the nodes themselves.

Vuo Compiler

  • Made compositions build faster. That means less time to start a composition running. It also means that occasionally (after upgrading to a new Vuo version or installing/uninstalling 3rd-party nodes) there's a delay of several seconds, waiting for a cache to be built, before compositions can be built.
  • Fixed a race condition in the generated code for compositions where a trigger port has a cable going into an input port on the same node
  • Fixed a deadlock in the generated code for compositions where multiple trigger ports are involved in a feedback loop
  • Fixed an issue where trigger ports would unnecessarily drop events if they had other nodes with trigger ports downstream of them
  • Reduced amount of inline code generated for retaining and releasing port values. This fixes some crashes when starting or stopping very large compositions. (Thanks to jens for reporting this issue!)

SDK

  • Composition runner API
    • Documented the availability of API functions in 32-bit vs. 64-bit mode. (Thanks to mrray for reporting this issue!)
    • Improved the documentation on the Cocoa vs. C++ API.
    • Fixed the VuoPluginApp example so that it builds on Mac OS 10.6.
    • Fixed the CompileAndRun examples so that you don't have to copy the composition file into the example folder.
    • Fixed a spurious warning when creating a VuoImage with a GL texture of format RGBA8. (Thanks to mrray for reporting this issue!)
    • Removed local symbols from `Vuo.framework, to further reduce its size.
    • Added a fake dylib into Vuo.framework's headers-only clang.framework, to work around a bug in Gatekeeper on Mac OS 10.8.5 with Security Update 2014-005 1.0. (Thanks to lov for reporting this issue!)
  • Node and type API
    • Renamed the standard type functions (for example, TYPE_valueFromJson to TYPE_makeFromJson).
    • Updated Qt Creator wizards to include standard comparison functions
  • Command-line tools
    • Added an option to vuo-link to optimize for a faster build that links to a cache file vs. a slower build that only links to Vuo.framework.
    • Added an option to vuo-render to scale its output.
    • Made vuo-render indicate published cables with an antenna symbol (like Vuo Editor already does).

Download