Jaymie Strecker Steve Mokris Melissa Egan vuo.org Jean Marie Cackowski-Campbell vuo.org/contact Karl Henkel Visual Programming for Multimedia Artists Bradley Mellen kosada.com Matthew Radcliffe }

Event Vuo The Start node Cable Composition Some multimedia art generates an event Data and events A program. when the composition starts running. Many multimedia artists want flow from one function's output This one is a simple calculator to create original works to another function's input. that adds or multiplies two numbers. of interactive art and music. 1024 Architecture Yet their background turned a building into is in art or music, a dancing, talking, not programming. interactive character.

Vuo, } being a visual language, is a solution to this conundrum.

The multimedia artist creates a program (or "composition") Perspective Lyrique. by dragging nodes onto a canvas Designed by 1024 Architecture. and drawing cables to connect them. http://1024architecture.net/

Instead of worrying about syntax, Created with MadMapper, the multimedia artist Quartz Composer, can focus on logic and data flow. VDMX, Ableton Live. With Vuo, multimedia artists and developers can:

• Improvise: Change a composition while it's running. Node • Debug: Inspect data within a running composition. A function • Create graphics with modern OpenGL and scenegraphs. with 0 or more input parameters • Build multi-threaded, native . and 0 or more output parameters. In this traveling exhibit, • Package executables into distributable apps. It may or may not have state. visitors step inside a box • Invoke and control compositions from other applications. and control color relationships with their bodies. Supporting text languages How Vuo uses LLVM

Vuo users will be able to extend the language Vuo Vuo Vuo Runner by making their own node classes. Colorbox. Runtime Designed by Gabriel Mott. Multimedia artists with programming experience, bitcode http://colorbox.me/ and developers wanting to market to multimedia artists, will be able to implement node classes using Vuo's API. Created with Kinect, Quartz Composer, Synapse. • The initial release will support writing node classes in . Composition • Support for implementing node classes in other text languages, Node class ...is compiled Node class Composition ...is run running and in Vuo's graph language, is planned. using the API by forking • Node classes can wrap existing libraries. to create... bitcode a process... in its own Vuo users will be able to easily combine libraries ...is augmented using process into imaginative, original compositions. the LLVM code generation API,

and linked using the Clang API, To accompany music LLVM, and projects built on LLVM, to create... Composition in a church, solve the problem of parsing many languages into a common format ...is compiled ...is run using Vibeke Bertelsen (the LLVM intermediate representation). Composition using the LLVM Composition running the LLVM animated 3D models source code code generation API bitcode in 3rd-party engine... on a 13-meter-tall • C, C++, and Objective-C can be parsed by Clang. to create... process transparent screen. • Ada, C, C++, and are fully supported, and other languages partially supported, by DragonEgg. • C# and other .NET languages can be parsed by . Uncanny Creatures. • Python, Lua, Haskell, and other front-ends Designed by are available from various external projects. Vibeke Bertelsen (Udart). http://udart.dk/

Created with Poser, Supporting operating systems Visual programming environments Quartz Composer.

LLVM frees Vuo's developers from the difficulty of supporting multiple platforms, 1990 1996 1998 2005 2013 letting us focus on making Vuo powerful and fun for its users. First release

Vuo frees its users Many musicians from the technical constraints of being locked into one platform, at the electro-music festival letting them focus on creating amazing works of multimedia art. team up with visualists Max Pure Data vvvv Quartz Composer Vuo or create their own visuals For editing compositions: to complement Supported platforms for editor Windows, Mac Windows, Mac, Windows Mac Mac (Windows, Linux planned) their music performances. • The initial release will support Mac. • Support for Linux and Windows is planned. Supported platforms for compositions Windows, Mac Windows, Mac, Linux, iOS, Android Windows Mac Mac (Windows, Linux, iOS, Android planned) Performance at • LLVM, Clang, and other dependencies electro-music 2012. are open-source and cross-platform. Supported text languages for nodes C, GLSL C, GLSL C#, HLSL Objective-C, JavaScript, GLSL C (more planned) Music composed This makes it easier to port from Mac to Windows and Linux. and performed by

Are compositions compiled? Shannon Lee Hayden. For running compositions: http://shannonleehayden.com/

• The initial release will support Mac. Is it open source? Visuals by Steve Mokris. • Support for Windows, Linux, iOS, and Android is planned. Created with Quartz Composer. • LLVM and Clang can generate code for these (and more) platforms. • LLVM and Clang support cross-compiling. Photo by Hong Waltzer. A user could develop a composition on Mac and deploy it to Windows. http://picasaweb.google.com/hongwaltzer