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

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)

Fugio Friday – 5th August 2016

Fugio-Friday-2016-08-05

Download Fugio 1.5.1 for Windows, OS X (get the source code)

NEW

  • Lots of new examples including network stock checker and audio processing nodes
  • Added group breadcrumb widget to the bottom of the editor window
  • fillRect() method to qt.painter
  • PortAudio input and output now have default device options
  • Added LuaMatrix4x4
  • Save images from NumberMonitorForm by right-clicking on its window
  • Added FileLoadNode
  • Added AutoRangeNode
  • Added MinMaxNode
  • Added RingModulatorNode
  • Added ArrayListPin, VariantListPin
  • Added extra include paths for Lua

UPDATED

  • NetworkRequestNode saves data to a temporary file, rather than always into memory
  • Renamed NetworkRequestNode to GetNode
  • Added RegExp pin to RegExpNode
  • ScaleImageNode can scale to width/height/size
  • Cut/copy/paste now works between patches
  • You can also paste as plain text in any text editor or window

FIXED

  • Lots of work on cut/copy/paste/delete functionality
  • Fixed all colour selections in editor
  • Fixed StringNode not showing loaded value
  • Fixed StringJoinNode

TESTED ON

  • Windows 10 (x86)
  • OS X 10.11 (x64)
  • Ubuntu 16.04 (x64)

Fugio Tutorial 6 – MIDI

This Fugio Friday we have two new plugins that provide MIDI input and output for integrating with musical instruments, MIDI controllers, and the huge range of MIDI enabled software and hardware.

Use the maintenance tool to update your existing installation, or download the updated installers.

NEW

  • PortMidi plugin for cross-platform MIDI support on Windows/OS X/Linux
  • MIDI plugin with a range of creating nodes for MIDI input, output, and processing
  • Example: Core/Envelope
  • Lots of new methods for qt.color()
  • Added connected pin to TCPReceiveRaw
  • Added reset pin to SLIPEncoder
  • Added shift pin to FFT for sliding windows
  • Added clear feature to log window – right-click or control-click to bring up the context menu (suggestion: @braedenf)
  • Added –clear-settings command line argument that will remove all settings
  • Settings colours is now undo-enabled

UPDATED

  • Added more user feedback in TCPReceiveRaw
  • EnvelopeNode uses paired pins
  • NumberMonitorNode updates:
    • Set default range to 0.0 – 1.0
    • Changing the node name updates the dock widget name
    • Added an update trigger rather than just hard-coding 25fps
    • Setting auto rename to input pins

FIXED

  • PortAudio input wasn’t working so well after last week’s update
  • Fixed crash when trying to copy groups (reporter: @braedenf)
  • Fixed many grouping issues!
  • Fixed Number Monitor rendering
  • Smooth fixed
  • SLIPEncoder wasn’t enabled
  • TCPSendRaw wasn’t working
  • Fixed crash on exit due to network manager
  • The recent files menu was displaying placeholder entries

Fugio Friday – 22nd July 2016

 

Fugio 1.4.1 is now available for download (source code)

Join us in the new Fugio Users Group on Facebook!

If you encounter any bugs or want to suggest new features, head over to the issue tracker.

NEW

  • Fugio optionally records some anonymous data as you use it, which will really help me get an idea about how you’re all using it, where it could use some work, and also gives me some active user figures I can tell people about!
  • Added tabs for patches to make switching between them easier (suggestion: @braedenf)
  • LuaPainter::drawPoint()
  • Transforms (rotate, translate, shear, scale) added to LuaPainter
  • Added link to new Fugio Users Group to the Help menu
  • Added Save All to File menu
  • More examples: Lorenz Attractors, Rotating Text

UPDATED

  • Right-click (or ctrl-click) on nodes in the editor to get a link to their online help page
  • Started adding auto pin renaming to a few nodes
  • More changes to the audio system to improve latency handling
  • Open multiple patches at once (suggestion: @braedenf)
  • Text Editor:
    • Updating now takes place in frameStart
    • Removed buttons at bottom
    • Added toolbar with new menu and update button
    • Won’t clear text if connected to empty pin
    • Save implemented
    • Alt + U keyboard shortcut to update
  • Various build updates, mainly for using Homebrew on OS X

FIXED

  • LED node wasn’t firing properly for some types of inputs