Douglas Edric Stanley


Last week, we finished a week-long introductory course on OpenFrameworks. This was an advanced-level course, and considered as a pre-requisite the basic concepts explored on-line and on-site in my classes on Processing). The session was somewhat improvised, given that I’d never taught a class on C++ programming in an art school. I had to do a lot of adjustments, and we didn’t really hit our stride until the final day, when the class on pointers (apparently) tied everything together into a pretty little package, at least for those that had the courage to stick around until the end.


As it turns out, the final strategy turned out to be: just ignore the C++ part, and teach people what they need to know in order to work on their projects. From there, what they need to know can be learned from within the project. As always for us, the pragmatic on-the-job-training method always works best.

If you speak/understand French, or trust robot translators, you can check out the on-line classes I prepared for this class: OpenFrameworks. So far, there are only four basic classes, but these should be enough to get you started, especially if you’ve already walked through the classes on Processing. We purposefully jumped straight from configuring the environment to building classes, vectors, and using pointers, since these are basically all the important concepts you need to know to get started in real-life projects.

Over at the Happy Code Farm you’ll also find some OpenFrameworks examples/experiments from students, as well a contribution from two researchers from the Laboratoire ERASME who came to follow the workshop. They were great and helped us figure out a couple of configuration issues with Code::Blocks in Linux. Since everything begins in the Atelier with Pong, they created an OSC-Pong in order to figure out how to work with several machines at once. They have done a lot of work with interactive video walls, multi-touch interfaces, networked museum spaces, etc, and so they needed to know how OpenFrameworks could plug into their other interfaces/spaces which often communicate via OSC.

Once you’ve gotten through these classes and examples, there are further links listed in the introduction to very-good-things® such as the OpenFrameworks wiki or the OpenFrameworks forum where you’ll find the rest of what you need.