Fugio Friday: One (and a bit) Years Old

Happy Fugio Friday!

So I really had it in mind that I released the first version of Fugio in May, and I was planning on doing this birthday round up of the previous years activity.  Only getting around to checking the actual release date today, I found it was April 8th, so I missed it.  Not to be disheartened, I plan to push ahead anyway with my excellent post idea, and will get the date right next year!

In the first year of Fugio

  • First release on April 8th 2016
  • 32 binary releases in 2016 for Windows and Mac
  • 35 plugins released
  • 242 nodes
  • GitHub repository:
    • I did 719 commits, adding 256,162 lines of code, and deleting 30,424
    • BigHoss added 2,011 lines, which were for the German translation

  • Facebook page has 569 likes
  • Facebook Users Group has 169 members
  • Fugio’s web page had 7,725 page views,
  • I ran the first Fugio workshop in Brighton
  • I made 9 tutorial videos
  • I wrote 44 Fugio Friday or otherwise Fugio related posts
  • I exhibited Fugio based artworks at the V&A and Imperial College in London, and in Birmingham, Bournemouth, Oxford, Brussels, and Irvine California

Looking back

Looking back over the year, I’d say it’s been an enjoyable project to undertake.  There has been a really positive response from many people, and it’s been exciting to see how other people are using the software for their own projects.

For my work, it has completely fulfilled it’s purpose, enabling me to quickly develop new artworks, and keep existing works up and running in a state ready for exhibition.  I find I’m able to try out ideas faster because there are now a good range of nodes that replace the need to write code.

In regards to running an open source and public project, I’ve found it often it takes up more of my time than it probably should as I get stuck into some tasty new idea or feature, or track down bugs reported by users.

It’s also not easy to justify spending time on a project that doesn’t make me any money directly, and sometimes I find myself thinking that I should implement a feature because it might be popular with users, even if it’s not of any use to myself.

Overall, it has developed into exactly what I hoped it would be: the start of a fascinating and challenging voyage, with new people, new ideas, and new opportunities.

Looking forward

Looking forward I have a long list of improvements and features to add, and I will work through them as and when I can.

One of the main features of this coming year will be the announcement of a major new Fugio installation that I’ll be spending much of my time working on, which is using many Raspberry Pi computers that play video and provide interactivity.  While Fugio already runs on the Pi, there is going to be much more native support for it soon.

Outside of the code, I hope that the Fugio community continues to grow and people share more examples and experiments and ideas with each other.  I will continue to try to provide support and tools to facilitate this happening where I can.

I would like to get a lot more feedback from users about the software and how it could be improved.  I’d like to give more talks, and perhaps speak at some conferences, which I’ve always found an excellent way to connect with people.

Personally I’d like to see Fugio helping people realise their creative ideas, while learning as they go.

However, this project isn’t just about what I want: what would you like to see happen with Fugio over the next year?

Fugio Friday: MIDI Timeline

Happy Fugio Friday!

This week we have a new binary release (2.10.0) that features a new work in progress node called MIDI Timeline.

You can now import .mid files straight into Fugio (via the File Menu) and it will create nodes for each track.  Feed these to a MIDI output and you can start playing about with it.

There’s currently no editing facility, and it can’t record, but it’s a step in the right direction.

Check out the ‘Magical Midi’ example, which comes from one of my favourite arcade games.

Other than that, I’ve tested compiling Fugio on Debian Linux 8 and got it working, and there’s a bunch of fixes of improvements that you can read about in the list below.

I’m now supported both the GUI installer and Homebrew/Cask installers on macOS/OS X so here’s the installer links:

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

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

Have a good weekend and see you next week!

NEW

  • Tested compilation on Debian 8
  • Group position and zoom is now saved (also between editing sessions)
  • Added “Import…” entry to file menu
  • MidiTimelineNode supports loading .mid files (via Import) into the editor (no editing yet!)
  • Added Timeline includes

UPDATED

  • More error reporting in FFMPEG
  • Added reset pin to BackgroundSubtractionNode
  • Spanish translation updated
  • GL_PRIMITIVE_RESTART_FIXED_INDEX flag added to OpenGL state
  • Oculus Rift won’t cause the API to open the desktop app until the node is added

FIXED

  • Wasn’t seperating audio and video frames in MediaSegment
  • TextureToImageNode wasn’t using the right image format
  • LuaImage wasn’t using the right image format either
  • Crash during group delete
  • Group breadcrumb trail fixed when deleting groups
  • Adding pins to groups wasn’t immediately shown in editor
  • VST3Node can now handle creating any number of pins
  • Timeline editing fixes

Fugio Friday: Snippets and Groups Video Tutorial

Happy Fugio Friday!

This week we have a new video tutorial that introduces the use of Snippets to store and reuse sets of nodes to build your ideas quickly, and Groups to layout your patches in a more ordered and understandable way.

Enjoy, and have a good weekend!

Fugio Friday – 7th April 2017

Happy Fugio Friday!

This week I’ve continued development of the 3D model loading plugin, which is going well, though it’s not quite ready for public consumption yet, so there’s no new binary release this week.  There are a few updates – mainly small bug fixes – made to the code on GitHub.

I’ve also been working on some new Fugio based artworks, like this generative one:

This is an algorithm I came up with a while back that takes the pixels from the previous frame and moves them around depending on their relative values.  It starts by draws just three pixels (the brightest points of each colour) each frame and the rest (including all the smoke like patterns) develop out of the code.

If you’re interested in following my art, you can get email updates from signing up to the Alex May Arts Newsletter.

Next week I’m off to Dundee in Scotland for a few days so I’ll be reporting from there on Friday!

Have a great weekend.

Fugio Friday: Spanish translation

Happy Fugio Friday (delayed edition)!

This week we have the start of a Spanish translation for the Fugio editor supplied by J. Ruiz, and R. Kuster has been hard at work again updating his German translations for all of the released plugins.  Thank you both!

In other Fugio news, I’ve just received a copy of Intersecting Art and Technology in Practice that I wrote a chapter for about mass collaboration through software (including Fugio), and digital preservation in art, published by Routledge.

NEW

  • Fugio editor Spanish translation by J. Ruiz
  • Added locale command line parameter

UPDATED

  • German translation updated by @BigHoss
  • PortTime resolution is now set

FIXED

  • MIDI note off handling in VST3

Fugio Friday – German translation

Happy Fugio Friday!

This week I was showing my Fugio based virtual reality experience at Oxford’s Museum of the History of Science as part of British Science Week.

While we’ve shown it several times before, this was an updated version that used an Arduino and DC motor shield to blow different smells towards the person in VR, using the timeline to synchronise it to the visual experience!

You can read more about it, and see some photos, here.

This week we also have our first language translation thanks to R. Kuster. If Fugio detects it’s running on a German system, it should load the translations automatically.

Additionally you may notice some other languages are partially supported here and there, as I’ve now included the translation files for the Qt framework.

I’ll be writing a translator guide soon if you’re interested in helping translate Fugio into other languages in the future.  If you’re happy with doing pull requests on GitHub, you can get to it right now!

NEW

  • German translation (thanks RK!)

UPDATED

  • The install_fugio script for OS X now checks that XCode tools and Cask are installed

Fugio Friday – 17th March 2017

Happy Fugio Friday!

This week I’ve been trying to address the issues that some Mac users have had when trying to run Fugio, which stem from system incompatibilities when using third party libraries.

Thanks to people reporting issues and some very helpful testing by R. Kuster, I was able to finally fix the problem (hopefully).

The upshot is that I’m switching over to a Homebrew Cask distribution on Mac, rather than the GUI installer we’ve been using until now.

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

New Install/Update Instructions for Mac

The following instructions only apply to Mac, not to Windows or Linux.

If you have previously installed Fugio (not via Homebrew) then you should delete the /Applications/Fugio folder completely.

I have made a simple script that will install everything for you, which you can open by double-clicking on it.

It will install Homebrew, compiler tools, the third party libraries Fugio needs such as PortAudio and FFMPEG, and finally Fugio itself.

The first time you do this it may take some time, but subsequent updates will be as fast, if not faster than downloading the old updater.

NEW

  • Added LoggerNode
  • Some language translation should now be supported, such as standard entries in the file menu
  • Added Quaternion pin
  • Added support for Lua types to set their own data on output pins
  • New install_fugio script for Mac

UPDATED

  • OSC Encoder and OSC Join now accept lists of values and will generate OSC messages with multiple values in
  • Updated the build files quite a lot
  • Added new dependencies to the Homebrew script

FIXED

  • Firmata output pins > 7 now work (thanks J. Gutierrez!)

Fugio Friday: Oculus Rift support

Happy Fugio Friday!

Another week and another exciting new plugin: Oculus Rift virtual reality support!

I’m showing Sequence VR in Oxford next week, and while I haven’t quite got the 3D model loading plugin fully ready yet, the Oculus one was ready to go.

I promise to do some new video tutorials soon, especially regarding the 3D rendering side of things. Progress is being made on the animation side as you can see in this short video:

In the meantime, enjoy this release and have a great weekend!

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

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

NEW

  • Oculus Rift support on Windows (no current support on Mac/Linux) – including example
  • Quaternion support to Lua (see Examples/LuaQt/Quaternions.fug) as suggested by MC
  • OpenCV flip node (flips images vertically)

UPDATED

  • More work on Firmata digital input pins

FIXED

  • Result of LuaMatrix4x4::IsIdentity() wasn’t being returned correctly
  • MatrixRotateNode was always setting its inputs to zero on load

Fugio Friday – ARToolKit

Happy Fugio Friday!

Today I’m heading to the airport to catch a plane to Cork to speak at MAKE 2017 Symposium about Art and Biology (tickets) including several projects that I’ve worked on using Fugio.

Fugio version 2.5.0 is available for download/update now featuring a new Augmented Reality plugin (utilising the ARToolKit5 library) that allows mixing live video and 3D computer generated graphics in real time.  There are a couple of examples for marker tracking and using the 3D camera.

Last week we had the first Fugio workshop with a fantastic group of intrepid participants.  We covered a lot of topics and it was a great experience for me to see first hand how people find their first experiences with Fugio.

Fugio workshop at Phoenix Brighton

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

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

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

NEW

  • ARToolKit plugin (suggested by MC)
  • Added dialog to Video Capture for more control over the resolution, frame rate, and format of the captured image
  • Ceil, Floor, and Round nodes added to Math plugin (suggested by WN)
  • Support for UYUY, 32S, and 32F images
  • DistanceTransform, ConvertTo, Add nodes in OpenCV

UPDATED

  • Linux build up to date (reported by BF)

FIXED

  • PortMidi could crash if there weren’t any devices when a MIDI Input node was added (reported by AS)
  • Stability fixes for TCP Send/Receive

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