Tools and templates for OpenFrameworks
This repository contains a series of tools and templates for my projects involving OpenFrameworks. Tools and templates are analogous to addons and examples in OF.
Tools contain classes for generating visual and audio content, organizing and handling parameters and interfaces, creating GUIs, communicating and interactivity with peripherals and other applications, etc. Like addons, they can be included with any OF project the difference is that tools are higher-level and so less general than addons, being mostly specific to routines in my own work, and containing many dependencies.
Templates are to tools as examples are to addons. They are complete OF projects which demo the tools in simple ways.
License
Everything in this repository is licensed GNU General Public License v3.
Tools/features
Control
- base class for other tools, for handling parameters
- automatically generates a GUI (using ofxUI (fork required)), handle OSC communication and generate TouchOSC layouts
- modulate parameters with a sequencer
- save and load presets
Visuals, Canvas, ProjectionMapping
- visual content, shaders, movie/image player
- manages a sequence of layers which create and modulate visual content inside a quad (ofFbo)
- interface for projection mapping the Canvas quad
- integration with Syphon
- save and load presets of Canvas layer sequences and parameters
OpenNi, Kinect
- routines for getting data from the kinect and processing via ofxCv
- track contours/blobs and skeleton features, create masks and visual content based on the data
- calibrate to a projector with ofxKinectProjectorToolkit
- get statistical features with ofxKinectFeatures
Learn
- a patch-bay for modulating a set of output parameters from a series of input parameters, using machine learning, and based on ofxLearn
- interface for managing data collection, feature selection, training, saving and loading presets, and interfacing with other tools
- experimental analyzer tool for deriving features from data, and automatically generating training sets based on pre-collected input data
AudioUnit, SuperCollider
Algorithms
- point generators (evenly spaced, circle packing, delaunay triangulation)
- recursively subdivide a 2d polygon
- time-based behaviors
LeapMotion
Manta
- interface with the Manta touch controller
Usage
To use these in an OF project, the best place to put this repo is in your OF root folder, so that it is at the same level from your root folder as addons.
Many of the tools and templates require additional addons to function. This is a complete list of addons used in any of the templates, though not all templates require all addons.
Addons