Fugio Friday: August 2017 WIP

Happy Fugio Friday!

For the past couple of weeks I’ve been working on refactoring the whole OpenGL plugin to better support Raspberry Pi.

The new release of the Raspberry Pi operating system called Raspbian Stretch has Qt 5.7 built in and comes with FFMPEG instead of libav.  This is great news for Fugio as it’s much more in line with the libraries we’ve been using.

I’m busy building Fugio on my Raspberry Pi 3 (not cross compiling) as I type, although I wouldn’t recommend trying this yourself just yet as it needs some work to get it compiling.

With this latest update, I should be able to create a binary repository for installing Fugio onto Pi’s without compiling.

As ever, this is loads of work that will be available to everyone for free, so if you can, please consider supporting the project by donating just $1 a month via Patreon.

Also, check out the first look at my new projector blending tool that Fugio will support for multi-screen projections.

Have a great weekend!

Fugio Friday: Text Syntax Update

Happy Fugio Friday!

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.

All the code changes are available in the GitHub repository.

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!

Have a great weekend…

Fugio Friday: Raspberry Pi updates

Happy Fugio Friday!

I’ve been getting the Raspberry Pi support in Fugio up to speed.  The wiki build instructions have been updated to support Qt 5.9, which is the latest version.

The main work is on getting the OpenGL support working, which is going quite well but there is some refactoring to do to support OpenGL ES.

There’s also been some work on synchronising Fugio running on multiple computers across a local network.  This is in early stages but is looking very interesting.

In a couple of weeks I’m aiming to have the first Fugio RPi image ready for download so you don’t need to go through the long process of compiling it yourself.

If you’re enjoying the ongoing Fugio developments, it would be great to have your support:

Have a great weekend!

Fugio on Raspberry Pi detailed guide

 

Happy Fugio Friday!

This week I have written a detailed guide for getting Fugio up and running on a Raspberry Pi using cross compiling:

Cross Compile Fugio to Raspberry Pi (bigfug wiki)

This guide covers installing a virtual Linux machine (if you need one), compiling Qt 5.7 with accelerated OpenGL support, and building Fugio with all the currently supported libraries.

Have fun…

Fugio Friday – 12th August 2016

Happy Fugio Friday!

It’s been a long term goal for me to get Fugio running on Raspberry Pi.

If you’ve not come across them before, they are cheap, credit-card size computers than can run a full desktop experience with mouse and keyboard support, networking, HD video playback, and even a GPU for 3D graphics.

I use them a lot for installations where I need seamlessly looping video playback, but I really want to develop artworks on them, so I can use them instead of leaving bulky and expensive computers in a gallery for months.

So, this week I’ve updated the source code to allow it to compile and run on a Raspberry Pi 2 (and 3).  Everything works apart from PortAudio, which I’ll get to in due course.

Download Fugio for Windows and OS X

Get the source code for Linux (including Raspberry Pi)

NEW

  • Compiles and runs on Raspberry Pi
  • New Dial GUI node with example
  • National Grid example for getting real-time data from the Internet
  • Zoom in and out of patches with your trackpad
  • Websocket server (still testing)
  • Settings dialog with ‘My Snippets’ location (I set mine to my Dropbox)
  • qt.matrix4x4 with ortho, perspective, rotate, scale, translate methods
  • Fast JSON parser in Lua – examples to follow
  • Added COBS encode/decode nodes to Network
  • Get Size node for getting the size of data (deprecating Image Size)
  • Added Line Buffer node

UPDATED

  • LED now has a new, smarter look
  • PortMidi supports setting the default input and output devices
  • Snippets window has two views, and supports drag/drop/rename on ‘My Snippets’
  • Text Editor remembers visibility when you save and load

FIXED

  • Passing strings with zeros in them from Lua to Fugio now works
  • Context wasn’t always calling frameFinalise()

TESTED

  • Windows 10
  • OS X 10.11
  • Ubuntu 16.04
  • Raspberry Pi 2 (Jessie)