aQZLWRpJk EgdiyupcVSFpABx dVC

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: 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 – 9th December 2016

 

Happy Fugio Friday (on a Saturday!)

My flight back from Tel Aviv developed a technical problem and we had to make an unscheduled stop in Athens, finally arriving back in the UK seven hours later than expected, hence the late post!

I’m happy to release an update to the Windows version of Fugio, bringing it up to speed with the macOS release from last week.

There was also a bug report about plugin loading under Windows that I’ve now fixed.

Updated your installation using the maintenance tool in the application directory, or download and install a fresh version:

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

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

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!

Qt Multimedia in Fugio

Screenshot 2015-01-26 23.54.32

Fugio (and Painting With Light) are both written in C++ and built using the Qt Project, mainly because it offers a (mostly) consistent API across multiple platforms.  It offers a wide range of low and high level functionality, which are often great fun to play with.

Take the Qt Multimedia module, for example.  It’s so high level that I couldn’t resist adding in a couple of nodes that interface with it, so above we have the new SoundEffect node that can load and quickly play WAV audio files when triggered.

Taking MIDI input (or a multitude of different options, a Makey Makey for instance) and linking them up to SoundEffect nodes would rapidly create a simple sound board, but, y’know, triggered off touching various fruits

You can also see the new Filename Node, which is another small helper: click the button and a file open dialog appears.

Screenshot 2015-01-26 02.13.47

And here we have the Multimedia Player Node that can playback more complex media formats such as mp3’s and also video!

While I’ve been putting a lot of development time into a ffmpeg based timeline controlled media playback node,  sometimes you just need a simple way to play media, and these new nodes fit the bill nicely.