Fugio Friday: 16th March 2018

Happy Fugio Friday!

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.

Have a great weekend!

Fugio Friday: 2nd March 2018

Happy Fugio Friday!

There’s been another busy week working on the upcoming 3.0.0 release, the results of which can be downloaded in the latest development builds.

  • NEW: Freeframe plugin with support for 1.0 and FFGL plugins.  Set the paths to the plugins in the Fugio preferences.  Please remember that only 32-bit builds can load 32-bit Freeframe plugins (and vice versa for 64-bit).
  • NEW: Experimental fast input pin setting – press and hold the left mouse button on an input pin until the slider pops up
  • NEW: Spout to Image example
  • NEW: Flip image flag added to Spout Sender
  • UPDATED: Rate Control has a proper trigger pin now
  • FIXED: Issues with new Windows installer that fixes the application icon and plugin loading (thanks truthcollins)
  • FIXED: OpenGL debugging was still on in release builds

I’m flying off to Texas tomorrow for an exhibition, so there almost certainly won’t be a Fugio Friday next week.

Have a great weekend.

Fugio Friday: 23rd February 2018

Happy Fugio Friday!

I’m currently in Belfast having just given a talk for the Northern Ireland Science Festival.

Check out this cool patch that uses your webcam to create two areas on the screen that act like buttons, which you can use to trigger off whatever you like!  Yes, I know my hand is blue – I’m working on that…  It’s available under the Video Capture examples in the File menu.

The latest development builds are available for download with new command line options for controlling the loading of plugins.

You can install the snap build using the following:

snap install --edge fugio --devmode

  • NEW: Command Line Options (see below for examples)
  • NEW: Experimental Linux snap builds for i386, x64, and armhf
  • NEW: Core/ProcessClick node
  • NEW: Two Video Buttons and Multiple AND examples
  • UPDATE: OpenCV/CountNonZero accepts a Region Of Interest (ROI)
  • FIXED: Kinect wasn’t working properly after image changes

Command Line Options

The new command line options for Fugio allow you to enable or disable plugin loading, set the OpenGL backed, set the language, and define variables for plugins.

The path to the Fugio or FugioShow executable is different on each platform:


C:\Program Files\Fugio\bin\Fugio.exe




which fugio

Replace [fugio] in the examples below with the path to the Fugio or FugioShow application on your platform.

Show the command line options:

[fugio] -h

Only load the core and math plugins:

[fugio] --enable-plugin fugio-core --enable-plugin fugio-math

Don’t load the PortAudio plugin:

[fugio] --disable-plugin fugio-portaudio

Run Fugio in German:

[fugio] --locale de

Run Fugio in Spanish:

[fugio] -l es

Load a patch:

[fugio] path/to/your/patch.fug

You can load more than one patch by listing them all on the command line.

Have a good weekend!

Fugio Friday: 16th February 2018

Happy Fugio Friday!

I made the mysterious image at the top of this post using Fugio to process some footage I shot when recently in Venice.  I’m currently working on a series of these “algorithmic photographs” for an upcoming exhibition (plus talks and workshops!) at Texas A&M university in a few weeks.  You can see the latest images on my Instagram feed.

This week we have an updated 3.0.0 development release for all platforms that has a few key changes:

  • NEW: Hovering your mouse cursor over nodes in the insert node dialog will show you their description (if they have one)
  • NEW: EasyShader2D supports multiple texture render targets
  • UPDATE: VariantPin now has tooltips for QPoint and QSize
  • UPDATE: OpenGL examples use EasyShader2D where possible
  • UPDATE: Implemented more portable OpenGL VAO support
  • FIXED: FilenamePin wasn’t saving default value paths correctly
  • FIXED: GetSize wasn’t setting its variant count properly
  • FIXED: Stepping through media using Media Processor, or streaming media should work much better now
  • FIXED: There were missing dependencies on the Raspberry Pi build (thanks Winfred!)

Have a good weekend!

Fugio Friday: 9th February 2018

Happy Fugio Friday!

Despite having been away in Venice for most of the week for a rare holiday, we have a new Fugio development update for you to download.

There is still some work to do before a final release of 3.0.0 but we’re getting closer…


  • New nodes for chopping up strings: Left, Right, Mid, Chop
  • New node for finding text in a string: Contains
  • New boolean logic node: Boolean Latch
  • New control node: Block Updates
  • New options on initial patch prompt


  • All translations now working again
  • Fixed wrong libswresample-ffmpeg2 dependency
  • Examples and snippets weren’t being found
  • WebSocket was disabled

Have a good weekend!

Fugio Friday: v3.0.0 dev for Win 32/64, Mac, Linux, RPi

Happy Fugio Friday!

We have a binary release for Linux!

Following on from last week, I’ve been putting the finishing touches to my new Jenkins based build system for Fugio.

From now on you’ll be able to download the latest development build for Windows 32 and 64 bit, macOS, Linux, and Raspberry Pi.

Once the builds are deemed stable, they will be moved to the stable download section and work will begin on the next release.

Apart from being able to keep 5 different build platforms up to date, it means that new features and bug fixes will be available sooner.

On GitHub, the new release branch will now start at the beginning of the release cycle, instead of the end.  The develop branch will be merged with the release branch once new code is ready to be tested.

Please test the new builds and let me know if there are any problems.  Every system has their own complex way of building and distributing software that I’ve had to learn and grapple with.  This release is a whole new implementation across the board so there may be a few problems.

Finally, the whole build system is now cmake based rather than using qmake, which is the culmination of weeks of work.

Have a good weekend!

If you want to support Fugio development then please consider joining my Patreon page to help fund future work.

Fugio Friday: Happy New Year 2018!

Hey, happy new year!

So I’ve been taking a little break from the Fugio Friday as I’m flat out working on the final run up to a new permanent art installation in London that is using… Fugio, of course!

I’m also working on some big changes for the first release of 2018:

For the first time in Fugio’s history, I’m doing some changes that will almost certainly break a few patches.  The main issue I’ve had is how Fugio deals differently with pins that have a single value (say a 2D Point), and a pin that has multiple values (like an array).  I want to simplify this interface, which will enable more succinct patches, faster processing, and easier Lua code.  The example screenshot here shows the Lua script processing an array of 2D points using the new interface.

As Fugio is able to work on more platforms, I’ve finally ventured into the world of automated builds.  I’m now running Jenkins to build Win32, Win64, macOS, Raspberry Pi, and now a Linux binary distribution:

These are all being build off the feature/cmake branch, which will become the default build method in 2018.

I’ve still got a little way to go before these releases will be ready for you to download, but I’m working on it!  Don’t forget you can support the ongoing work by signing up for my Fugio Patreon page!

That’s the news so far for 2018.  Hope it’s treating you well.

Have a great weekend.

bigfug flattr

In light of the recent attacks on net neutrality in the states, it’s vitally important to explore and participate in new technologies for supporting diversity and revenue generation on the internet to sustain its open architecture without relying on big corporations for access and ad revenue.

Flattr is a service where you pay a small amount (I pay $5 a month), install a web browser extension, and it automatically gets distributed to websites that you visit (that have signed up to Flattr) – sign up through https://flattr.com/@bigfug and I get $3 referral!

I’ve added Flattr support to bigfug.com, alexmayarts.co.uk, my YouTube account, and everywhere else.  Help support independent software and art!

Fugio Friday: Raspberry Pi release

Happy Fugio Friday!

I’m delighted to announce the first binary release of Fugio for Raspberry Pi (running Raspbian Stretch – as well as updated Windows and macOS builds).

No longer do you need to worry about compiling or cross compiling from source.  You can even install it via apt-get to handle all the dependencies automatically.

Download Fugio v2.14.0 for Windows and macOS (source code)

Installing Fugio on Raspberry Pi

Open a Terminal window.

If you’re installing Fugio for the first time on your Pi, you need to add my public key so you know the files are signed by me.

sudo apt install dirmngr

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BC9654E46D3A81C4

Next, you need to add the Fugio source to your system:

nano /etc/apt/sources.list

At the end of the file, add the following line:

deb https://www.bigfug.com/releases/ stretch main rpi

Save the file (Ctrl+X).  Now you can update your sources:

sudo apt update

And you’re good to go…

sudo install fugio

This is the first time I’ve done a binary release for Raspberry Pi, so please let me know if you run into any problems in the comments below.

Check out the new GPIO node if you want to access the Raspberry Pi’s pins.  I’m doing some work with this at the moment for controlling RGB LED’s and it’s working for simple I/O.

Currently it’s not possible to utilise the accelerated video decoding on the Pi as there are some incompatibilities that I still have to resolve, so don’t expect the video decoding to work at full speed.

What else is new?

Obviously this wasn’t just a case of compiling the source code on a Raspberry Pi.  I had to do a lot of work on the OpenGL side to support OpenGL ES, allowing accelerated graphics.

To simplify using OpenGL shaders on all platforms, I’ve added a new node called “Easy Shader 2D”, which avoids having to add geometry and other OpenGL support nodes.  See the new examples.

You’ll also notice a big change when you start Fugio up – we have a wonderful new logo that was designed by Eleanor Hyland-Stanbrook.

There’s a new plugin: NDI for sending and receiving video over a network (the 1,000th commit on GitHub).

There’s some new nodes for working with arrays of bits like IntToBits, AndBits, XorBits, etc.  If you’re interested in modelling logic systems, these will save you lots of nodes!

There’s a StringSplit, Min and Max, Cosine, JoinPoint, and OpenGL ArrayToTexture…

This release also has the first build of FugioShow which is a small application for running the patches you’ve designed with Fugio without the editor.

Wow, that was a lot of new stuff!  You’ll have noticed that there hasn’t been a Fugio Friday for a while.  This was mainly because I’m super busy working on my art commission for the Francis Crick Institute, and also the large amount of changes needed to be made to the OpenGL side to support the Pi.

Have a great weekend!


  • New logo!
  • OpenGL ES support
  • NDI plugin added
  • FugioShow
  • OpenGL EasyShader2D, ArrayToTextureBuffer node
  • Point and Line support with pin, Lua class
  • OpenCV Hough Lines and Simple Blob Detector nodes
  • IntToBits, Multiplexor, AndBits, BitsToPins, FlipFlop, NandBits, NorBits, OrBits, XorBits, Min, Max, CosineDegrees nodes added to Math plugin
  • SplitList, StringSplit, JoinPoint nodes
  • GPIO Raspberry Pi node
  • Can run Fugio with –opengl, –gles, or –glsw for OpenGL desktop, ES, and software renderer
  • Added OpenGL Barrel Distortion example
  • Added Geometry plugin with PolygonNode (early stage)


  • Iterations added to OpenCV Erode/Dilate
  • Nodes that take a filename will pop up a file dialog when you ‘Edit Default’ so you don’t need a FilenameNode
  • Math Add, Divide, Multiply, and Subtract nodes work on a wider range of input data types
  • Variant pins show useful data when you hover the mouse over them
  • Added lots of new data types to ArrayPin


  • Code is Qt 5.7 compatible
  • Fixes to TextureMonitor