Structure Synth in VVVV

It is always fun to see Structure Synth used in various contexts, so I am happy to see that Julien (Vux) has created a Structure Synth plugin for vvvv. It is a .NET (C#) Assembly wrapping the original C++ Structure Synth code. The license turned out to be a bit tricky, though:

Structure Synth is a GPL licensed application.

This is something I cannot change, because Structure Synth is based on Qt Open Source Edition which requires that the application is GPL’ed.

vvvv on the other hand is a closed source application. The question is whether a closed source application may use an GPL’ed plugin. It turns out that this is a bit fuzzy in the GPL, but as I read the license, an isolated plugin which provides no vital functionality to vvvv should be okay.

Well, enough license talk. Here is the link:

Structure Synth vvvv plugin page

Update: Vux has also made this nice video.

Structure Synth v0.8.5 Released (“Exonautica Reloaded”)

Well, it turned out that version 0.8.0 missed a few dependencies for the Windows build (so it would not run on a clean Windows XP SP2 install). So, before going away on my summer holiday, I made a quick intermediate release of Structure Synth. Now, if it would just stop raining…


Version 0.8.5 changes:
The provided Windows binaries did not work for Windows XP (without installing the VS2008 C++ Runtime manually)
Size and position of window are now stored in registry.
Fixed a missing include statement causing compilation errors on Debian.
Fixed a bug which caused errors to be highlighted on the wrong text line in GUI, when comments were present.
Fixed a newly introduced bug which caused the ‘maxdepth’ property for a custom rule to fail.
Bug fix: TemplateExporter: All objects may now use the {UID} tag.
Bug fix: Reset View did not reset scale.

The Second Coming of JavaScript

Some months ago, John Resig created processing.js – an impressive JavaScript port of processing, which draws its output on a ‘canvas’ element entirely client-side inside your browser (at least if your web-browser is Firefox 3 or a recent nightly build of WebKit, that is).

Now Context Free (the original inspiration for Structure Synth) has been ported to JavaScript too: Aza Raskin has created ContextFree.js (Source here).

JavaScript has undergone a tremendous evolution. From creating cheesy ‘onMouseOver’ effects for buttons on web pages to being the ‘glue’ binding together complex applications like Firefox or Songbird (the Mozilla application frameworks works by stringing together C++ components with JavaScript). Likewise Microsoft chose to build their Silverlight technology on .NET components which can be controlled by JavaScript in the browser.

And of course the ActionScript in Adobe Flash is also JavaScript. Adobe (and/or Macromedia) has put a lot of effort into creating fast JavaScript implementations – most notably their Tamarin virtual machine and Just-In-Time compiler, which in theory should make JavaScript almost as fast as native code – or at least comparable to other JIT compiled languages such as Java and the .NET languages. Tamarin is open-sourced, and will eventually make it into Firefox 4.

Finally, while the Tamarin virtual machine was built to execute (and JIT) bytecode originating from JavaScript, other languages may target Tamarin as well. Adobe has demonstrated the possibility of compiling standard C programs into Tamarin parseable byte-code (their demo included Quake, a Nintendo emulator, and several languages like Python and Ruby).

So perhaps a future version of Structure Synth could be running as C++ compiled into Tamarin bytecode in a Flash application…

Structure Synth 0.8 (Exonautica) Released

A new version of Structure Synth – version 0.8.0 – has been released.

Binaries available for Windows XP and Vista. Source available for Linux and OS X (a binary OS X build is on its way).

– The new template rendering system allows for easily defining custom exporters (with examples for PovRay and Sunflow).
– Control of the random seed from GUI.
– Minor bug fixes.
– Splash Screen.

Download at:

Third Party Structure Synth Export

David Bucciarelli has written a nice Structure Synth template for creating Luxrender export:

He has also written a very useful Blender import script, that makes it possible to import Structure Synth creations directly into Blender:

This opens up a lot of possibilities since it is now possible to control the lightning and tweak the objects and textures and so on, before rendering.

David’s scripts can be found here together with some more examples.

In order to use the template export in Structure Synth it is necessary to pull the source from SVN and compile it, since the latest binary version (0.7) does not support export templates.

BTW, I plan to release version 0.8 of Structure Synth as soon as I pull myself together to create a build of the current SVN sources.

When the going gets weird, the weird turn pro

While Steve Reich is not directly related to generative art, I think he somehow fits the overall theme of this blog. Even though his minimalistic phrases phasing in and out of sync easily could be performed by a computer, for a human the rhythmic skills necessary to perform his compositions are beyond imagination.

‘Piano Phase’ was originally composed for two pianos (and two piano players). Here both parts are performed by Peter Aidu, a Russian composer and piano player.

Peter Aidu performing Piano Phase (YouTube)
High Quality recording of the above

Another (only vaguely related) keyboard video:
Sun Ra Keyboard Solo (1980)

Structure Synth on Mac OS X

Structure Synth development has been quite idle for the past month (due to lots of work including a Japan visit).

But after a few hours of frustation, I managed to get Structure Synth to compile on Mac OS X – so now Structure Synth is officially supported on Windows, Linux and Mac OS X.

Build instruction (and probably binary builds – if I manage to create an installer) will be added at next release.

Structure Synth – Mac OS X screenshot

Structure Synth – Mac OS X screenshot