Tag Archives: OpenFrameworks

Divide To Infinity – Advanced Audiovisual Processing with OpenFrameWorks C++ Libraries

MIDI Maximilian Scope Synth

This program requires the use of a MIDI controller to work – compiled example can be found in the /bin folder. This requires .NET framework 4 (not 4.5) and Visual Studio 2010 libraries to be installed if you are on Windows. The program features a scope adapted from the ofxMaxim example in OpenFrameWorks and comprises of a mono legato triggering synthesizer. Filter cutoff is controlled by momentary on velocity switching and oscillator gate is permanantely on due to having no ADSR and quick and dirty MIDI triggering logic.

Bubblesort:

This program fills an array with random values based on the screen height and iterates through sending the value to a sawtooth oscillator. This implements switch cases – pressing 1 will Bubblesort the array to give a saw glissandi – while pressing 2 will randomise the array data again.

EEG Maximilian:

This was intended to be the main project however due to the nature of how the Emotiv headset examples are organised, I was sadly unable to suitably map the functionality to the way that OpenFrameWorks operates – this code is provided only as a means to see where I am with implementing this. The majority of the code is cut up examples from the emotiv library mixed in with MIDI and Maximilian.

MIDI Example:

I have modified this code slightly from the original supplied by the ofxMidi author Chris O’Shea. I added to the example by listing all MIDI ports by pressing ‘l’ for list and changing midi ports on the fly using a switch case with numeric input for easy testing.

videoPlayerTestModified:

This is a simple test to see how well the Quicktime library works on windows 7 x64, I simply looked into the API and set up a few cases by pressing 1,2,3 and 4 – video play speed, pause and play direction. Sadly this not work with my original video which had a higher bandwidth (had an error code -50 – I could not find the solution anywhere) so this uses the standard ‘fingers’ video.

The link to all of the above source code and materials can be found here.

Unzip these archives into your ‘myApps’ directory in OpenFrameworks.

For more info on OpenFrameWorks and creative coding as an art form, go here.

If you are on Windows, you can execute the debug app in the ‘bin’ folder provided you have all the correct Microsoft C++ Redistributable installed.

Precomplied versions of all projects can be found in their associated /bin folder for easy testing.

Howto: Build a DMX Terminator

DMX512 terminators are easy to build; you need no more than a 5 pin XLR plug, a 120 ohm resistor, and a little time. Holding on to them once you’ve built them is the hard part. Get down to the local DIY store and buy a engraving tool, and engrave the fact that this plug is a terminator, and that it belongs to you clearly on it. You’ll still “lose” them, but at least after a few years you’ll be seeing your terminators around the place, and be able to grab them back!

The only outstanding question is what power the 120R resistor should be? In the photo below, the resistor shown is a quarter watt jobbie, chosen primarily because it looked nice for the photo. Human nature being what it is, the previous set of instructions said use a quarter watt resistor, cos that is what I was looking at whilst writing up the page.