Fugio Friday: OpenCV, dlib, and Video Capture

Happy Fugio Friday!

This week I’ve been preparing for the first Fugio workshop that’s taking place on Saturday at Phoenix Brighton.

The focus of the workshop is on interactivity so I’ve added THREE new plugins: OpenCV – which is a fantastic collection of image processing algorithms, dlib – a library of machine learning tools that I’ve used for a face tracking node, and the rather nice Video Capture cross platform library by roxlu.

There’s also fixes and improvements to the Firmata plugin, so working with Arduino should be quicker and easier.

Update your existing installation by running the MaintenanceTool in the Fugio application directory, or download the latest installer:

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

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

NEW

  • OpenCV, dlib, and Video Capture plugins
  • Nodes: Background Subtraction, Cascade Classifier, Dilate, EqualizeHist, Erode, Find Contours, Grayscale, Image Convert, Image Homography, Image Threshold, InPaint, InRange, Moments, Face Features, Media Timeline
  • Examples: Video Capture, Colour Tracker, Face Detect Smile, and Media Timeline
  • YUV420P support
  • Rect/RectF support to ArrayPin

UPDATED

  • SerialInput/Output show status of connected device
  • Added formats and scaling to FFMPEG ImageConvertNode

FIXED

  • Firmata input pins weren’t working (reported by J. Gutierrez)
  • General Firmata clean-up
  • MediaProcessorNode wasn’t working
  • LuaImage wasn’t accessing input images properly
  • BGR, RGB, and YUV422 formats weren’t being handled correctly in FFMPEG ImageConvertNode

Fugio Friday: VST3 audio plugin support

Happy Fugio Friday!

This week I have a new VST plugin for you.  It loads the hundreds of available VST3 audio plugins (not VST2 ones, for now) for real-time audio processing.

It seems pretty stable but obviously I can’t test it with all the VST plugins that are available.  Let me know if you have any problems…

Update using the maintenance tool or download.

NEW

  • VST plugin
  • Added OpenGL TextureCloneNode
  • Added FlipFlopNode
  • Added new OpenGL snippets

UPDATED

  • Spout updated to 2.006
  • MIDI now plays duplicate notes

FIXED

  • MIDI Channel Input wasn’t creating the note-value pin properly

Fugio Friday – 3rd February 2017

Happy Fugio Friday!

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 exhibition launch party on Feb 9th.  I’ll be there, as well as giving a short talk about the project on Feb 10th.

Finally, Shadows of Light, which is one of my Fugio powered artworks that was part of the Embodied Encounters exhibition at the Beall Center for Art and Technology had a nice write up in a new article in the UCI Magazine.

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 Friday – 13th January 2017

Happy Fugio Friday!

This week sees a small release of a WebSocket Client node that can send and receive text and binary data.

Also, although hopefully you’ll not notice it, I’ve updated my build of the Windows version with Visual Studio 2015, bringing all the libraries and runtimes up to date.  If you notice any issues, let me know!

I’m also in the mood to do a push on the wiki documentation, which I’ll admit has been trailing behind the code development.  So I’ve reconfigured the wiki, and updated the URL’s for all 200 released nodes.  Now I need to go through and add information about each one.  This will obviously take a bit of time…

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

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

NEW

UPDATED

  • Updated Windows build to VS 2015
  • Lots of work on the wiki

Fugio 2.0.0 – Timeline

Happy Fugio Friday!

The first Fugio release of 2017 brings a new powerful timeline plugin for sequencing values, colours, grids, and signals over time.  The timeline was the whole reason Fugio exists in the first place, though it has taken me a while to get it ready for its public debut.  Despite this, there are a few caveats:

Caveat #1: I’ll be working on a new tutorial video to introduce the plugin in the next week or two, and I’m going to be adding to the wiki too

Caveat #2: I haven’t released the media timeline node yet as I’m still testing it

Caveat #3: I haven’t added the source to GitHub yet as it still needs quite a bit of a tidy, so there’s no timeline support on Linux yet

You’ll also notice I’ve bumped the version of Fugio up to 2.0.0.  As Fugio is more an incremental project that changes over time rather than having distinct versions, I’m going to increment the major version by one every year, the minor version for every release, and the point version for every hotfix.

Also, with the addition of the timeline nodes, Fugio now has over 200 nodes available.

NEW

  • Timeline plugin
  • Supports single pass rendering to OpenGL cubemap using geometry shader
  • ImageSaveNode takes a frame number
  • Added texture compare support in OpenGL
  • Added CubeMapRender node to OpenGL
  • OSC decoding of more types, including blobs

CHANGED

  • Updated FFMPEG on Windows to 3.2
  • Updated Lua on Windows to 5.3.3
  • API: moved node creation to context – plugins need rebuild

FIXED

  • Nodes rendering outside of the editor window (reported by @braedenf)
  • OSC decoding with multiple arguments wasn’t suggesting correct pin type (reported by C. Littleford)
  • PortAudio loading on macOS
  • Plugin loading issue on Windows (reported by A. Fundorin)
  • Handling of multibyte device name handling in PortAudio on Windows (reported by A. Fundorin)
  • OpenGL initialisation on Windows

Fugio Friday – Media Playback with FFMPEG

Happy Fugio Friday!

This week sees the initial release of the FFMPEG plugin that enables media playback in Fugio.

It’s taken some time to get this one ready, even though it was one of the first plugins I wrote, as it needed quite some testing with all manner of different video and audio files.

There are also a couple of new nodes in the Core plugin: “Trigger Boolean” and “Trigger Array”, which both have examples showing how to use them.

I’ve also found a way to package up all the support libraries on macOS so you don’t need to install or update Homebrew anymore.  This makes it much easier to install Fugio and make it work out of the box for new users.  If you want to compile Fugio on macOS, it’s still recommended to use Homebrew for installing the dependencies.

As I’m still in Tel Aviv with only a MacBook to work on, so the updated Windows version will be released next week.

If you have already installed Fugio you can use the Maintenance Tool in the application directory to get the latest version, or download the installer:

Download Fugio 1.11.0 for macOS/OS X (10.9+)

Don’t forget to join the Fugio Users Group (FUG) on Facebook and Like the Facebook Page.

Have fun!

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