karmaMapper is an collection of OpenSource 2D mapping software made for real-time interactions and digital image generation. Built upon the amazing OpenFrameworks framework, it gives an interface between the physical and the virtual and some other features. If you're at ease with code, it's a perfect tool to start coding on physical surfaces using a video projector.
Runs on Mac and Linux and should run on Windows.
karmaMapper is a work in progress.
Curently (09-01-2016), there's a scene editor allowing you to configure a set of mappable shapes, a music analyser that streams over the network and the very bare basics of the animator app allowing to instantiate the first effects on shapes.
- OpenFrameworks 9.0 with the following addons:
- ofxImUI
- ofxAbletonLiveSet
- Etc. (see
clone_addons.sh
) - Note: Some effects may have other dependencies.
- Install OpenFrameworks then:
cd OF/apps/karmaApps/
git clone git@github.com:Karma-Kusala/karmaMapper.git
cd ./karmaMapper
./clone_addons.sh
(Mac & Linux only)
-
Makefiles:
cd OF/apps/karmaApps/karmaMapper
make Release
make RunRelease
Select the animator or the editor inconfig.make
PROJECT_DEFINES = KM_EDITOR_APP
PROJECT_DEFINES = KM_ANIMATOR_APP
-
Qt Creator:
OpenkarmaMapper.qbs
and compile.
See also the OF Qt setup guide.
On Linux I also had to update gcc to version 4.9.
To select a target, editkarmaMapper.qbs
and look forof.defines: ['KM_ANIMATOR_APP']
-
Xcode:
OpenkarmaMapper.xcodeproj
and select either thekarmaMapper Editor
orkarmaMapper Animator
target.
- a RaspberryPi + Raspbian (for real-time sound analysis and video streaming #notyet )
It lets you configure a series of virtual 2D shapes on a 3D environment. This simplifies the whole image output generation process not needing complex transform matrices and so on. These shapes are then passed to an animator class which applies effects on them. The idea is to build a big animator app that works together with a bunch of side-apps and tools. Imagine connecting devices such as a camera, gamepads, a raspberryPi music analyser, a control interface on a tablet, etc.
(note: most of these are not yet implemented)
It's made for extensibility and there are several components:
- Vectorial shapes provide a virtual interface with a physial space. A shapes server serves them; there's also an editor to configure a space.
- An animator lets you control most settings manually or automatically.
- Effects are applied to shapes by the animator component which can be controlled manually or automatically.
- Daan de Lange (Karma Kusala / ADN)
- Kévin Pouget / Vienin (Karma Kusala)
- Ricardo Garcia
- Douglas Edric Stanley (Abstractmachine)
- Gregory Pignot (Servovalve)
- Guillaume Stagnaro
- Julien Rancoeur / Fx23 (ADN)
- Tetalab
- Esaaix
- François Parra
Feel free to comment, contibute, fork, pull, etc. :)