Skip to content
Alex May edited this page Mar 8, 2024 · 11 revisions

Fugio (pronounced foo-gee-oh, with a soft 'gee') is an open visual programming system for building digital art and creative projects quickly, with no programming experience required.

Download

Download Fugio at https://github.com/bigfug/Fugio/releases

Compiling

See this page for up to date information on compiling and running Fugio v4.0.

Compiling and Running

Features

  • Easy to learn interface
  • Connect with a huge range of existing software and hardware tools
  • Open Source
  • No licence fees!
  • Cross-platform (Windows, OS X, Linux)
  • Stylesheet support - completely change the editor appearance
  • Easy to extend with custom plugins
  • Designed, developed, and maintained by artist Alex May

Core Plugins

  • Audio- multi-channel audio analysis, processing, and mixing
  • Core- general usage pins and nodes
  • File - file handling nodes
  • GUI - interactive controls for rapid prototyping
  • Image - image handling nodes
  • Math - math functions
  • Multimedia - simple audio and video playback
  • Network - send and receive data over networks
  • OpenGL - work with 3D geometry, shaders, and multiple outputs
  • OSC - Open Sound Control send and receive
  • Painter - script based 2d painting
  • QML - design dynamic and responsive user interfaces
  • Serial - communicate with Arduino boards and other serial port hardware
  • Text - text processing nodes
  • Time - utilities for working with time

External Plugins

  • Assimp - 3d model and animation loading via the Assimp library
  • DMX - interface to DMX lighting and control systems
  • ffmpeg - ffmpeg based video playback and recording (both with audio)
  • FFTW - fast fourier transforms using the FFTW library
  • Kinect - video, depth, and user information (Kinect v1)
  • LeapMotion - hand tracking device
  • Lua - fast scripting support using the Lua language
  • OculusRift - integrate the Oculus Rift VR headset
  • OpenCV - advanced image processing algorithms
  • OpenNI - Kinect support on Windows and OSX
  • PortAudio - cross-platform audio input and output
  • PortMidi - cross-platform MIDI input and output
  • RaspberryPi - added support for running on Raspberry Pi
  • Spout - video sharing between applications on Windows
  • Syphon - video sharing between applications on OSX
  • Timeline - advanced timeline framework with number, colour, grid, and signal tracks
  • TUIO - interface with tangible multitouch surfaces
  • VST - support for VST2 and VST3 audio processing plugins
  • XInput - read game controllers on Microsoft Windows

Simple, clear design

There are building blocks called nodes that have inputs and outputs. Link the inputs to the outputs using your mouse. You now know how to use Fugio!

Learn useful, transferable knowledge

Fugio calls everything by its real-world name and doesn’t introduce needless jargon. What you learn here will be useful elsewhere. It hides the code and leaves you to process the real data how you need to.

Make things first, learn programming on the way

Learning to break an idea down into smaller steps that can be described in code is just as important as learning to write the code itself (and much less frustrating). Using Fugio, you’ll naturally learn important programming concepts along the way without writing a single line of code.

Digital Preservation

Creating digital art is challenging enough without worrying whether it will still be working in the future when you want to show it again. Fugio is designed to be at the cutting edge of digital preservation with its robust, highly modular design allowing for reconfiguration or replacement of nodes without needing to rebuild the whole thing from scratch.

Digital Democracy

Fugio is designed to democratise access to technology for anyone who wants to use it, regardless of existing technical experience. It is amazing to see the worldwide enthusiasm and variety of quality resources to make learning to code available to everyone that has been happening over the past few years.

However, we have to recognise that coding just isn’t for everyone, and we don’t believe that anyone should have to learn to write code to understand or use computers if they don’t like doing it.

Fugio aims to allow access to high and low level technologies without having to write a single line of code, unless you want to, and then you can do that too!

Open API

Fugio is built in C++ using the Qt Project for its excellent cross-platform support.

There is a programming API for Fugio allowing you to create custom nodes, GUI components, and other parts of the system.

You can use Visual Studio C++ Express on Windows, XCode on macOS, or standard build tools on Linux to create plugins - all free tools.

History

In July 2004 Alex released the first version of his PatchBox software that was designed to route real-time video, audio, and control data between software applications and across networks.

PatchBox 2.0 was a much more advanced project that had a wide range of advanced video mapping tools that were used for a range of art installations. After four years of development it was deemed too complex to be of general use and was never released.

Painting With Light took the most hands-on video mapping tools from PatchBox 2.0 and put them into an accessible tool that was released in 2012.

Timeline was another unreleased project that had over a year of development time poured into it. When nearing its first release, it became apparent that it wasn't fit for the purpose it was being created for and it was decided to cancel the release and re-write 90% of the project into a new form.

Fugio is the natural successor to PatchBox 1.0 and 2.0, and incorporates the functionality of Timeline. It is designed to be a modern, sustainable platform for developing digital art installations and performances though it has great scope for many other applications include as a tool for learning to program computers.

Fugio was officially released on 3rd June 2016, marked by the first commit of the source code to GitHub.

Fugio

The name Fugio is:

  • A portamento of fug (from bigfug) and I/O (for input/output)
  • Is a Latin word meaning "speed" and "hasten"

Not really related but a "Fugio Cent" was the first official cent of the United States. It was designed by Benjamin Franklin and the first authorized by Congress (1787)