21. OF & ofxAddons

The ofxAddons compilation site is the Matrix Stockroom of new media arts:

In this assignment, you are asked to create a working openFrameworks application in which you combine two community-contributed ofxAddons —  that is, to successfully get at least two different ofxAddons to compile in the same project. In short: this assignment tests your ability to hack sh!t together.

Please note:

  • This is ‘primarily-ish’ a technical assignment, intended to build confidence and experience through practice. Masterpieces are not requested, but they are always welcome. In this sense, this is less of a programming assignment, than a test of your tolerance and patience for figuring out cryptic, poorly documented, and possibly idiosyncratic compiler settings. Note that while there are some addons that come with OF by default, you are required to use addons that do not come with the standard OF download.
  • Assuredly, the strongest projects will combine the two addons in an interesting way. But it will be minimally sufficient if you can just clearly demonstrate that both addons are compiling and working properly in the same application. Think of it as: overcoming the challenge of merging two different “Hello World” applications into one.
  • You don’t have much time. Therefore, for this assignment, be (in the words of Evan Roth quoting Eric Raymond; jump to 3:54) “Lazy like a fox”. How can you combine two things to produce something provocative and original, with low work and maximum impact?

Some Hints for Doing the Work

  • Browse the ofxAddons to see what’s possible. Click on a few to dig deeper. For example, did you know that you can write a program to export animated GIFs, or which recognizes gestures, or which generates QR codes, or which does optical character recognition? What kinds of ideas do you get?
  • Get warmed up by (A) compiling some standard OF examples; (B) compiling some of the default addon examples (which come with OF), (C) using the Project Generator to create projects using default addons, and (D) compiling some of the example projects that come with the ofxAddons in which you’re interested.
  • Many community-contributed addons are unfinished, experimental, limited to certain OS platforms, or obsolete (designed to work only with older versions of OF). Expect to be frustrated. If an addon seems unlikely to work, be flexible and just try something else. To be on the safe(r) side, select addons that are known to work with OF version 0.8.0 or better.
  • Put the addons you downloaded in your addons folder. If you’re lucky, the Project Generator might just work.
  • Compiling at the command line (instead of an IDE) can also make this very straightforward.

Deliverables

  • Create a single OF application in which two different (non-default) ofxAddons successfully compile together, as described above, and proceed from there….
  • Create a unique blog post for your project, categorized 21-ofxaddons. 
  • Embed a YouTube or Vimeo video demonstrating your project.
  • Please write 100-200 words about your project. Be sure to describe why you selected these two addons. What inspired you to combine the capabilities of these two libraries?
  • Upload your code to Github, and include a link in your blog to your repository.
  • Include a static image, which could be a screenshot, diagram, etc.
  • Include scans or photos of any sketches, if you have them.

Learning Objectives

Upon completion of this project, you will be able to:

  • Compile applications with openFrameworks, a high-performance arts toolkit.
  • Incorporate openFrameworks extension libraries (“ofxAddons”) into your applications.
  • Demonstrate awareness of the range of C++ software libraries available to artists.