Skip to content
This repository has been archived by the owner on Oct 10, 2020. It is now read-only.

Daandelange/karmaMapper

Repository files navigation

Update 10-10-2020 It's been fun and I've learned a lot. This project has become bigger than expected and needs refactoring. As of 2020, I've archived karmaMapper, and started merging parts of it with Mosaic. Mosaic is very close to the initial karmaMapper ideology and I'll continue to research & put efforts into that project. Another alternative, if you're more interested in the mapping aspect of karmaMapper, could be Splash.

karmaMapper


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).

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.

Screenshot

SETUP

Install

  • Install OpenFrameworks

  • Clone the karmaMapper project:

     cd /path/to/openFrmeworks/apps/  
     mkdir karmaApps && cd ./karmaApps  
     git clone https://github.com/Karma-Kusala/karmaMapper.git --recursive   
  • Install dependencies: cd ./karmaMapper && ./clone_addons.sh
    Note: On Windows, run the commands in the git command prompt.

Compile

(Choose one)

  • Makefiles: ( /!\ Not tested with current build )
    cd OF/apps/karmaApps/karmaMapper
    make Release
    make RunRelease
    Select the animator or the editor in config.make
    • PROJECT_DEFINES = KM_EDITOR_APP
    • PROJECT_DEFINES = KM_ANIMATOR_APP

Note: Mac only. You may have to rename the .mm/.m file extensions in the addons' ofxUVC/src/ to .cpp

  • Qt Creator: ( /!\ Not tested with current build )
    Open karmaMapper.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, edit karmaMapper.qbs and look for of.defines: ['KM_ANIMATOR_APP']

  • Xcode:
    Open karmaMapper.xcodeproj and select either the karmaMapper Editor or karmaMapper Animator target.

    [osx 10.12+ only] : Apple has kicked out the QTKit framework from 10.12+, needed by karmaMapper. For now, use MacOSX10.9.sdk (or 10.11).

    • 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 )
    Open karmaMapper.vcxproj and compile. If not compiling, it may help to re-generate the project using OpenFramework's Project Generator.

Optional:

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.
  • Arduino
    A serial control interface is available to communicate with Arduinos over USB / Serial.

People

Contributors

Thanks

Feel free to comment, contibute, fork, pull, etc. :)

About

karmaMapper is a 2D mapping software (and SDK) made for creative coders, artists and VJing.

Resources

Stars

Watchers

Forks

Packages

No packages published