Fugio Friday: v2.12.0

Happy Fugio Friday!

This week we have a new release, the twelfth this year: v2.12.0

This release features several new nodes, and some needed bug fixes to the media playback plugin, and many more updates and features.

One key feature is the ability to save a JPG or PNG screenshot of your patches, which you can then upload to the new website I’ve been building called The Fugio Zone that allows users of Fugio to share and discuss the patches they make.

If you want early access to the site, you can get the login details 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.12.0 for Windows and macOS (source code)

Have a great weekend!

NEW

  • Added ability to save an image of the currently open patch from the file menu
  • New Nodes:
    • Core/BitsToBool
    • Core/BoolToBits
    • Math/Modulus
    • Network/PacketDecoder
    • Network/PacketEncoder
    • Serial/SerialDecode
    • Serial/SerialEncode
    • Text/TextEditorRemote
    • Time/UniverseTime
  • New Pins
    • Core/BitArray
    • Text/SyntaxError
  • Added Bias pin to SignalNumber
  • Saving patches creates (backwards compatible) human readable header
  • Started adding the concept of a Universal Time between Fugio instances running over a network (not quite ready for use yet!)

UPDATED

  • Compiled with Qt 5.9
  • Fugio now processes patches on a separate thread (currently locked to 100fps)
  • Updated SyntaxHighlighter system
  • Updated Lua Matrix4x4 and Vector3d classes
  • FugioLib is now compiled and linked as a static library
  • OutputRange accepts index
  • Lua now has a trigger pin
  • Adjusted latency handling in DevicePortAudio
  • Added performance counter in SpoutReceiver
  • Rewrote OpenGL/Context to use QOffscreenSurface (a good thing!)

FIXED

  • Fixed a whole heap of issues in FFMPEG media playback
  • Magnitude wasn’t using sample count
  • Caught invalid input to ScaleImage

Fugio Friday: Entering the Zone

Happy Fugio Friday!

It’s been a hot and busy past couple of weeks.  Last week I didn’t even have time to do Fugio Friday as I was busy installing robots in a new art exhibition in QUAD Derby.

Since then I have started work on a new website for users of Fugio to upload and share their patches.

It’s called The Fugio Zone

As you can tell, it’s not quite ready for public use yet, and not being a web designer it’s going for a heavy minimal look!  I will be inviting a few people to test it over the coming weeks, so if you’re interested in doing that then let me know.

Have a good weekend!

Fugio Friday: CMake build progress

Happy Fugio Friday!

This week I’ve been focussing on creating a fully working CMake build system in place for Fugio.

As Fugio currently builds using Qt’s qmake, why do we need an alternative?

  • In a recent Qt blog post it was made clear that qmake is going to be deprecated in Qt6 in favour of a new tool called Qbs (pronounced cubes).
  • As CMake can be used to build all sorts of projects, and not just Qt ones, it enjoys a much larger user base.
  • The CMake file for a Fugio plugin seems to be a lot simpler than for the equivalent qmake file, especially when specifying cross platform options.
  • It seems easier to setup clean, automated builds that I seem to be needing more to simplify and make more reliable the process of Fugio binary releases, specifically for Raspberry Pi builds, too.
  • If someone wants to work on the Fugio code base, CMake allows the user to use their IDE of choice and be less tied to Qt Creator.

So I’ve been struggling through creating the first set of CMake files, getting my head around how best to bring in all the required libraries.

I’ve invested in this book (associate link) so I can get my CMake skills up to scratch.

You can follow my progress on this GitHub branch and I hope to have a release ready for next week.

Until then, 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 Friday – 28th October 2016

Happy Fugio Friday!

This week I’ve been hanging around the Wellcome Genome Campus near Cambridge, where my partner Anna has been doing a week residency with the scientists here. I’ve been exploring the nearby nature reserve, watching the squirrels and geese, and catching up with emails and threads of projects.

I’ve been looking at the way that Fugio is installed on OS X (now macOS), and I’m not entirely satisfied with the process that one has to go through, especially for the initial installation.  I’m experimenting with Homebrew casks, that facilitate installing applications such as Fugio through the same simple command line interface that Homebrew uses to install the libraries that we already use.

Packaging Fugio as a cask would mean installation would comprise of installing Homebrew, then typing “brew cask install fugio” into a Terminal to install the application and all its dependencies.  Much cleaner!  What do you think?

If I do go down this route, it will make releasing some new plugins somewhat easier…

On November 15th I’ll be giving a LASER talk (Leonardo Art Science Evening Rendevous) at Westminster University in Harrow about my art practice and Fugio.  There’s no link for it yet but I’ll post it up when there is, if you fancy coming along and saying hello!

Have a good week, and as ever, let me know any questions and suggestions you may have.

Fugio Friday – 19th August 2016

This is the most significant release for Fugio since its initial launch. Finally, after more than a year, I can share the OpenGL plugin, which brings the raw power of the graphics card to Fugio for high resolution, real-time graphics.

Download Fugio for Windows and OS X (build the source code on Linux, including Raspberry Pi)

I’ve also recorded an hour long video tutorial that will get you started working with OpenGL shaders.

This has been a massive amount of work.  Please share the word, and if you’re feeling very generous, you can always make a donation towards the project here.

2016-08-19

NEW

  • OpenGL plugin – 24 new nodes with several shader examples
  • Mouse node and input events support for windows
  • Mouse Painter example
  • Nodes: Time, Date, JoinVector4Node, SplitVector4Node

UPDATED

  • LuaPainter::drawLine can take two points
  • Added $ORIGIN to path on Linux to fix launching (reported by Luca)
  • Text Editor now highlights Lua errors

FIXED

  • Image Save had a hard coded path
  • Fixed mouse zooming
  • Fixed Network deployment (reported by Артем)

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)

New Payment Options

6134-close-up-of-three-credit-cards-pvWhile bigfug.com has always accepted credit and debit card payments, we’re aware that using PayPal isn’t always a great solution for all our international friends.

Today we’re happy to announce that we have integrated a new payment gateway that processes Visa, Mastercard, and American Express cards directly.

As a beneficial side effect of this improvement, the shop also now supports SSL encryption, which will automatically be used at checkout.

And finally, to take advantage of the new gateway, we’ve moved Painting With Light into the shop, too.

The End Game for Software

I think we’re in the end game. I think that Learning to Code is a last ditch cry to wrestle control and we’re too late. I think that the cost of major software is spiralling to zero and, just like the music industry, the focus is now on mass adoption with revenues generated around the product, not from it. It happened on the web and it happened on your phone and in your home. They’re coming for open-source, they’re coming for us lone developers, they’re controlling the formation of culture, and they have a leash for us all. If you’re going to code then code to distrupt, code to disseminate, code with fire and bile and fury. No one may thank you but stand against the wave in the best way you can and hold fast. Coding is a manifestation of imagination and will; whose do you choose?