The focus of this release is to add features to the Vuo language and APIs. Vuo developers can more easily create node classes and types, as well as port data editors with custom widgets. Vuo users now have more power to control the order in which nodes execute, with the addition of the “done” port. Also, Vuo users can see when nodes execute using the new “Debug” menu item. This is an alpha release. Alpha releases may include changes that break compositions you made with previous versions.

Changes

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

Documentation

  • Updated documentation to be consistent with the changes to the Vuo language in this release. [#4957] [#4609]

Examples

  • Added LoadImageAsynchronously.vuo. [#5653]
  • Removed ComputationInBackground.vuo. [#5653]
  • Removed RaceToWrite.vuo. [#5653]
  • Changed compositions to use the ‘done’ port where possible. [#5637]

Vuo Editor

  • Added a debugging mode (Run > Debug), which causes nodes to light up when they execute as the composition runs. [#4723] [#2927]
  • Added ability to activate Vuo Editor by pasting an activation code, in case the OS doesn’t forward the browser redirect to Vuo Editor’s custom URL handler. [#5657]
  • Added the node name to the port popovers. [#5615]
  • Changed the header that is automatically added when saving a .vuo file to state that the user owns the copyright. [#3913]
  • Changed the ⌘ Return keyboard shortcut. Instead of toggling node library visibility, it causes the node library to be displayed (if not already), focused, and ready to type. [#4687]
  • Fixed bug preventing users with spaces in their vuo.org usernames from activating Vuo Editor. (Thanks, @useful design, for your help in troubleshooting this.) [#5648]
  • Fixed crash when a popover is being displayed for a port on a type converter node, the type converter node is uncollapsed, and the composition is run. [#5594]
  • Fixed bug that allowed multiple popovers to be displayed for the same port. [#5594]
  • Fixed bug where the Display Console Window node’s refresh port caused a line to be written to the console. (Thanks, @vade, for reporting this inconsistency.) [#5549]
  • Fixed bug where it was difficult to connect a cable to a node near the edge of the canvas. [#5045]

Built-in Nodes, Types, and Data Editors

  • Changed the widget displayed for VuoInteger and VuoReal data editors to a slider (if the node class provides a suggested minimum and maximum value) or a spin box. [#4957] [#4958]
  • Changed the VuoText data editor to enforce a maximum length (if the node class provides a suggested maximum length). [#4957] [#4958]
  • Changed the “Make Quaternion” node to use degrees instead of radians. [#5625]
  • Standardized the serialized the format of all types to JSON. This is used when converting values to and from string, such as when opening or saving a Vuo composition. [#5424]
  • Made VuoDataEditorText a plugin like the other data editors. [#5071]
  • Removed the Delay node. [#5653]

API

  • Added documentation for writing types. [#4088]
  • Changed the VuoInputData macro to allow specifying additional metadata for an input port, such as suggested maximum and minimum values. [#4957]
  • Added functions jsonFromValue and valueFromJson to the type API, allowing composite types to be serialized more efficiently. [#5424] [#5562]
  • Replaced the terms “provider” and “consumer” nodes with the term “interface” nodes. [#4609]
  • Redesigned the VuoDataEditor plugin interface to accommodate a greater variety of data editor widgets. Added classes VuoDataEditorWithDialog, VuoDataEditorWithMenu, and VuoDataEditorWithLineEdit to give developers a better starting point for creating data editors. [#5382]
  • Removed the VuoInputReceptor macro. [#5636]

Vuo Compiler

  • Added a “done” port to each node, which outputs an event each time the node finishes executing. [#5632] [#5633]
  • Renamed the “receptor” port to the “refresh” port. (Thanks, @vade, for your feedback about clarifying the purpose of the refresh port.) [#5630]
  • Fixed crash when compiling a composition with certain struct-type trigger ports. [#5645]

Known Issues

Documentation

  • The Vuo Manual has not yet been updated to cover some new and changed functionality. [#3281]
  • The Vuo Manual is incomplete. [#3281] [#2937] [#2577]
  • Some nodes are not well documented. [#2786]

Vuo Editor

  • The editor may hang when attempting to display a port value popover while the composition is being reloaded (after being modified while running). [#5318] [#5390]
  • Changing the “Fire Periodically” node’s seconds port while the composition is running does not affect firing rate. [#5317]
  • If the running composition crashes, or if it is quit with the composition’s Quit menu item instead of Vuo Editor’s Stop button, Vuo Editor can’t run another composition. Vuo Editor has to be restarted. [#3092]
  • When a cable is disconnected while a composition is running, the input port does not keep its most recent value. [#3294]
  • Collapsed type-converter nodes aren’t selectable. [#3783]
  • On some systems, the incorrect font is used to render node and port titles. [#5159]
  • For some port types, the constant flag displays its value in quotation marks. [#5700]

Built-in Nodes, Types, and Data Editors

  • Only a single, root scenegraph object is rendered. [#3630]
  • When rendering a scenegraph, the Z axis is inverted. [#5536]
  • Some values of type VuoImage are not properly released when the composition is modified while running. [#5418]
  • Data editor source code is currently classified as proprietary, making it difficult for 3rd-party developers to create data editors. [#5662]
  • The SphereOnSquare example composition slows down and hangs after a few minutes due to a memory leak. (Thanks, @George_Toledo, for reporting this issue.) [#5744]

Vuo Compiler

  • There’s hardly any error checking during the composition compiling and linking process. If compilation fails, the compiler may crash. Currently some messages may be printed on the console, so check there first if something isn’t working. [#2341]
  • Defining moduleDependencies in multiple node libraries results in duplicate symbol errors. [#4018]
  • Vuo Compiler crashes if nodeInstanceData returns a bool type. [#4016]
  • Vuo Compiler crashes if nodeInstanceData returns a struct type. (Workaround: Return a pointer to a struct.) [#3942]
  • Vuo Compiler crashes when a port has certain struct types with few members, such as a struct with two int members. (Workaround: Add some unused members.) [#4124]
  • Vuo Compiler adds unnecessary dependencies to built compositions. [#3021]
  • The “done” port does not conduct an event that comes in through an input port with a wall or door. [#5668]
Version
0.4.4