karmaMapper is a 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 digital. It comes with an SDK allowing you to easyly start coding effects and modules then intstanciate and parametrize them within a same virtual space. 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 Windows (alpha).
I have broken some parts intensely developing it for my exams. There have also been some openFrameworks updates leading to compilation issues and have had no time to maintain the Linux and Windows compilation.
Over the next months I'm planing to restructure some code, and integrate a "shared variables ecosystem" with VideoDromm. I'll also do some documentation and publish a binary to try it quickly.
karmaMapper is a work in progress.
Curently (18-06-2016), the latest build is stable on Mac while the Windows version is not stable yet. The Linux version should not be hard to get to compile.
There's a scene editor allowing you to configure a set of "mappable" shapes, then load them within the animator app which lets you instantiate some effects and modules and bind them with these shapes. There's a GUI overlay giving control over the animations and video can be output via Syphon for projection. Configurations can be saved and loaded. There's a music analyser that streams MIR data over a LAN network. There is also a module for doing Serial communication with Arduino and OSC communication with LiveGrabber, PureData and Duration. In other words, karmaMapper is ready to be used in interactive art installations & live performances, or to do simple video mapping! :)
In the future, karmaMapper will aim to facilitate the work of creative coders with a bunch of redundant code. It will also provide automatic variable assignment and animation to create a vast interconnected virtual and analog environment. Some of the code might be shared with videoDromm including a distant control interface.
Clone the karmaMapper project:
cd /path/to/openFrmeworks/apps/ mkdir karmaApps && cd ./karmaApps git clone https://github.com/Karma-Kusala/karmaMapper.git --recursive
cd ./karmaMapper && ./clone_addons.sh
Note: On Windows, run the commands in the git command prompt.
- Makefiles: ( /!\ Not tested with current build )
Select the animator or the editor in
PROJECT_DEFINES = KM_EDITOR_APP
PROJECT_DEFINES = KM_ANIMATOR_APP
Note: Mac only. You may have to rename the
.m file extensions in the addons'
Qt Creator: ( /!\ Not tested with current build )
See also the OF Qt setup guide.
On Linux I also had to update gcc to version 4.9.
To select a target, edit
karmaMapper.qbsand look for
karmaMapper.xcodeprojand select either the
[osx 10.12+ only] : Apple has kicked out the QTKit framework from 10.12+, needed by karmaMapper. For now, use
- Download an SDK
- Install via symlink: (you can also copy the file into Xcode)
sudo ln -s /path/to/MacOSX10.11.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
- Relaunch Xcode then select the right SDKs to use to build and link karmaMapper and OF on each target in your project settings.
Visual Studio: ( /!\ Not tested with current build )
karmaMapper.vcxprojand compile. If not compiling, it may help to re-generate the project using OpenFramework's Project Generator.
Some extra standalone apps are available on rpi and other platforms, they can connect to and interact with karmaMapper.
- RaspberryPi + Raspbian: ( /!\ Not tested with current build )
Various scripts will be available, so an Rpi will be useful to have around. Pd sound analyser - Pd Chladni plate generator Note: I also got the karmaMapper (renderer) to compile and run on a RaspberryPi2 using Raspbian. Not sure the current version still compiles.
A serial control interface is available to communicate with Arduinos over USB / Serial.
- Ricardo Garcia
- Douglas Edric Stanley (Abstractmachine)
- Gregory Pignot (Servovalve)
- Guillaume Stagnaro
Feel free to comment, contibute, fork, pull, etc. :)