I had a great time in Texas last week with the exhibition, giving lectures and workshops, eating steaks, driving around, and buying a very fetching pair of cowboy boots.
And this Saturday I’ll be showing my Oculus Rift based VR artwork ‘Sequence‘ made with Fugio at the Museum of the History of Science in Oxford.
There’s a new development update, which you can download here, that fixes a couple of issues that users have raised this week:
NEW: FFMPEG/Sound Effects example showing how to play single shot sounds
FIXED: Loop Count wasn’t working properly on Media Player
FIXED: Media Player audio playback needed a refresh
FIXED: Lua library installation fix for macOS
As the new functionality for 3.0.0 is pretty much there, I will be aiming to release it soon once I’ve done some more testing and fixed a couple of issues with the Firmata plugin.
Finally, Fugio – my node based multimedia programming environment – continues to be free and open source, so no further discount is possible, however if you’re in a giving mood, donations are always welcome!
And for those of you who signed up to the mailing list at Ars Electronica: welcome!
For those who weren’t in Linz, we were showing off the latest Fugio build running various patches, including a native OpenGL ES on a Raspberry Pi 3. There were also Fugio badges, stickers, and lots of interesting conversations!
There was a great deal of interest in the Raspberry Pi build, and several people suggested how it could be an excellent platform for educational programs, and cost effective too!
We also had several conversations on the topic of long term preservation of digital art, which is something I’ve built into the heart of Fugio since day one.
It was great to introduce people to Fugio in person and see their reactions and get their impressions of the software through fresh eyes. It’s given me some good ideas for how I want to proceed in the future with new tutorials and features.
For now, I’m focussing on native audio and video playback on the Raspberry Pi as my next major task. Will keep you posted…
As ever, please send me your ideas, feedback, and news of any Fugio projects that you’re working on, and have a great weekend!
It’s great to be back in Linz for Ars Electronica 2017. Have already caught up with many friends from around the world and seen some lovely works, though the event is so huge that there is still so much to be seen.
In preparation for the Mini Maker Faire in POSTCITY on Sunday I have got Fugio badges and stickers ready to give away, so if you’re at Ars Electronica, do stop by and see Fugio in action.
My laptop is now 500% better with a shiny new Fugio sticker on it…
This week work has continued on doing fun things with Raspberry Pi’s!
One key thing I need to be able to do is control patches remotely. While there are already plenty of options for sending and receiving pin data (see the updated Network plugin documentation), there is no possibility for using a text editor remotely while retaining syntax highlighting and error reporting, which are both very helpful when hacking shaders and scripts.
The dream being that I can have an editor on a laptop and remotely live code a shader on a Raspberry Pi.
So I’ve refactored the syntax highlighting and syntax error reporting system to facilitate sharing this information remotely. Next up is writing a couple of nodes for sending and receiving this information over a network.
This should even work over the internet, which opens up some interesting remote collaborative options!
You’ll also notice in the image at the top, I’ve updated the Text Editor to show errors by highlighting the line numbers in red, which is a lot clearer.
I also enabled sending keyboard events from one Fugio to another, which should also prove useful in the future.
I’ve cleaned up and organised the Core plugin documentation. Still much to do, though I’m slowly working my way through it.
Finally, I wanted to highlight this new patch by Winfred Nak that he posted up in the Fugio Users Group on Facebook. It’s a rather cool game show buzzer where the first button pressed will trigger off the music for that team. It’s a good application of logic nodes, which are really useful!
Gameshow Buzzer by Winfred Nak
If one was so inclined, one could add a Firmata node and use an Arduino and real physical buttons as inputs…
Next week I’ll be setting up our robots as part of a new exhibition called Our Friends Electric at QUAD Derby. The launch event is on Friday and I’ll be speaking at an event there on Saturday. Come along and say hello!
We have a new forum for discussing Fugio ideas and issues. It’s a bit quiet so far so do post up your thoughts and questions!
This Sunday (May 7th) I’ll be taking part in the Imperial College Festival, showing our Fugio based virtual reality experience that explores whole genome sequencing of bacteria. Come along and say hello.
This new version, previously shown at Oxford’s Museum of History of Science (pictured), features smells that are blown towards the participant via motors with 3D printed fans at points synchronised to the audio narrative; their speed controlled by a Fugio timeline sending serial messages to an Arduino with a motor shield.
In other news, I asked the Fugio Users Group whether they were running 32 bit or 64 bit Windows. The results were 100% 64 bit! Until now I’ve just been building Fugio on Windows as a 32 bit application, but I’d like to support 64 bit too, so I put the basics in place, and also looked at cmake as an alternative to finding different libraries, the results of which are all on GitHub.
I’ll be in Amsterdam next week, so you can look forward to a “Fugio vrijdag” update.
This week I’ve not had much of a chance to work on Fugio as I’m preparing an artwork for the HUMANS NEED NOT APPLY exhibition that’s opening at the Science Gallery in Dublin next week.
The Anti-Social Swarm Robots don’t like each other, or the walls of the pen they are contained in, or people. They are constantly trying to get away from everything to find their own ‘personal’ space.
When we first exhibited them at the Royal Academy in London, they were described by Sumit Paul-Choudhury, the editor in chief of New Scientist, as “Antisocial swarmbots. This is actually proper brilliant: biomimicry of a behaviour we don’t consider useful”.
There is an opening reception on Saturday, October 1st, 2-5pm – I’ll be there!
As I’ve been busy doing that, and the V&A show last weekend, there is no binary release this week, but there are some goodies to be had in the source code, if you’re compiling along at home:
NEW Kinect plugin (Kinect version 1 for Microsoft Windows only)
NEW MatrixInverse and MatrixOrthographic nodes
UPDATED Serial Port device configuration with many more options
FIXED rendering to OpenGL depth buffers
FIXED missing GL_INT_SAMPLER_2D support from ShaderCompiler
FIXED OpenGL command line option to make windows full screen
I’m not expecting to do a Fugio Friday next week as I’m taking a sort of holiday after the show opens, but I’ll be around to answer questions and such.
Today we have two new plugins that enable Fugio to talk to hardware that uses a serial port interface, which includes the Arduino range of open source hardware (like the Arduino Uno above), which means that we can control LED lights, motors, servos, and use sensors for touch, magnetism, temperature, and many more!
The serial plugin handles the raw data communication between the Arduino and Fugio, and can be used to implement any kind of custom protocol between the two, but we can go one further and use the rather nice Firmata plugin to talk directly to the Arduino pins without writing any Arduino code at all.
I haven’t had time to do a tutorial video (yet), but here’s some pointers to get you started:
Setting up a Serial Port
In the new Devices menu, choose Serial Ports
Add an entry for your Arduino. Make sure you choose the right port, and set the baud rate (the speed the serial port will work at) to 57600 (bits per second)
Remember to press the Enable button for the entry you’ve just added
Reading from the Arduino (without Firmata)
Upload the following code to your Arduino:
void setup()
{
Serial.begin( 57600 );
while( !Serial )
{
// wait for serial port to connect.
}
}
void loop()
{
Serial.println( "Hello, World!" );
delay(1000); // wait for a second
}
Create the following:
And use the following Lua program:
fugio = require "fugio"
PinInputStrings = fugio.input( "Strings" )
function main()
local Strings = PinInputStrings:get()
for i = 1,#Strings do
fugio.log( i .. ": " .. Strings[ i ] )
end
end
Add a Serial Input node, a Firmata node, and a Serial Output node
Connect the Serial input and Serial output to the Firmata node
Connect a button to the Reset pin
If everything is connected and configured properly, you should see the pins appearing on the Firmata node. Check the logger window for additional messages.
If this doesn’t happen first time, you may need to close the patch and reload it.
At this point you should be able to read and write to the Arduino pins!
Click the Edit Pins button to configure pins for inputs (digital INPUT (true/false) and ANALOG input (0-1023)), and outputs (digital OUTPUT (true/false), and PWM mode is supported):