GithubHelp home page GithubHelp logo

hvfrancesco / lpmt Goto Github PK

View Code? Open in Web Editor NEW
150.0 25.0 38.0 78.85 MB

little projection mapping tool

Home Page: http://www.hv-a.com/lpmt

License: GNU General Public License v3.0

Pure Data 23.81% C 13.43% C++ 62.77%

lpmt's Introduction

LPMT - Little Projection-Mapping Tool

(C) 2011, HVA - Hermanitos Verdes Architetti / Modena, Italy

[Flattr this git repo](https://flattr.com/submit/auto?user_id=hv_francesco&url=https://github.com/hvfrancesco/lpmt&title=LPMT Little Projection-Mapping Tool&language=&tags=github&category=software)

LPMT is a little projection-mapping tool for use in our office, it is developed in C++ using OpenFrameworks. It’s based on simple quad warping paradigm, and, though rather simple, can be used to achieve complex and professional projection-mapping sets.

This is the up-to-date version of lpmt, based on OpenFrameworks 007

DOWNLOAD:

At the moment LPMT is only available as source code, and we've only tested it on linux systems but thanks to the multi-platform nature of OpenFrameworks it should work out-of-the-box on Windows and OsX too.

up-to-date code (git repository): http://gitorious.org/projection-mapping

for the github fans, the repository is mirrored here: https://github.com/hvfrancesco/ProjectionMapping

if you don't like git, you can find a rarely updated zip file: http://www.hv-a.com/projectTiles/projection-mapping.zip

MAIN FEATURES:

  • up to 36 independent projection surfaces (remember you can use a solid black quad even as a mask)
  • possible content: solid color, images, video, live-cam, slideshows, smoothly changing solid colors, and more …
  • customizable green-screen (chromakey) for video and live-cam sources
  • horizontal and vertical flipping for image, video and live-cam content
  • independent opacity settings for each content element
  • customizable colorization for each content element
  • several blending-modes for projection surfaces
  • on-screen editable masks
  • bezier-warping for projection on curved surfaces
  • grid-warping, with user defined grid density
  • spherize deformation preset
  • realtime live-masking with Kinect
  • customizable video speed and volume
  • save/load project set to/from xml file
  • syncronized start for video elements
  • vertex snap function for adjacent quads
  • cam snapshot background for rough positioning of projection surfaces
  • customizable speed for slideshows and color transitions
  • synced multi-projectors shows with adjustable edge-blending
  • control and setup through a rich set of OSC messages
  • a powerful timeline to trigger events and control LPMT projections

KEY COMMANDS:

’s' – saves settings to xml (projection_settings.xml in data folder) ‘l’ – loads settings from xml file

‘a’ – adds new quad ‘>’ – go to next quad ‘<’ – go to previous quad '+' - raise active quad position in layers pile '-' - lower active quad position in layers pile ‘z’ – selects first gui page for active quad settings ‘x’ – selects second gui page for active quad settings ‘c’ – selects gui page for active quad corner position fine-tuning ‘q’ – fills window with active quad ‘1’ – shows general settings page of gui

‘g’ – toggles gui (for quad warping with mouse gui must be switched off) ‘f’ – toggles fullscreen mode ‘w’ – toggles cam snapshot window background ‘m’ – toggles mask-editing mode ‘b’ – toggles surface bezier/grid warping editing mode

‘spacebar’ – toggles projection/setup modes ‘r’ – resyncs all videos and slideshows in all quads to starting point ‘p’ – starts projection ‘o’ – stops projection

‘n’ – connects to a MostPixelsEver sync server

‘F10’ – toggles timeline interface ‘F9’ – toggles timeline BPM reference grid ‘F11’ – toggles stage visibility under timeline ‘F12’ – play/stop timeline

TODO:

  • midi control
  • DMX control
  • timeline sync with MTC midi

CONTACT:

you can contact us at: francesco[at]hv-a.com


this README was last edited by hv_francesco on Wed Feb 23, 2011 19:54 GMT+1, edited 1 times in total.


HVA - hermanitos verdes architetti modena - italy www.hv-a.com

lpmt's People

Contributors

hvfrancesco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lpmt's Issues

installation on linux 18.10 urgent please

hello,
i couldnt reach http://www.hv-a.com/lpmt/ because of 'Your PHP installation appears to be missing the MySQL extension which is required by WordPress' and i couldnt fix the problem. (I am very new on linux.)
Can you please put a document how i can install dependencies etc. to use LPMT.
Thank you very much for this opensource video mapping tool!

How to install lpmt or to compil manually ?

Hello world ! Happy new year!

Please, where can i to find docs to install LPMT. It seems there is no doc "INSTALL"
I'm a new linux user.

Thanks help!

Greetings from France

error: request for member ‘draw’ in ‘ofEvents’, which is of non-class type ‘ofCoreEvents&()

I'm trying to compile lpmt on a Raspberry Pi with Arch ARM.

This it what I've done. Can you tell me If i've forgotten something or done something wrong?

EDIT: I always got the master branch from each project

But when I run make I get these errors (output from stderr)

./src/testApp.cpp: In member function ‘void testApp::prepare()’:
./src/testApp.cpp:295:21: warning: unused variable ‘totalPixels’ [-Wunused-variable]
./src/testApp.cpp: In member function ‘virtual void testApp::keyPressed(int)’:
./src/testApp.cpp:534:17: warning: unused variable ‘totalPixels’ [-Wunused-variable]
./src/quad.cpp: In member function ‘void quad::draw()’:
./src/quad.cpp:539:49: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../../../addons/ofxXmlSettings/src/ofxXmlSettings.cpp: In member function ‘int ofxXmlSettings::getNumTags(const string&)’:
../../../addons/ofxXmlSettings/src/ofxXmlSettings.cpp:275:14: warning: variable ‘tagHandle’ set but not used [-Wunused-but-set-variable]
../../../addons/ofxNetwork/src/ofxUDPManager.cpp: In member function ‘int ofxUDPManager::SendAll(const char*, int)’:
../../../addons/ofxNetwork/src/ofxUDPManager.cpp:226:34: warning: narrowing conversion of ‘((ofxUDPManager*)this)->ofxUDPManager::m_dwTimeoutSend’ from ‘long unsigned int’ to ‘__time_t {aka long int}’ inside { } is ill-formed in C++11 [-Wnarrowing]
../../../addons/ofxNetwork/src/ofxTCPManager.cpp: In member function ‘bool ofxTCPManager::Accept(ofxTCPManager&)’:
../../../addons/ofxNetwork/src/ofxTCPManager.cpp:124:29: warning: missing braces around initializer for ‘__fd_mask [32] {aka long int [32]}’ [-Wmissing-braces]
../../../addons/ofxNetwork/src/ofxTCPManager.cpp:125:37: warning: narrowing conversion of ‘((ofxTCPManager*)this)->ofxTCPManager::m_dwTimeoutAccept’ from ‘long unsigned int’ to ‘__time_t {aka long int}’ inside { } is ill-formed in C++11 [-Wnarrowing]
../../../addons/ofxNetwork/src/ofxTCPManager.cpp: In member function ‘int ofxTCPManager::Send(const char*, int)’:
../../../addons/ofxNetwork/src/ofxTCPManager.cpp:229:34: warning: narrowing conversion of ‘((ofxTCPManager*)this)->ofxTCPManager::m_dwTimeoutSend’ from ‘long unsigned int’ to ‘__time_t {aka long int}’ inside { } is ill-formed in C++11 [-Wnarrowing]
../../../addons/ofxNetwork/src/ofxTCPManager.cpp: In member function ‘int ofxTCPManager::SendAll(const char*, int)’:
../../../addons/ofxNetwork/src/ofxTCPManager.cpp:256:34: warning: narrowing conversion of ‘((ofxTCPManager*)this)->ofxTCPManager::m_dwTimeoutSend’ from ‘long unsigned int’ to ‘__time_t {aka long int}’ inside { } is ill-formed in C++11 [-Wnarrowing]
../../../addons/ofxNetwork/src/ofxTCPManager.cpp: In member function ‘int ofxTCPManager::Receive(char*, int)’:
../../../addons/ofxNetwork/src/ofxTCPManager.cpp:297:36: warning: narrowing conversion of ‘((ofxTCPManager*)this)->ofxTCPManager::m_dwTimeoutSend’ from ‘long unsigned int’ to ‘__time_t {aka long int}’ inside { } is ill-formed in C++11 [-Wnarrowing]
../../../addons/ofxNetwork/src/ofxTCPManager.cpp: In member function ‘int ofxTCPManager::ReceiveAll(char*, int)’:
../../../addons/ofxNetwork/src/ofxTCPManager.cpp:324:34: warning: narrowing conversion of ‘((ofxTCPManager*)this)->ofxTCPManager::m_dwTimeoutSend’ from ‘long unsigned int’ to ‘__time_t {aka long int}’ inside { } is ill-formed in C++11 [-Wnarrowing]
../../../addons/ofxNetwork/src/ofxTCPServer.cpp: In member function ‘bool ofxTCPServer::sendToAll(std::string)’:
../../../addons/ofxNetwork/src/ofxTCPServer.cpp:105:10: warning: variable ‘err’ set but not used [-Wunused-but-set-variable]
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp: In member function ‘void mpeClientTCP::start()’:
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp:53:28: error: request for member ‘draw’ in ‘ofEvents’, which is of non-class type ‘ofCoreEvents&()’
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp:59:26: error: request for member ‘update’ in ‘ofEvents’, which is of non-class type ‘ofCoreEvents&()’
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp: In member function ‘void mpeClientTCP::retryConnectionLoop(ofEventArgs&)’:
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp:73:30: error: request for member ‘update’ in ‘ofEvents’, which is of non-class type ‘ofCoreEvents&()’
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp: In member function ‘void mpeClientTCP::draw(ofEventArgs&)’:
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp:85:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp: In member function ‘void mpeClientTCP::placeScreen3D()’:
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp:314:11: warning: unused variable ‘a’ [-Wunused-variable]
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp: In member function ‘virtual void mpeClientTCP::threadedFunction()’:
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp:420:27: error: request for member ‘update’ in ‘ofEvents’, which is of non-class type ‘ofCoreEvents&()’
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp: In member function ‘void mpeClientTCP::read(std::string)’:
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp:516:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp: In member function ‘void mpeClientTCP::stop()’:
../../../addons/ofxMostPixelsEver/src/mpeClientTCP.cpp:604:29: error: request for member ‘draw’ in ‘ofEvents’, which is of non-class type ‘ofCoreEvents&()’
make: *** [obj/armv6lRelease/addons/ofxMostPixelsEver/src/mpeClientTCP.o] Error 1

You can see the output of make clean; make > log.txt 2>&1 here

Compilation failure of lpmt

Hi,

I am trying to compile lpmt in an ubuntu 14.04 PC.

The install dependencies of OF is success without any error, but i get the following compilation error.

In file included from ../../OF/openFrameworks/libs/openFrameworks/video/ofGstVideoGrabber.h:3:0,
from ../../OF/openFrameworks/libs/openFrameworks/video/ofVideoGrabber.h:31,
from ../../OF/openFrameworks/libs/openFrameworks/ofMain.h:96,
from /home/aravind2/lpmt/lpmt/src/quad.h:5,
from /home/aravind2/lpmt/lpmt/src/markers.cpp:1:
../../OF/openFrameworks/libs/openFrameworks/video/ofGstUtils.h:12:21: fatal error: gst/gst.h: No such file or directory
#include <gst/gst.h>
^
compilation terminated.
make[1]: *** [obj/linux64/Release/src/markers.o] Error 1
make[1]: Leaving directory `/home/aravind2/lpmt/lpmt'
make: *** [Release] Error 2

Do you know this issue and any resolutions?

regards
Arun

'save' doesn't work on win7/win10

I have still problems I couldn't solve so far.

My setup: mobo ASUS P8Z68-V, i7-2600K 3.40 GHz, GeForce GTX970, 16GB Ram, 120GB SSD Win10 or 250 SSD Win7

I tried now win7 and win10 with the newest GPU Driver and newest QT Version.

The software runs well the trial also the full Version. The videos are running, mapping works,

BUT: THE SAVE FUNCTION 's' and the load function 'l' doesn't work. there'ś also no file called "_lpmt_settings.xml". Only "_settings.xml." and "_settings-xml.bak"

I also tried copy and rename the files all kinds off... but nothing work...

I am sitting here since days now.

The strange think is, when I made the test with a similar machine 2 weeks ago (i7, GTX970, Win10) everything work fine without any problem, What can I do???

I also tried linux ubuntu, but I am not a linux person. On linux the software doesn`t even run at all. I think I don't know how to install it probably on linux...

I alreday tried to call on the contact telefon number, but noone answered the phone.

HELP PLEASE URGENT, the exhibition starts on frieday afternoon, I don know what to do.

see also the attached flyer of the exhibition

Thanks so far,

on windows file system dialog messes data path

on windows, using file system dialog to load an image or video, messes data path, making impossible for LPMT for example to load default font.
re-opening a file from root folder of LPMT fixes the data path, but it's not a real solution

Quicktime Error

Upon attempting to load a video into a surface I get the following error:

OF: OF_LOG_ERROR: ofQuickTimePlayer: movie not loaded!

This is consistent across windows version 1.2 and windows version 1.4. I am using quicktime player v7.7.9

Ilegal instruction (core dumped)

I just installed the lpmt on Ubuntu 14.04, and when try to runt it, it returns an error:
"Ilegal Instruction (core dumped)".

I don't know what is the problem, but thought were good to let you not. I will try to compile it from source, and see what happens. I never worked with Open Frameworks before, so can I ask for some special advises about compiling apps with OF? You know... any dependency, configs, ... things like that.

Thanks,

Compiling LPMT on RPI2

Trying to compile lpmt on RPI2 with of_v0.8.4
I am totally new to openframeworks.

  1. Downloaded all depencies listed in addons.make to the /addons directory.
  2. Did the export MAKEFLAGS=-j4 PLATFORM_VARIANT=rpi2
  3. Navigated to /scripts/linux/ and made a ./compileOF.sh
  4. navigated to /apps/lpmt and did a make.
    What I got was:

Makefile:2: ../../../libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples: No such file or directory
make: *** No rule to make target '../../../libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples'. Stop.

Any idea?
Would be lovely to see lpmt running on RPI 2

Updating and compiling the project

Hi,
With openFrameworks 0.9 coming, some addons external to lpmt don't compile.
Is someone maintaining this repo to make it live ?

thank you
Bruce

compile problem on Linux

I'm having trouble compiling this on Linux. I'm on the midi branch (is that the one most likely to compile?) I've cloned all the dependencies, including your fork of ofxSimpleGuiToo (also checked out on the midi branch) and I'm consistently getting this:

In file included from src/testApp.h:25:0,
                 from src/timeline.cpp:1:
../../../addons/ofxTimeline/src/ofxTimeline.h:418:2: error: ‘ofxMSATimer’ does not name a type
In file included from ../../../addons/ofxSimpleGuiToo/src/Controls/ofxSimpleGuiSliderFloat.h:5:0,
                 from ../../../addons/ofxSimpleGuiToo/src/ofxSimpleGuiIncludes.h:43,
                 from ../../../addons/ofxSimpleGuiToo/src/ofxSimpleGuiPage.h:39,
                 from ../../../addons/ofxSimpleGuiToo/src/ofxSimpleGuiIncludes.h:37,
                 from ../../../addons/ofxSimpleGuiToo/src/ofxSimpleGuiToo.h:41,
                 from src/testApp.h:27,
                 from src/timeline.cpp:1:
../../../addons/ofxSimpleGuiToo/src/Controls/ofxSimpleGuiSliderBase.h: In member function ‘void ofxSimpleGuiSliderBase<Type>::draw(float, float)’:
../../../addons/ofxSimpleGuiToo/src/Controls/ofxSimpleGuiSliderBase.h:207:14: error: there are no arguments to ‘setPos’ that depend on a template parameter, so a declaration of ‘setPos’ must be available [-fpermissive]
../../../addons/ofxSimpleGuiToo/src/Controls/ofxSimpleGuiSliderBase.h:207:14: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
../../../addons/ofxSimpleGuiToo/src/Controls/ofxSimpleGuiSliderBase.h:263:52: error: no matching function for call to ‘ofxTextInputField::draw(std::basic_string<char>::size_type&, float&)’
../../../addons/ofxSimpleGuiToo/src/Controls/ofxSimpleGuiSliderBase.h:263:52: note: candidate is:
./ofxTextInputField.h:59:10: note: void ofxTextInputField::draw()
./ofxTextInputField.h:59:10: note:   candidate expects 0 arguments, 2 provided
src/timeline.cpp: In member function ‘void testApp::timelineSetup(float)’:
src/timeline.cpp:7:14: error: ‘class ofxTimeline’ has no member named ‘setSpacebarTogglePlay’
In file included from ../../../addons/ofxSimpleGuiToo/src/Controls/ofxSimpleGuiSliderFloat.h:5:0,
                 from ../../../addons/ofxSimpleGuiToo/src/ofxSimpleGuiIncludes.h:43,
                 from ../../../addons/ofxSimpleGuiToo/src/ofxSimpleGuiPage.h:39,
                 from ../../../addons/ofxSimpleGuiToo/src/ofxSimpleGuiIncludes.h:37,
                 from ../../../addons/ofxSimpleGuiToo/src/ofxSimpleGuiToo.h:41,
                 from src/testApp.h:27,
                 from src/timeline.cpp:1:
../../../addons/ofxSimpleGuiToo/src/Controls/ofxSimpleGuiSliderBase.h: In member function ‘void ofxSimpleGuiSliderBase<Type>::draw(float, float) [with Type = int]’:
src/timeline.cpp:157:1:   instantiated from here
../../../addons/ofxSimpleGuiToo/src/Controls/ofxSimpleGuiSliderBase.h:207:3: error: ‘setPos’ was not declared in this scope
../../../addons/ofxSimpleGuiToo/src/Controls/ofxSimpleGuiSliderBase.h: In member function ‘void ofxSimpleGuiSliderBase<Type>::draw(float, float) [with Type = float]’:
src/timeline.cpp:157:1:   instantiated from here
../../../addons/ofxSimpleGuiToo/src/Controls/ofxSimpleGuiSliderBase.h:207:3: error: ‘setPos’ was not declared in this scope
../../../addons/ofxTimeline/src/ofxTLImageSequence.h: At global scope:
../../../addons/ofxTimeline/src/ofxTLImageSequence.h:41:14: warning: ‘GLint glTypeForImageType(int)’ defined but not used [-Wunused-function]
make: *** [obj/i686Release/src/timeline.o] Error 1

Would have posted on the forum, but registration is closed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.