Main menu

Post navigation

Praxis LIVE v2

So, after months of development (and not much blogging!), Praxis LIVE v2 is finally released into the world. And after some radical changes in its underlying architecture, Praxis LIVE is now getting much closer to my original vision of a hybrid visual IDE for creative coding.

Version 2 is a major update and many core features have been rewritten over the last 9 months of development. This redevelopment extends two central ideas at the heart of Praxis LIVE – its hybrid editor blurring patcher-style visual editing with live coding; and its distributed-model architecture.

A completely rewritten live-code API allows for custom components to easily interface with the environment (eg. define ports and controls), and the Fork All initiative has seen many built-in components ported to this new live-code support – if a built-in component doesn’t do quite what you want you can extend its code on-the-fly. Of course, you don’t have to code to make use of Praxis LIVE, but this model will also make it far easier for others to share custom components. Keep an eye on the new Custom Component repository, or even share yours!

Praxis LIVE has always used an architecture based around distributed programming in order to provide robust support for communication between media pipelines updating at different rates. Version 2 extends on this to allow projects to run across multiple machines, or in multiple processes on one machine (for better performance, audio latency, etc.). Distributed hubs are optional and transparent – no changes are required to projects to make use of this.

Another major aspect of version 2 development has been to concentrate on the development of Praxis LIVE‘s core features and make better use of third-party libraries where possible. Praxis LIVE now uses Processing as a core library, enhancing the OpenGL video pipeline, opening up possibilities for 3D, and providing almost complete access to Processing’s features from within the live-code support. The built-in compiler is now based on javac, and massively improved code editing (with full code completion and error highlighting) comes courtesy of the NetBeans project. And you’ll also notice a new Nimbus-based UI, because it both looks good and is simpler to maintain.