Released on 2014.04.24
This release adds many new nodes and other features, including:
- Nodes for audio input/output, useful for music visualizations, sound effects, and audio playback
- Nodes for keyboard input, useful for adding keyboard controls or text input to graphics windows
- Nodes for iterative graphics, useful for drawing multiple 2D or 3D objects at a time
- Improved support for UI design
- Nodes for animation
- Nodes for interaction with layers
- Nodes for layers with shadows
- Improved support for using Vuo compositions as plugins in 3rd-party applications
- Ability to create a composition whose published ports match a protocol (Image Filter or Image Generator), providing an interface between the composition and the application
- Reduced Vuo framework size by 25%
- Added an "event throttling" setting to help prevent compositions from slowing down when events are firing faster than the user's computer can process them
Changes
Here's what we've done in the last 6 weeks:
New Examples
- Align Layers to Window
- Assemble Jigsaw Puzzle [#7747]
- Compare Easing Curves [#7862]
- Compare Smoothed Data [#7861]
- Compare Smoothed Motion [#7861]
- Display Row Of Spheres [#7622]
- Draw Layers With Trails (Thanks to @GeorgeToledo for prompting this!) [#6144]
- Is Mouse Within Layer [#7746]
- Make Spiral [#7622]
- Make Terrain [#7622]
- Move Light Across Tile
- Play Audio File
- Play Audio Wave
- Play Blues Organ
- Scratch Record
- Show Live Audio Waveform
- Spin Shell [#7622]
- Visualize Frequencies
- Visualize Loudness
Built-in Nodes, Types, and Input Editors
- Added the
vuo.audio
node set for audio input/output.Receive Live Audio
[#4726]Send Live Audio
Play Audio File
[#5000]Get Audio File Info
List Audio Devices
Get Audio Input Values
Get Audio Output Values
Make Audio Input from ID
Make Audio Input from Name
Make Audio Output from ID
Make Audio Output from Name
Make Audio Wave
[#7695]Mix Audio Channels
[#7402]Calculate Loudness
[#7401]Split Audio by Frequency
[#7399]Make Image from Channels
Make Waveform Image
[#7640]
- Added the
Convert Note Number to Frequency
node. [#7721] - Added the
vuo.keyboard
node set for keyboard input.Receive Keyboard Buttons
[#7687]Receive Keyboard Typing
[#7688]
- Added the
vuo.motion
node set for animation.Curve
[#5305]Spring
[#7666]Smooth with Duration
[#5298]Smooth with Inertia
[#5298]Smooth with Rate
[#5298]Wave
(moved from thevuo.math
node set) [#7823]
- Added support for user interaction with layers.
- Added the
Receive Mouse Drags on Layer
node. [#7747] - Added the
Is Point within Layer
node. [#7746] - Added a
renderedLayers
output port to theRender Layers to Window
andRender Layers to Image
nodes. [#7745] - Added a
name
input port to theMake Layers
nodes. [#7745]
- Added the
- Added the
Make Layer with Shadow
andMake Scaled Layer with Shadow
nodes. [#6986] - Added the
Align Layer to Window
node. [#7901] - Added support for iteration when drawing scenes and layers.
- Added the
Copy 3D Object
(vuo.scene.copy
andvuo.scene.copy.trs
) nodes. [#7748] - Added the
Copy Layer
(vuo.layer.copy
andvuo.layer.copy.trs
) nodes. [#7749] - Added the
Make Points along Curve
node. [#7751] - Added the
Make Parametric Points
andMake Parametric Grid
nodes. [#7150]
- Added the
- Added the
Get Window Dimensions
node. (Thanks to @jokkeheikkila for suggesting this!) [#7847] - Added the
Snap Value
node. [#7817] - Added the
Share Value
node. [#7885] - Added the
time
,uMin
,uMax
,vMin
, andvMax
ports, and removed theuExpression
andvExpression
ports, on theMake Parametric Vertices
node. [#7873] [#7872] - Added the
center
andamplitude
ports to theWave
node. [#7702] - Added icons to some menu input editors. [#7854]
- Changed the default lighting in the
Render Scene
scene nodes (when the input scene does not contain any lights) to use three point lights instead of one. [#7601] - Changed the default type of the
Get Message Values
(vuo.osc.message.get
) nodes' output ports from generic to real number. [#7633] - Fixed the
Receive Leap Frame
node's not firing events in exported apps that lack a window or don't currently have their window focused. (Thanks to @bLackburst for reporting this!) [#7642] - Fixed the crash when the
Receive OSC Message
node'sudpPort
value changes while the composition is running. (Thanks to @architek1 for reporting this!) [#7644] - Fixed crashes when live-coding with nodes that work with images. [#7513]
- Fixed the
Are Equal
(vuo.text.areEqual
) node so that it outputs true when comparing texts that contain the same Unicode characters but are encoded differently. [#5561] - Fixed the
Make Text Image
node's calculation of image height for text containing blank lines. [#7534] - Fixed the missing interface node indicator (radio arcs) on
vuo.mouse
nodes. [#7690] - Fixed the
Adjust Image Color
node's handling of brightness values outside the range of -1 to 1. [#7931] - Removed the temporary workaround (no longer needed with event throttling) that force-quit a composition if it used more than 256 MB of VRAM. [#6909]
- Eliminated the "decode_slice_header" console messages printed while running some compositions with
vuo.movie
nodes. [#7604] - Updated the OpenSSL version included with Vuo to secure compositions against the Heartbleed vulnerability. [#7636]
Vuo Editor
- Added the ability to turn the cursor into a drag hand by holding the spacebar, then drag the canvas around to scroll. (Thanks to @usefuldesign and @bLackburst for suggesting this!) [#7616]
- Added a "Set Event Throttling" context menu option for trigger ports to handle the buildup of events when the trigger port is firing faster than the composition can process. [#6909]
- Added the "File > New Composition with Protocol" menu option, with protocols "Image Filter" and "Image Generator", to create a composition with a predetermined set of published ports. [#7678]
- Added a special area to the published port sidebars for the published ports that match a protocol. The protocol is recognized when a composition is created or opened. [#7683] [#7681]
- Added the "Run > Run as Image Filter" and "Run > Run as Image Generator" menu options, which automatically replace the "Run > Run" menu option when a composition is recognized to match one of these protocols. [#7680]
- Added the ability to disconnect a cable between a regular port and a published port, leaving the published port in place. [#5142]
- Added the ability to connect an regular output port to multiple published output ports. [#5142]
- Added the ability to connect multiple cables to a published output port as long as no more than one carries data. [#7711]
- Added the ability to connect a published port to a generic port. [#7917]
- Added the ability to connect a published input port to a port of a different type, inserting a type-converter node. [#7916]
- Improved performance of rendering and scrolling the composition canvas. [#7507]
- Improved the visual design of compositions:
- Changed the color of port circles/triangles to match the node background. [#7782]
- Fixed spacing of event wall/door arcs so they don't overlap between ports. [#7776]
- Fixed files showing up in the Open Recent menu after they've been moved or deleted. (Thanks to @joeladria for reporting this!) [#7345]
- Fixed headless (windowless) exported apps endlessly bouncing in the OS X dock. (Thanks to @bLackburst for reporting this!) [#6760]
- Fixed input editors being opened in the wrong order for some nodes when tabbing between them. [#7788]
- Fixed graphics artifacts left by published cables when the canvas is scrolled. [#7713] [#7714]
- Fixed graphics artifacts left by dragging after rubberband selection on Retina displays. [#6477]
- Fixed bug where some rare compositions (created before Vuo 0.6.0 and having certain cables connected a
Render Scene to Window
orRender Layers to Window
node's mouse trigger port) would become corrupted when opened. [#7600] - Fixed the composition not being marked as modified if you save and then undo. [#3332]
- Fixed the composition being marked as modified if you save, then make a change, then undo. [#3332]
- Fixed published ports losing their original ordering (instead being put in alphabetical order) when opening or pasting a composition. [#7532] [#7915]
- Fixed bug where a port popover would not show the port's most recent value if the port popover is already open when the composition starts running and the port receives an event within a short time after the composition starts. [#7927]
- Fixed node popovers obstructing the view of context menus. [#7934]
- Fixed constant value flags not being wide enough for some default constant values when a node is first added to the canvas. [#7967]
Documentation
- Manual
- Added section "Controlling the buildup of events" about event throttling. [#6909]
- Added section "Sending the same data to multiple ports" about the
Share Value
node. [#7945] - Added information about published ports and protocols: a section called "Interfacing with Applications", a section called "Using a protocol for published ports", and an expansion of the "Running a composition" section. [#7944]
- Added examples of trigger ports on interface and non-interface nodes to the "Trigger ports" section. [#7783]
- Added instructions for entering multi-line text into an input editor. [#7886]
- Updated to reflect recent changes to the visual design of nodes. [#7303]
- Updated to reflect recent changes to the
vuo.mouse
nodes. [#6677] - Updated the "Built-in Nodes" section with recently added node sets. [#7949]
- Nodes
- Expanded the documentation for the
Make Parametric Vertices
node. [#7622] - Added instructions for entering multi-line text for the
Make Text Image
node andvuo.text
node set. [#7886] - Clarified that the
Cut
andCount Characters
nodes count line breaks and other whitespace characters. [#7886] - Fixed broken links to example compositions in node documentation displayed in a web browser. [#7810]
- Fixed node previews being rendered too small and without drawers in node documentation displayed in a web browser. [#7486]
- Expanded the documentation for the
Vuo Compiler
- Composition file format
- Added an attribute for the data type of a published port. [#7656]
- Added an attribute for the constant value of a published input port. [#7710]
- Fixed composition parsing to preserve the order of published ports as listed in the composition file. [#7532]
- Fixed freezes (deadlock) in certain compositions that have multiple trigger ports firing into different nodes within a feedback loop. [#7924]
- Fixed incorrect information in warning messages about the parameters allowed and disallowed in node API functions. [#2741]
SDK
- Node API
- Added an optional parameter to
VuoOutputTrigger
to set a trigger port's default event throttling. [#6909] - Allowed the
nodeInstanceTriggerStop
function to useVuoOutputTrigger
parameters. [#7651] - Added the ability to specify a default value for each specialized port type in a generic port's
VuoInputData
. [#7733] - Added a
VuoKeyedPool
class to help manage pools of resources shared between nodes. [#4819] - Added a
VuoTriggerSet
class to help manage groups of related triggers. [#4819] - Moved the VuoHeap source code from the runtime folder to the library folder. [#7620]
- Added an optional parameter to
- Framework
- Reduced the framework size by 25%. [#6080]
- Command-line tools
- Enabled
vuo-compile
to accept .m or .mm node class source files (in addition to .c or .cc). [#7847]
- Enabled