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

Sequencing Resolume Arena with Fugio

Screenshot 2015-01-25 23.26.14

As I’m working on streamlining the MIDI control workflow, I hooked Fugio up to Resolume to see how easy it was to get them talking.

Screenshot 2015-01-25 23.27.23Here I’m using a colour timeline, breaking it into RGB components and passing them through one of the new MIDI Helper nodes, which takes floating point values from 0.0 to 1.0 and converts it to MIDI values of 0-127, and outputs these values to Resolume to control its RGB controls.

Everything works, but the process of mapping controls was more fiddly than it should be due to not being able to send a single CC value at a time and thus not being able to take full advantage over Resolume’s MIDI mapping listen functionality.  I’m thinking how to add a way of doing that…

MIDI listen is a nice, fast way to map controls so I added it into Fugio’s MIDI Input node to automatically add pins on receipt of MIDI messages.

Fugio MIDI synchronisation

Screenshot 2015-01-23 17.39.12

Today I’ve been looking at synchronising Fugio with various applications over MIDI.  First, using the ever useful MIDIOX and loopMIDI, I was able to get Fugio synchronised to MIDI Time Code.

Screenshot 2015-01-23 18.30.26I also got MIDI clock working, synchronising Fugio to Ableton Live.  The main difference being that Fugio works in time, not measures/beats, so I had to manually set the BPM value to match the setting in Live, then it all matched up.

My plan for this is to feed the MIDI clock into a grid track, allowing direct and flexible translation between song positions and time.

I still have to finish off sending clock/MTC from Fugio, but it’s almost there.

 

KwrF Cpw