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

  • 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)

UPDATED

  • 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

FIXED

  • Code is Qt 5.7 compatible
  • Fixes to TextureMonitor

 

Fugio Friday: New Logo and Easy Shader 2D

Happy Fugio Friday!

And I am happy to show off the excellent new Fugio logo that was kindly created by designer Eleanor Hyland-Stanbrook.  Thank you, Eleanor!  As we speak it is being made into laptop stickers and pin badges that will be available at the upcoming Ars Electronica Mini Maker Faire.

If you’re not able to make it to Linz but you still want a sticker/badge, I will be sending them out to all the lovely people who are supporting Fugio on Patreon (don’t forget to enter your shipping address!).

Work has been continuing on the updated OpenGL implementation and I’ve created a new, and much simpler way of using 2D shaders.

While Fugio aims to provide the most flexible access to the underlying technologies, this can sometimes result in having to use a lot of nodes, and this is very obvious when creating an OpenGL shader.  The current wobbly kitten shader example looks like this:

That’s a lot of nodes!  However, with the new Easy Shader 2D node that I’m working on, it now looks like this:

That’s eight less nodes, which means less clutter and the patch being easier to navigate. It also works on both desktop and Raspberry Pi.  Additionally, you can still use the existing shader nodes if you need the extra power and control they give you.

The code for this is in GitHub now if you want to try it out but a binary release is a little while off while I continue work on the Raspberry Pi support.

Have a great weekend!

Fugio Friday: ISF Render To Texture

Happy Fugio Friday!

This week we have a new release: v2.13.0

It was noted in the Fugio Users Group that there was no (easy) way to render an Interactive Shader Node (ISF) to a texture, which would be very handy for passing to Syphon and Spout.

This release has a new Render To Texture node and several fixes in the OpenGL and ISF plugins that make this possible.

There has also been a lot of work done on the new time synchronisation system but that’s not quite ready for release yet (the code is on GitHub if you want to check it out early).

As there is a new binary release, I’m pushing the launch of The Fugio Zone to next Friday, but if you want to get early access, you can get the login details right now by becoming a Fugio sponsor on Patreon!  Just a little donation helps with all the costs of running an open source project, such as hosting, domain names, etc.

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

Have a great weekend!

PS: Near Derby?  Go see my robot artworks in the Our Friends Electric exhibition!

NEW

  • New Examples:
    • ISF/Render To Texture
  • New Nodes:
    • OpenGL/Render To Texture
    • Time/Universe Receive
    • Time/Universe Send
  • Time synchronisation is working and almost ready for release

UPDATED

  • ISF and Texture Monitor use the correct texture coords

FIXED

  • ISF wasn’t restoring the current framebuffer
  • Saving broke some file paths
  • Cleaned up some incorrect OpenGL calls
  • Image format could get confused in OpenCV/Flip

Fugio Friday: Interactive Shader Format support

Happy Fugio Friday!

This week we have a new binary release of v2.11.0 that introduces the new Interactive Shader Format (ISF) plugin that I’ve been working on for the past few weeks.

The plugin allows loading and developing of OpenGL shaders with a much simpler interface and has built in support for audio and FFT data so you can easily make audio reactive shaders.

Download Fugio 2.11.0 for Windows (7, 8, 8.1, 10)

Download Fugio 2.11.0 for macOS/OS X (Mavericks 10.9+)

New Fugio Art Installation

My other big news is that I have just signed off for a major new Fugio based art installation for the Francis Crick Institute in London.

The Francis Crick Institute is a biomedical discovery institute dedicated to understanding the fundamental biology underlying health and disease. Its work is helping to understand why disease develops and to translate discoveries into new ways to prevent, diagnose and treat illnesses such as cancer, heart disease, stroke, infections, and neurodegenerative diseases.

An independent organisation, its founding partners are the Medical Research Council (MRC), Cancer Research UK, Wellcome, UCL (University College London), Imperial College London and King’s College London.

The new artwork will reflect the highly active and diverse range of activities taking place within the institute that are at the cutting edge of biomedical science, and incorporate historical elements referencing Francis Crick’s achievements and legacy.

The installation will be constructed over the course of 2017 and launched in January 2018.

The artwork will be using Fugio running on around 20-25 Raspberry Pi computers, so expect to see a lot of updates for the RPi build of Fugio in the coming months.

Have a good weekend and see you next week!

NEW

  • Interactive Shader Format (ISF) plugin
  • OpenGL TextureMonitorNode
  • Added exprtk submodule
  • Added initial Windows 64 build (not all plugins supported)

UPDATED

  • Builds with Qt 5.5
  • FilenameNode reports error when file doesn’t exist
  • Optimised drawing of background in MIDI and Media timeline

FIXED

  • Various minor build issues

Fugio Friday: Work In Progress

Happy Fugio Friday!

OK, so last week I managed to miss an update as I was in Amsterdam helping out with an exhibition, catching up with friends, and enjoying some fine raw herring.  Apologies if you were missing your Fugio news!

This week has also been busy though, inspired by some discussions on the Fugio Users Group, I started implementing a new plugin for supporting Interactive Shader Format, which is a way of simplifying the use of OpenGL shaders, so rather than having several nodes for compiling shader code and setting up the required geometry, ISF takes care of all this in one simple node.

What is simplified for the user usually means more complexity for the developer so the plugin isn’t ready for a binary release, as it doesn’t support all the features of ISF yet, but if you’re compiling Fugio from source, you can get the code now on the ISF feature branch.

Next week I’m in Birmingham mainly filling out application forms for various open calls.

Have a good weekend!

Fugio Friday: Video Shader Recorder

Happy Fugio Friday!

This week sees the first release of the Media Recorder node that allows recording video and audio files from inside Fugio.

To demonstrate its abilities, I have created a new example patch called Video Shader Recorder (find it in the FFMPEG examples, in the file menu) that allows you to load a video file, apply a custom OpenGL shader to it, and save it out to an MP4 video that’s ready to upload to YouTube.

Download Fugio 2.2.0 for Windows (7, 8, 8.1, 10)

Download Fugio 2.2.0 for macOS (OS X) (Mavericks 10.9+)

NEW

  • Added MediaRecorderNode to FFMPEG plugin
  • Added Video Shader Record.fug example
  • Added help link to pins (right/ctrl click to find it in the context menu)
  • Added PlayheadFramesNode to Time plugin

CHANGED

  • Added Time pin to MediaNode

FIXED

  • FFMPEG Image Convert didn’t let you change the format
  • ImageToTextureNode was aligning to 32 bytes (not 32 bits!)

Fugio Tutorial 8 – OpenGL live coding, Spout and Syphon

New Fugio video tutorial covering OpenGL shader live coding, sharing OpenGL textures between many applications in real time using Spout (Windows) and Syphon (OS X), and rendering to texture for complex, multi-stage shader processing. Not expecting to get too much coding done this week as I’m off to Ars Electronica this week in Linz, Austria this week. Have fun with the update!

Download Fugio 1.7.0 for Windows and OS X

Get the source code for compiling on Linux

NEW

  • Spout and Syphon plugins
  • Added live coding support to OpenGL shader compiler
  • Added trigger and buffer pins to Text Editor
  • Added Brew install/update script for OS X
  • Added LuaVector3D

UPDATED

  • Progress on building on Raspberry Pi 3, including cross compile

FIXED

  • Fixed some issues with MIDI Channel Input listening
  • Fixes some update issues in PinPrivate
  • Image Loader wasn’t always showing the thumbnail