summaryrefslogtreecommitdiff
path: root/Projekte/Projectionmapping/SurfaceMapperGUI.mdwn
blob: 06bdb38d712c4ce71a2675e446b77284463d07d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
Es gibt eine Vielzahl von Open-Source-Programmen, welche mit einfachen Mitteln [[Projectionmapping]] ermöglichen. Leider sind die meisten nicht ganz einfach zu installieren. 

Ein vielversprechender Kandidat ist *SurfaceMapperGUI*. Eine Programm, welches auf [[Processing|http://www.processing.org/]] aufsetzt. Leider funktioniert die Software derzeit maximal mit Processing 1.5.1 (und nicht mit der aktuellen Version 2.1), da die *surfacemapper*-Library noch die veraltete XMLElement-Klasse verwendet, welche zugunsten der XML-Klasse in Processing 2.0 ersetzt worden ist. 

Das hat noch ein paar weitere Einschränkungen zur Folge. Processing 1.5 ist nicht 64bit-fähig, was zur Folge hat, das man auf einem 64bit-System sämtliche Dependencies, aller Processing-Libraries nochmal als 32bit-Version installieren muss.

Weiterhin fiel meir spontan kein sinnvoller Weg ein, Processing 1.5 und Processing 2.1 nebeneinander zu betreiben, da beide auf das gleiche Config-Verzeichnis im Homedir zugreifen, in welchem u.a. der Sketchbook-Ordner referenziert ist. Das hat zur Folge, das man sich dann entscheiden muss, ob man nun die Processing1.5- oder die Processing2.1-Version einer Bibliothek haben will. 

Es folgt eine einigermaßen ausführliche Anleitung, um SurfaceMapperGUI unter einem 64bit-System zum laufen zu bringen.

## Installation

### Install Dependencies (32bit!)

First you need to install 32bit-Version of libraries processing 1.5 depends on. Since I have a fresh 64bit-system, I assume, this should be everything you need. The package gstreamer-base-plugins may be omitted.

[[!format c """
lib32-mesa-libgl
lib32-intel-dri
lib32-gstreamer0.10 
lib32-gstreamer0.10-base 
lib32-gstreamer0.10-base-plugins
lib32 glib
"""]]

### Processing (1.5)
Now, you can download [[processing|http://www.processing.org/download/]], and please consider a donation. The download link for Version 1.5.1 is on the lower part of the page. 

### Processing Libraries
After that, you can proceed to download the processing-libraries, you need to run SurfaceMapperGUI. You will need:

[[GLGraphics|http://sourceforge.net/projects/glgraphics/files/glgraphics/1.0/]]

[[GSVideo|http://sourceforge.net/projects/gsvideo/files/gsvideo/1.0/]]

[[SurfaceMapper 0.912|https://bitbucket.org/ixagon/surfacemapper/downloads]]

[[controlP5 1.5.|https://code.google.com/p/controlp5/downloads/detail?name=controlP5-1.5.2.zip]]

Navigate to your *sketchbook* directory and in there to the *libraries*-subdirectory. By default this can be achieved by

[[!format c """
cd ~/sketchbook/libraries
"""]]

### SurfaceMapperGUI

[[SurfaceMapperGUI|https://github.com/jasonwebb/SurfaceMapperGUI]]
 can be found on github. you need *git* installed on your system, which should to be found in your favourite package manager of your favourite linux distribution. If you have *git*, you navigate *sketchbook* directory. By default this can be achieved by

[[!format c """
cd ~/sketchbook
"""]]

Here you *clone* into the git-repository of SurfaceMapperGUI.

[[!format c """
git clone https://github.com/jasonwebb/SurfaceMapperGUI.git
"""]]

...and your done. With the installation.!

### Start

Navigate to your processing1.5 directory, and start processing.

[[!format c """
./processing
"""]]

Open SurfaceMapperGUI via File -> Sketchbook -> SurfaceMapperGUI. Click *Run* and your done! :-)

If it fails to run, check the Error Messages section of this article, to find a solution.

## Error Messages

### Memory Allocation Error

[[!format c """
(GSVideo:6598): GLib-ERROR **: gmem.c:366: overflow allocating 1702259061*4 bytes
"""]]

This error is strongly connected to gstreamer. It is caused by a gstreamer registry file *registry.x86_64.bin* which is located in the .gstreamer-Directory *~/.gstreamer-0.10* in your Homedir. Delete that file, *registry.x86_64.bin* or move it, if you don't want to delete it.

[[!format c """
mv ~/.gstreamer-0.10/registry.x86_64.bin ~/.gstreamer-0.10/registry.x86_64.bin.old
"""]]

That should do the trick