2015 has been a major year for Praxis LIVE development, even though this blog has been a little bit quiet recently. Somehow my level of writing always seems to be inversely proportional to the level of activity and features being added to the software. Well, that’s my excuse why a 9-month gap between posts is a good thing, anyway! 😉
So, here’s a little review of some of the big things that have happened in the world of Praxis LIVE this last year …
March 2015 – v2.0
March saw the first full release of Praxis LIVE v2, after 9 months of serious rewriting – a renewed focus on my original idea of a hybrid visual IDE for creative coding. Completely rewritten code support allows for a visual environment that is almost infinitely extendible, with the ability to define new components or fork existing ones on-the-fly. The runtime added in a new compiler infrastructure based on javac, and code editing was massively improved via the NetBeans editor.
Alongside this, support was added for running hubs (projects) across different processes or machines. Using multiple processes is a great way of improving performance, particularly of low-latency audio, while running across multiple networked machines is great for multi-screen displays or developing on embedded hardware.
The final major change in v2 involved embracing the Processing project as a core library. The OpenGL pipeline was completely rewritten on top of Processing, opening up possibilities for things like 3D, and providing almost complete support for Processing’s features within the live-code API.
August 2015 – v2.1
Development didn’t slow down after the March release of v2.0 (although I did also find time to present some of the new v2 features at NetBeans Day UK in May, as well as redo the project’s main website). In August, v2.1 was released that added a new audio-coding infrastructure to match the the core and video coding support added in v2.0.
This new audio coding support includes the ability to live rewrite audio DSP on a per-sample basis (see video from 3:00, full screen!). Incidentally, this is one of the reasons Praxis LIVE was written in Java in the first place.
The v2.1 release also saw the introduction of a Tracker inspired component for sequencing parameters, as well as improved animation support on properties.
October 2015 – v2.2
A magic lantern! Well, actually it’s Digital Prisoners’ contemporary twist on a magic lantern, built for the City of Oxford Museum. Underneath the hood it’s got a Dell LED projector, an Intel Compute Stick running Praxis LIVE, and various TinkerForge sensors (eg. NFC tags embedded in the “slides”).
There are various features that have ended up in Praxis LIVE thanks to and funded by Digital Prisoners‘ projects, and v2.2 benefited from some in order to make best use of the tiny but low performance Compute Stick.
The OpenGL pipeline was updated to use Processing v3, which is much more efficient and stable. This did bring its own range of problems, though, as Processing v3 brings in other changes that make it less suitable for use as a library and required careful (and in one case, hideous) hacking around.
Alongside this, I ended up taking on the task of updating the GStreamer-Java bindings to support GStreamer v1.x. In the process I cleaned up some memory and performance issues inherited from the GStreamer v0.10 binding. While this is still optional in Praxis LIVE v2.2, it is likely to become at least the Linux default soon.
During this time the outdated help files in the software were replaced with a link to the new manual at http://praxis-live.readthedocs.org/
And on to 2016 …
There are more exciting improvements planned for the software going in to the coming year. One day I might actually get around to adding these plans into the issue tracker too, but don’t let that stop you adding in your own awesome ideas for improvements! 😉 There are also other related things in the pipeline, and even if only some of them come to fruition, the next year looks like being an exciting one for Praxis LIVE.
2015 has seen some major changes with the release of v2, along with a steady increase in interest and users. Best of all, it’s great to see some of the things other people build with it, and something I intend to highlight further in 2016 …
Have a great New Year!