It’s been a while but I’ve updated my video mapping software Painting With Light to 1.7.0. It’s mainly a bug fix release that generally improves the usability of the software – trying to address all those little annoying bugs that popped up during workshops!
The biggest change is that the Windows version is now 64-bit (for the first time) and the macOS version now requires 10.13+ (High Sierra).
Work has been progressing towards a 2.0 release that involves a rewrite of the rendering system. I’m not currently working on video mapping projects (although I have plans) so it’s a bit slow going. If you have any particular features you’d like to see included then feel free to add a comment below.
It is with grave embarrassment that I start the new year with a blogging cliche: sorry I haven’t posted in a while but I’ve been rather busy.
Not that this isn’t true, of course. The latter half of 2018 was a whirlwind of projects that started in July with the delivery of Flow State, a major commission for the Francis Crick Institute in London that has 28 video monitors playing synchronised video art using Raspberry Pi’s and Fugio’s network time engine.
Flow State took 18 months to make. After the launch in July, I had one day off and then things got really busy. I spent August doing a EMAP residency at LABoral in Spain with Anna Dumitriu creating an underwater robot called ArchaeaBot. It contains a Raspberry Pi Zero and a PiBorg motor shield, and has an evolving machine learning system running on it to control the motors.
As soon as we had a working prototype, we took it to Linz in Austria to be part of the main exhibition at Ars Electonica, the biggest media arts festival in the world that was celebrating it’s 40th anniversary.
A week later we were back in Spain, exhibiting it at LABoral.
Trips to Hull, Athens, Philadelphia, and Amsterdam followed, then driving to Bourges in France to exhibit at Bandits-Marge, then driving up to Utrecht in The Netherlands to exhibit at IMPAKT in their “A World Without Us” exhibition, which is on until 3rd February.
Finally, just to top the year off, I went to Guangzhou in China for a week just before Christmas.
This has all been a rather excellent opportunity to work on my Algorithmic Photography project that uses Fugio to process 5 minute videos into stunning digital timelapses. You can find the latest images on my Instagram, and buy prints at algorithmicphotography.com.
But this isn’t to say that there hasn’t been software developments going on in between.
Fugio has received some periodic updates including a new Italian translation by MassiminoilTrace, which are available in the weekly builds on the download page.
It’s been useful to take a step back and look at how it has evolved. There are areas where it’s very strong – it’s great at quickly piecing together new ideas, and other areas where some work needs to be done. It’s tempting to create nodes for everything, but some areas of programming are far better suited to being scripted, which has led to an unsteady balance of functionality between nodes and Lua scripting support. For instance, if you wanted to draw a range of different dynamic items that are changing over time, scripting is going to be far more suitable than the more rigid structure of nodes. Where nodes come into their own is for rapidly putting structure into place and enforcing separation of components, which is generally a good thing for reuse and understanding. With this in mind, I’ll be shifting things around, retiring some nodes and adding more Lua libraries.
I’m also in the process of adding some new features that should make editing, sharing, and organising patches a lot faster and easier. I also want to bring back the timeline feature that disappeared a while back as I wasn’t happy enough with the interface.
Painting With Light is getting an upgrade to v2.0 with a rewritten rendering engine and support for Linux – even Raspberry Pi.
Freeframe support is currently on hold as there are changes coming that will be incompatible with the existing standard. Please note that if you choose to purchase the 64-bit FFGL plugins, they won’t work with future Resolume 6 updates.
And that’s about it for this catch-up. I’m off to Utrecht this month and Tashkent in Uzbekistan in February, and will endeavour to keep the updates rolling,
In the last couple of weeks I was at the Eden Project in Cornwall for the opening of their new Invisible Worlds exhibition, where I have a Fugio based interactive installation that’s been running happily for three years now. I gave a talk about my art practice and Fugio, and took this algorithmic photography of the Infinity Blue installation.
Additionally, I’ve been mainly working on finishing off my new art installation for the Francis Crick Institute in London, but I managed to work on a couple of notable fixes for our Early Adopters.
This week I have a big new development update for you to download. This is the first release under the new membership system, which I’ll explain below.
If you’ve been following the development builds over the first few months of this year, you’ll know there’s been a lot of changes going on, which are all rounded up in this release.
The most recent changes over the couple of weeks:
NEW
Added a functional WebSocketServer for connecting Fugio with external services – more on this to come soon…
Added Core/Decimate
Added Math/BitsToInts
First full snapcraft release
UPDATED
All math logic nodes now take arrays of booleans (instead of bitarray)
Compiles with FFMPEG 4.0
macOS build now use Qt 5.10.1
FIXED
There was a new crash caused when linking pasted nodes
This week we have a new node for capturing raw audio data (currently mono only) and making it available as an array, which can then be used by many other nodes include Lua scripting (as we can see in this new example) or OpenGL shaders.
UPDATE: ImageLoader converts indexed images to RGBA
UPDATE: Lua Json parsing can get objects too
FIXED: Rewind in Media Processor
Am currently shifting the macOS compiling to a new dedicated computer which will increase the requirements for the macOS build to require El Capitan (10.11).
Keeping backwards compatibility in macOS is a complex task. While Apple’s official stance is that later versions of the OS should be able to compile apps that work on earlier versions, the reality is that it is all too easy to slip up and compile binaries that aren’t compatible at all but there are no errors or warnings.
To preserve what little sanity I have left, I’m installing a Mac Mini with El Capitan and adding it to my build farm. This should generate solid compatible binaries for at least another year.
While I’ve worked hard to support 10.9 and 10.10 over the years, it takes progressively more work so I have to draw the line somewhere so I can focus on features rather than the builds.
The code should remain backwards compatible, so if you need a 10.9 or 10.10 build, you will be able to compile it yourself.
Just a small development update this week as I’m currently in Helsinki for the kick off meeting for the EMARE residency I’ll be doing at Laboral in Spain later this year.
NEW: Image Split – splits a multi-buffer image (such as YUV) into its individual buffers
NEW: Added Lua/Always Random example
UPDATED: OpenGL Buffer pin shows more info
FIXED: Oculus Rift OpenGL issue
FIXED: Video Capture camera selection
FIXED: ARToolKit Tracker and ParamLoad issues (thanks Michele)
FIXED: UTF-8 string handling in Lua and GUI/String (thanks b4zz4)