A new build of Praxis LIVE is now available from the usual place, with Windows (.exe) installer, zip distribution, and of course Linux (.deb) installer. This release has taken a little longer than normal to put together. A project I was involved with over the first few months of 2013 helped fund some nice new features, but it took a little time to get them in a releasable state (read the release notes for a full list of what’s new).
Meeting Point was developed by Digital Prisoners for this year’s Dancin’ Oxford. It was a large-scale projection interactive projection for Bonn Square (Oxford, UK), that allowed two members of the public to dance “together” via cameras at either side of the square. It was the first Praxis LIVE public project (at least of mine) to make use of the OpenGL video pipeline and has pushed some major changes and performance improvements.
We were using two IR CCTV cameras, but actually split into 4 feeds via the use of the V4L2loopback module. This led to some major work to implement texture caching and allow direct transfer of video data from GStreamer to OpenGL without touching Java memory at all. I also implemented the ability to run multiple video renderers (it’s always been possible to run more than one video root). This allowed us to use two low frame-rate, low-resolution software pipelines to do motion detection to control the high-resolution OpenGL projection (which explains why the camera feeds were split).
This project also led to the addition of a transform blit operation to both pipelines, in particular to properly support video rotation. This is only accessible through the live code components at the moment, through the use of the rotate(), translate(), scale() and resetMatrix() methods that should work the same way as their Processing 2D counterparts.
OSC what you did there
I’m only going to write a brief overview of some of the other features that have made it in. Expect some separate posts about some of these in the near future – I realise the documentation on some of them is distinctly under-whelming at present!
This release sees the addition of OSC control to the Praxis framework at last. There’s a reason that the address space is OSC compatible, but it took a little nudge from Ryan Webber to finally get it in there. For a feature that took a couple of hours to implement (via the excellent NetUtil library) I do wonder why it’s taken me so long!
There have been some big improvements to the editing experience. In particular, copy & paste is now supported in the graph editor, which was probably more complicated to implement than you might imagine. It’s also possible to import Praxis SubGraph (.pxg) files by dragging them from the File Browser onto the graph, which is implemented using the same mechanism as paste. There is no export feature yet – if you want to reuse some feature from a project, select the component(s) in the graph, copy & paste into a text editor, and save the file with a .pxg extension.
There’s a huge range of other stuff too. So check out those release notes, have a play, and let me know what you think … oh, and keep an eye on this blog for some more detailed info on some of those new features.