Revision 65

ofxArgos/Argos.sln (revision 65)
1

2
Microsoft Visual Studio Solution File, Format Version 10.00
3
# Visual Studio 2008
4
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Argos", "Argos.vcproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}"
5
EndProject
6
Global
7
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
8
		Debug|Win32 = Debug|Win32
9
		Release|Win32 = Release|Win32
10
	EndGlobalSection
11
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
12
		{7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32
13
		{7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32
14
		{7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32
15
		{7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32
16
	EndGlobalSection
17
	GlobalSection(SolutionProperties) = preSolution
18
		HideSolutionNode = FALSE
19
	EndGlobalSection
20
EndGlobal
ofxArgos/src/UI Panels/StaticFont.cpp (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://www.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
28

  
29
*************************************************************************/
30
#include "StaticFont.h"
31

  
32
void argosText::setFont(const char* name, int size) {
33
   font.loadFont(name, size);
34
}
35

  
36
ofTrueTypeFont argosText::font;
ofxArgos/src/UI Panels/EditorCore.cpp (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
28

  
29
*************************************************************************/ 
30

  
31
#include "EditorCore.h"
32

  
33
const float gridsize = 20.00; 
34

  
35
EditorPanel::EditorPanel() {}
36

  
37
void EditorPanel::init(ofxArgosUI &gui){
38

  
39
		// Give the editor access to the GUI
40
		this->gui  = &gui; 
41

  
42
		// Give actions access to the edtior
43
		rControl = new resizeControl(this); 
44

  
45
		// Add a panel to the GUI for the editor 
46
		editor = gui.addPanel("Widget Editor", 10, 20, 210, 180); 
47
		
48
		// Populate the editor panel with controls for editing
49
		populate(); 
50

  
51
		// Prevent the editor from being able to focus itself
52
		editor->lockPanel();
53
	
54
		// But, Reset text inputs so they _can_ focus;
55
		label->canfocus = true; 
56
		x->canfocus		= true; 
57
		y->canfocus		= true; 
58
		w->canfocus		= true; 
59
		h->canfocus		= true;
60
		osc->canfocus	= true;
61

  
62
}
63

  
64
void EditorPanel::update(){
65
	if (stateManager::editing) {
66
		if (focus.focused != NULL){
67
			if (focus.loaded == false){
68
				loadProperties();
69
				setProperties();
70
			}
71
			updateProperties(); 
72
			rControl->enableAppEvents(); 
73
			rControl->draw(); 
74
		}	
75
	}
76

  
77
	else {
78
		// Find out why resizeControl is being drawn elsewhere... 
79
		rControl->disableAppEvents();
80
		clearProperties();
81
	}
82
}
83

  
84
void EditorPanel::populate(){
85

  
86
		label = editor->addTextField("Label:", 10, 30, 190, 20, &e_label); 
87

  
88
		x = (editor->addTextField("X:", 10, 70, 40, 20, &e_x)); 
89
		y = (editor->addTextField("Y:", 60, 70, 40, 20, &e_y)); 
90
		w = (editor->addTextField("W:", 110, 70, 40, 20, &e_w)); 
91
		h = (editor->addTextField("H:", 160, 70, 40, 20, &e_h));
92

  
93
		osc = (editor->addTextField("OSC Address", 10, 110, 190, 20, &e_osc));
94

  
95
		editing = (editor->addButton("Editing", 20, (editor->height - 35), 80, 20, &stateManager::editing)); 
96
			editing->setToggleMode(true);
97
		cancel = (editor->addButton("Cancel", 110,(editor->height - 35), 80, 20, &e_cancel));
98
}
99

  
100

  
101
// Loads the editor's internal strings
102
void EditorPanel::loadProperties(){
103

  
104
	focus.loaded = true;
105

  
106
	e_label = focus.focused->name;
107
	e_x = toStr(focus.focused->x);
108
	e_y = toStr(focus.focused->y);
109
	e_w = toStr(focus.focused->width);
110
	e_h = toStr(focus.focused->height);
111
	e_osc = focus.focused->OSCaddress;
112

  
113
}
114
// Sets the editors internal strings to the textboxes'
115
void EditorPanel::setProperties(){
116
	
117
	label->setInput(e_label); 
118
	x->setInput(e_x); 
119
	y->setInput(e_y); 
120
	w->setInput(e_w); 
121
	h->setInput(e_h); 
122
	osc->setInput(e_osc); 
123

  
124
}
125

  
126
// Updates control with value of local text boxes. 
127
void EditorPanel::updateProperties(){
128

  
129
	// Input range checking? 
130
	focus.focused->name = e_label; 
131
	focus.focused->x = atof(e_x.c_str()); 
132
	focus.focused->y = atof(e_y.c_str());
133
	focus.focused->width = atof(e_w.c_str());
134
	focus.focused->height = atof(e_h.c_str());
135
	focus.focused->OSCaddress = e_osc; 
136

  
137
}
138

  
139
void EditorPanel::clearProperties(){
140
	
141
	e_label = "";
142
	e_x = "";
143
	e_y = "";
144
	e_w = "";
145
	e_h = "";
146
	e_osc = "";
147

  
148
	label->setInput("No Focus"); 
149
	x->setInput("0"); 
150
	y->setInput("0"); 
151
	w->setInput("0"); 
152
	h->setInput("0"); 
153
	osc->setInput(""); 
154

  
155
}
156

  
157
void EditorPanel::removeControl() {
158
	for (int i = 0; i <= gui->views[1]->controls.size() - 1; i++) {
159
		if ( gui->views[1]->controls.at(i) == focus.focused){
160
			if (gui->views[1]->controls.size() >= 1){
161
				gui->views[1]->controls.erase(gui->views[1]->controls.begin()+i);
162
				clearProperties(); 
163
				focus.clear();
164
			}
165
		}
166
	}
167
}
168

  
169
// TODO: Put this in a utility class: 
170
// Takes a number and outputs to string. 
171
string EditorPanel::toStr(float input){
172
	
173
	// Clear the stream & reset. 
174
	ostr.clear(); 
175
	ostr.str("");  
176

  
177
	// Put data to stream
178
	ostr << input; 
179

  
180
	// Output as a string
181
	return ostr.str(); 
182
}
183

  
184

  
185
// update INTERNAL numbers... 
186
void EditorPanel::updateX(int direction){
187
	if (stateManager::editing) {
188
		e_x = (direction == 1) ? toStr(atof(e_x.c_str()) - gridsize) : toStr(atof(e_x.c_str()) + gridsize);
189
		setProperties();
190
	}
191
}
192

  
193
void EditorPanel::updateY(int direction){
194
	if (stateManager::editing) {
195
		e_y = (direction == 1) ? toStr(atof(e_y.c_str()) - gridsize) : toStr(atof(e_y.c_str()) + gridsize);
196
		setProperties();
197
	}
198
}
199

  
200
void EditorPanel::updateSize(int width, int height){
201
	if (stateManager::editing) {
202
		e_w = toStr(atof(e_w.c_str()) + width);
203
		e_h = toStr(atof(e_h.c_str()) + height);
204
		setProperties();
205
	}
206
}
ofxArgos/src/UI Panels/StateManager.h (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
28

  
29
*************************************************************************/ 
30
#pragma once
31

  
32
class stateManager {
33

  
34
public:
35

  
36
	static bool editing;
37
	static bool verbose;
38

  
39
};
40

  
ofxArgos/src/UI Panels/BrowserCore.h (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
28

  
29
*************************************************************************/ 
30

  
31
#include "ofxArgosUI.h"
32
#include "BrowserDraggableList.h"
33

  
34
class BrowserPanel {
35

  
36
public:
37
	
38
	BrowserPanel();
39

  
40
	ofxArgosUI			*gui; 
41
	ofxArgosUI_Panel	*browser;
42

  
43
	void init(ofxArgosUI &gui); 
44

  
45
	void update(); 
46

  
47
};
48

  
ofxArgos/src/UI Panels/BrowserDraggable.h (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
28

  
29
*************************************************************************/ 
ofxArgos/src/UI Panels/StaticFont.h (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://www.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
28

  
29
*************************************************************************/
30
#pragma once
31

  
32
#include "ofMain.h"
33

  
34
class argosText {
35

  
36
   public:
37
      static void setFont(const char* name, int size);
38
	  static ofTrueTypeFont argosText::font;
39
     
40
};
ofxArgos/src/UI Panels/EditorCore.h (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
28

  
29
*************************************************************************/ 
30
#pragma once
31

  
32
#include "ofxArgosUI.h"
33
#include "EditorActions.h"
34

  
35
class EditorPanel {
36

  
37
public:
38

  
39
	EditorPanel();
40
	
41
	// Put this in a more appropriate place
42
	std::ostringstream ostr;
43

  
44
	ofxArgosUI				*gui; 
45
	ofxArgosUI_Panel		*editor;
46

  
47
	resizeControl			*rControl; 
48

  
49
	ofxArgosUI_Button		*editing; 
50
	ofxArgosUI_Button		*cancel;
51
	ofxArgosUI_TextField	*label;
52
	ofxArgosUI_TextField	*x;
53
	ofxArgosUI_TextField	*y;
54
	ofxArgosUI_TextField	*w;
55
	ofxArgosUI_TextField	*h;
56
	ofxArgosUI_TextField	*osc;
57

  
58
	bool e_apply;
59
	bool e_cancel;
60
	bool e_reset;
61

  
62
	string e_label;
63
	string e_x;
64
	string e_y;
65
	string e_w;
66
	string e_h; 
67
	string e_osc; 
68

  
69
	void init(ofxArgosUI &gui); 
70
	void populate(); 
71
	void update(); 
72

  
73
	void clearProperties(); 
74
	void loadProperties();
75
	void setProperties();
76
	void updateProperties();
77

  
78
	void removeControl();
79

  
80
	void updateX(int direction);
81
	void updateY(int direction);
82

  
83
	void updateSize(int width, int height);
84

  
85
	string toStr(float input);
86

  
87
};
ofxArgos/src/UI Panels/EditorActions.cpp (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
28

  
29
*************************************************************************/ 
30

  
31
#include "EditorActions.h"
32
#include "EditorCore.h"
33

  
34
resizeControl::resizeControl(EditorPanel *ed) : ofxArgosUI_Control("resizeControl") {
35
	controlType = "resizeControl";
36
	editor = ed;
37
	dragging = false; 
38
}
39

  
40
void resizeControl::setControl() {
41
	if (focus.focused != NULL){
42
		setPos(focus.focused->x + focus.focused->width + 5, focus.focused->y + focus.focused->height + 5); 
43
		setSize(10,10);
44
	}
45
}
46

  
47
void resizeControl::onRollOver(int x, int y) {
48
	glutSetCursor(GLUT_CURSOR_BOTTOM_RIGHT_CORNER); 	
49
}
50

  
51
void resizeControl::onRollOut() {
52
	glutSetCursor(GLUT_CURSOR_LEFT_ARROW);
53
}
54

  
55
void resizeControl::onDragOutside(int x, int y, int button) {
56
	
57
	glutSetCursor(GLUT_CURSOR_BOTTOM_RIGHT_CORNER); 
58
	dragging = true; 
59

  
60
	dragX = (floor(((float) x / 20)) * 20);
61
	dragY = (floor(((float) y / 20)) * 20);
62

  
63
}
64

  
65
void resizeControl::onRelease(int x, int y, int button) {
66
	glutSetCursor(GLUT_CURSOR_LEFT_ARROW);
67

  
68
	dragging = false; 
69

  
70
}
71

  
72
void resizeControl::onReleaseOutside(int x, int y, int button) {
73
	glutSetCursor(GLUT_CURSOR_LEFT_ARROW);
74

  
75
	dragging = false; 
76

  
77
	if (focus.focused != NULL){
78
		editor->updateSize((newWidth - focus.focused->width), (newHeight - focus.focused->height));
79
	}
80

  
81
}
82

  
83
void resizeControl::update() {}
84

  
85
void resizeControl::draw() {
86

  
87
	setControl(); 
88

  
89
	if (dragging) {
90

  
91
		if (focus.focused != NULL){
92
			ofNoFill(); 
93
			ofSetColor(255, 255, 255); ;
94

  
95
			newWidth = focus.focused->width + (dragX - (focus.focused->x + focus.focused->width));
96
			newHeight = focus.focused->height + (dragY - (focus.focused->y + focus.focused->height));
97

  
98
			ofRect(focus.focused->x, focus.focused->y, newWidth, newHeight); 
99

  
100
		}
101
	}
102

  
103
	ofEnableAlphaBlending();
104

  
105
		glPushMatrix();
106

  
107
			ofFill(); 
108
				ofSetColor(0xe3e3e3); 
109
				ofRect(x, y, 5, 5); 
110
			ofNoFill(); 
111

  
112
		glPopMatrix();
113

  
114
	ofDisableAlphaBlending();
115

  
116
}
ofxArgos/src/UI Panels/StateManager.cpp (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
28

  
29
*************************************************************************/ 
30

  
31
#include "StateManager.h"
32

  
33
bool stateManager::editing = false;
34
bool stateManager::verbose = false;
ofxArgos/src/UI Panels/EditorActions.h (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
28

  
29
*************************************************************************/ 
30
#pragma once
31

  
32
#include "ofxArgosUI.h"
33

  
34
class resizeControl : public ofxArgosUI_Control {
35
	
36
public:
37

  
38
	resizeControl(EditorPanel *ed); 
39

  
40
	int newWidth;
41
	int newHeight; 
42

  
43
	void setControl();
44

  
45
	void onRollOver(int x, int y);
46
	void onRollOut();
47
	void onDragOutside(int x, int y, int button);
48
	void onRelease(int x, int y, int button);
49
	void onReleaseOutside(int x, int y, int button);
50

  
51
	void update();
52

  
53
	void draw();
54

  
55
protected:
56
	EditorPanel *editor; 
57
	
58
};
ofxArgos/src/UI Panels/BrowserCore.cpp (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
28

  
29
*************************************************************************/ 
30

  
31
#include "BrowserCore.h"
32

  
33
BrowserPanel::BrowserPanel(){}
34

  
35
void BrowserPanel::init(ofxArgosUI &gui) {
36

  
37
		this->gui = &gui; 
38

  
39
		browser = gui.addPanel("Widget Browser", 240, 20, 570, 90); 
40

  
41
		browser->addControl(new Draggable_Button(gui, 10, 10, 70, 70)); 
42
		browser->addControl(new Draggable_Toggle(gui,  90, 10, 70, 70)); 
43
		browser->addControl(new Draggable_Slider(gui, 170, 10, 70, 70));
44
		browser->addControl(new Draggable_Knob(gui, 250, 10, 70, 70)); 
45
		browser->addControl(new Draggable_XYPad(gui, 330, 10, 70, 70)); 
46
		browser->addControl(new Draggable_Label(gui, 410, 10, 70, 70));
47
		browser->addControl(new Draggable_Panel(gui, 490, 10, 70, 70)); 
48

  
49
}
ofxArgos/src/UI Panels/BrowserDraggableList.h (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
28

  
29
*************************************************************************/ 
30

  
31
#include "ofxArgosUI.h"
32
#include "ofxArgosUI_Icon.h"
33
#include "BrowserDraggable.h"
34
#include "utils.h"
35

  
36
// ============================================================================ Button
37
class Draggable_Button : public ofxArgosUI_Icon {
38
	
39
public:
40

  
41
	ofxArgosUI	*gui; 
42

  
43
	Draggable_Button(ofxArgosUI &gui, int x, int y, int width, int height) : ofxArgosUI_Icon(x, y, width, height) {
44
		this->gui  = &gui; 
45
		icon.loadImage("icons/button.png");
46
		defaultCWidth = 120; 
47
		defaultCHeight = 40; 
48
	}
49

  
50
	void dropControl(int x, int y) {
51
		gui->addButton("New Button", x, y, defaultCWidth, defaultCHeight, &b[bi++]);
52
	}
53
};
54

  
55
// ============================================================================ Toggle
56
class Draggable_Toggle : public ofxArgosUI_Icon {
57
	
58
public:
59

  
60
	ofxArgosUI	*gui; 
61

  
62
	Draggable_Toggle(ofxArgosUI &gui, int x, int y, int width, int height) : ofxArgosUI_Icon(x, y, width, height) {
63
		this->gui  = &gui; 
64
		icon.loadImage("icons/toggle.png");
65
		defaultCWidth = 120; 
66
		defaultCHeight = 20; 
67
	}
68
	
69
	void dropControl(int x, int y) {
70
		gui->addToggle("New Toggle", x, y, defaultCWidth, defaultCHeight, &b[bi++]);
71
	}
72
};
73

  
74
// ============================================================================ Slider
75
class Draggable_Slider : public ofxArgosUI_Icon {
76
	
77
public:
78

  
79
	ofxArgosUI	*gui; 
80

  
81
	Draggable_Slider(ofxArgosUI &gui, int x, int y, int width, int height) : ofxArgosUI_Icon(x, y, width, height) {
82
		this->gui  = &gui; 
83
		icon.loadImage("icons/slider.png");
84
		defaultCWidth = 240; 
85
		defaultCHeight = 40; 
86
	}
87
	
88
	void dropControl(int x, int y) {
89
		gui->addSlider("New Slider", x, y, defaultCWidth, defaultCHeight, &f[fi++], 0, 100, 0.85); 
90
	}
91
};
92

  
93
// ============================================================================ Knob
94
class Draggable_Knob : public ofxArgosUI_Icon {
95
	
96
public:
97

  
98
	ofxArgosUI	*gui; 
99

  
100
	Draggable_Knob(ofxArgosUI &gui, int x, int y, int width, int height) : ofxArgosUI_Icon(x, y, width, height) {
101
		this->gui  = &gui; 
102
		icon.loadImage("icons/knob.png");
103
		defaultCWidth = 80; 
104
		defaultCHeight = 80;
105
	}
106
	
107
	void dropControl(int x, int y) {
108
		gui->addKnob("New Knob", x, y, (defaultCWidth / 2.5), &f[fi++], 0, 1, .85);
109
	}
110
};
111

  
112
// ============================================================================ Label
113
class Draggable_Label : public ofxArgosUI_Icon {
114
	
115
public:
116

  
117
	ofxArgosUI	*gui; 
118

  
119
	Draggable_Label(ofxArgosUI &gui, int x, int y, int width, int height) : ofxArgosUI_Icon(x, y, width, height) {
120
		this->gui  = &gui; 
121
		icon.loadImage("icons/label.png");
122
		defaultCWidth = 80; 
123
		defaultCHeight = 20; 
124
	}
125
	
126
	void dropControl(int x, int y) {
127

  
128
		gui->addButton("3", x, y, 40, 40, &b[bi++]);
129
		gui->addButton("4", x + 50, y, 40, 40, &b[bi++]);
130
		gui->addButton("1", x, y - 50, 40, 40, &b[bi++]);
131
		gui->addButton("2", x + 50, y - 50, 40, 40, &b[bi++]);
132
		
133
	}
134
};
135

  
136
// ============================================================================ Panel
137
class Draggable_Panel : public ofxArgosUI_Icon {
138
	
139
public:
140

  
141
	ofxArgosUI	*gui; 
142

  
143
	Draggable_Panel(ofxArgosUI &gui, int x, int y, int width, int height) : ofxArgosUI_Icon(x, y, width, height) {
144
		this->gui  = &gui; 
145
		icon.loadImage("icons/panel.png");
146
		defaultCWidth = 200; 
147
		defaultCHeight = 400;
148
	}
149
	
150
	void dropControl(int x, int y) {
151
	}
152
};
153

  
154

  
155
// ============================================================================ XYPad
156
class Draggable_XYPad : public ofxArgosUI_Icon {
157
	
158
public:
159

  
160
	ofxArgosUI	*gui; 
161

  
162
	Draggable_XYPad(ofxArgosUI &gui, int x, int y, int width, int height) : ofxArgosUI_Icon(x, y, width, height) {
163
		this->gui  = &gui; 
164
		icon.loadImage("icons/xypad.png");
165
		defaultCWidth = 120; 
166
		defaultCHeight = 120;
167
	}
168
	
169
	void dropControl(int x, int y) {
170
		gui->addXYPad("New XYPad", x, y, defaultCWidth, defaultCHeight, &v[vi++], 0, 20, 0, 20); 
171
	}
172
};
ofxArgos/src/Argos.h (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
28

  
29
*************************************************************************/ 
30

  
31
#ifndef _ARGOS_
32
#define _ARGOS_
33

  
34
#include "ofMain.h"				// ofMain
35

  
36
#include "ofxArgosUI.h"			// Argos UI Toolkit
37
#include "EditorCore.h"			// Widget Editor
38
#include "BrowserCore.h"		// Widget Browser
39
#include "StaticFont.h"			// Text @ Static Size
40
#include "OSCHandler.h"			// OSC Controller
41
#include "StateManager.h"		// Global Flags
42

  
43
class Argos : public ofSimpleApp{ 
44
	
45
public:
46

  
47
	ofxArgosUI		gui;
48
	EditorPanel		editor;  
49
	BrowserPanel	browser;
50

  
51

  
52
	Argos() {
53

  
54
		editor.init(gui); 
55
		browser.init(gui); 
56
	
57
		argosText::setFont("verdana.ttf", 10);
58

  
59
	}
60

  
61
	void setup();
62
	void update();
63
	void draw();
64

  
65
	void resized(int w, int h);
66
	
67
	void keyPressed(int key);
68

  
69
};
70

  
71
#endif
ofxArgos/src/OSCHandler/OSCHandler.cpp (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
28
*************************************************************************/ 
29

  
30
#include "OSCHandler.h"
31

  
32
OSCHandler oschandler;
ofxArgos/src/OSCHandler/OSCHandler.h (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5

  
6
	Redistribution and use in source and binary forms, with or without modification, 
7
	are permitted provided that the following conditions are met:
8

  
9
	1. Redistributions of source code must retain the above copyright notice, 
10
	this list of conditions and the following disclaimer.
11

  
12
	2. Redistributions in binary form must reproduce the above copyright notice, 
13
	this list of conditions and the following disclaimer in the documentation and/or 
14
	other materials provided with the distribution.
15

  
16
	3. The name of the author may not be used to endorse or promote products derived 
17
	from this software without specific prior written permission.
18

  
19
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
20
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
21
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
22
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
23
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
24
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
25
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
26
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
28
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
29
*************************************************************************/ 
30

  
31
#pragma once
32

  
33
#include "ofxOsc.h"
34
#include "ofTypes.h"
35

  
36
class OSCHandler {
37

  
38
public:
39

  
40
	bool verbose; 
41

  
42
	void start(int port){
43
		sender.setup("127.0.0.1", port); 
44
		printf("OSCHandler initalised at localhost on port %i \n", port);
45
		verbose = false; 
46
	}
47

  
48
	void setVerbose(bool x){
49
		verbose = x; 
50
	}
51

  
52
	void sendOSC(const int &value, string address){
53
		if (verbose) printf("OSCHandler::sendOSC:int\n");
54

  
55
		ofxOscMessage message;
56
		message.setAddress(address);
57
		message.addIntArg(value);
58
		sender.sendMessage(message); 
59
	}
60

  
61
	void sendOSC(const float &value, string address){
62
		if (verbose) printf("OSCHandler::sendOSC:float\n");
63

  
64
		ofxOscMessage message;
65
		message.setAddress(address);
66
		message.addFloatArg(value);
67
		sender.sendMessage(message); 
68
	}
69

  
70
	void sendOSC(const bool &value, string address){
71
		if (verbose) printf("OSCHandler::sendOSC:bool\n");
72

  
73
		ofxOscMessage message;
74
		message.setAddress(address);
75
		message.addIntArg(value);
76
		sender.sendMessage(message); 
77
	}
78

  
79
	void sendOSC(const ofPoint &value, string address){
80
		if (verbose) printf("OSCHandler::sendOSC:ofPoint\n");
81

  
82
		ofxOscMessage message;
83
		message.setAddress(address);
84
		message.addFloatArg(value.x);
85
		message.addFloatArg(value.y);
86
		sender.sendMessage(message); 
87
	}
88
	
89
private:
90
	ofxOscSender sender;
91

  
92
};
93

  
94
extern OSCHandler oschandler;
ofxArgos/src/main.cpp (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5

  
6
	Redistribution and use in source and binary forms, with or without modification, 
7
	are permitted provided that the following conditions are met:
8

  
9
	1. Redistributions of source code must retain the above copyright notice, 
10
	this list of conditions and the following disclaimer.
11

  
12
	2. Redistributions in binary form must reproduce the above copyright notice, 
13
	this list of conditions and the following disclaimer in the documentation and/or 
14
	other materials provided with the distribution.
15

  
16
	3. The name of the author may not be used to endorse or promote products derived 
17
	from this software without specific prior written permission.
18

  
19
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
20
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
21
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
22
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
23
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
24
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
25
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
26
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
28
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
29

  
30
*************************************************************************/ 
31

  
32
// Hide the console window
33
// #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") 
34

  
35
#include "ofMain.h"
36
#include "Argos.h"
37

  
38
//======================================================================== Main ()
39
int main( ){
40
	
41
	ofSetupOpenGL(830, 400, OF_WINDOW);
42
	ofSetWindowTitle("Argos Interface Builder v0.20");
43
	ofRunApp(new Argos);
44

  
45
}
ofxArgos/src/utils.h (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaimer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
28

  
29
*************************************************************************/ 
30

  
31
extern bool	b[300];
32
extern float f[300];
33
extern int	iindex;
34

  
35
extern  int fi;
36
extern  int bi; 
37
extern  int vi;
38

  
39
extern ofPoint *points;
40
extern ofPoint	v[300];
41

  
42
extern int WindowWidth;
43
extern int WindowHeight;
ofxArgos/src/Argos.cpp (revision 65)
1
/***********************************************************************
2
 
3
 Copyright (c) 2009, 2010 Dimitri Diakopoulos, http://argos.dimitridiakopoulos.com/
4

  
5
	Redistribution and use in source and binary forms, with or without modification, 
6
	are permitted provided that the following conditions are met:
7

  
8
	1. Redistributions of source code must retain the above copyright notice, 
9
	this list of conditions and the following disclaiwelmer.
10

  
11
	2. Redistributions in binary form must reproduce the above copyright notice, 
12
	this list of conditions and the following disclaimer in the documentation and/or 
13
	other materials provided with the distribution.
14

  
15
	3. The name of the author may not be used to endorse or promote products derived 
16
	from this software without specific prior written permission.
17

  
18
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
19
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
20
	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
21
	ARE DISCLAIMED. IN NOEVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
22
	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
23
	(INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
24
	LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
25
	AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
	OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
27
	OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
28

  
29
*************************************************************************/ 
30

  
31
#include "Argos.h"
32
#include "utils.h"
33

  
34

  
35
bool  b[300];
36
float f[300];
37
int	  iindex;
38

  
39
int fi;
40
int bi; 
41
int vi;
42

  
43
ofPoint *points;
44
ofPoint	v[300];
45

  
46
int WindowWidth;
47
int WindowHeight;
48

  
49

  
50
// ========================================================== Setup
51
void Argos::setup(){	
52
	
53
	WindowWidth = ofGetWidth();
54
	WindowHeight = ofGetHeight();
55
	ofSetVerticalSync(false);
56
	ofSetFrameRate(30);
57

  
58
	ofSetBackgroundAuto(false); 
59

  
60
	ofBackground(40, 40, 40);
61
	
62
	tuio.start(3333);
63
	oschandler.start(3335);
64

  
65
	gui.addFPSCounter((WindowWidth - 100), (WindowHeight - 20), 100, 20);
66

  
67
	//glutSetCursor(GLUT_CURSOR_CROSSHAIR);
68
	//glutSetCursor(GLUT_CURSOR_TEXT);
69

  
70

  
71
}
72

  
73
// ========================================================== Update 
74
void Argos::update(){
75
	tuio.getMessage();
76
	editor.update();
77
}
78

  
79
// ========================================================== Draw
80
void Argos::draw(){
81

  
82
	tuio.drawCursors();
83

  
84
	gui.draw();
85

  
86
	ofSetColor(0xffffff); 
87

  
88
}
89

  
90
// ========================================================== Resized
91
void Argos::resized(int w, int h){
92

  
93
}
94

  
95
// ========================================================== Key Pressed
96
void Argos::keyPressed (int key){ 
97

  
98
	// Eventually forward these directly to editor... 
99
	if (key == OF_KEY_DEL) editor.removeControl(); 
100
	if (key == OF_KEY_UP) editor.updateY(1); 
101
	if (key == OF_KEY_DOWN) editor.updateY(0); 
102
	if (key == OF_KEY_LEFT) editor.updateX(1); 
103
	if (key == OF_KEY_RIGHT) editor.updateX(0); 
104

  
105
	if (key == '-') gui.toggleDraw();
106
	if (key == '=') browser.browser->toggleDraw();
107
    //if(key == '-') editor.editor->toggleDraw();
108

  
109
}
ofxArgos/Argos.vcproj.user (revision 65)
1
<?xml version="1.0" encoding="Windows-1252"?>
2
<VisualStudioUserFile
3
	ProjectType="Visual C++"
4
	Version="8.00"
5
	ShowAllFiles="false"
6
	>
7
	<Configurations>
8
		<Configuration
9
			Name="Debug|Win32"
10
			>
11
			<DebugSettings
12
				Command="$(TargetPath)"
13
				WorkingDirectory="bin"
14
			/>
15
		</Configuration>
16
		<Configuration
17
			Name="Release|Win32"
18
			>
19
			<DebugSettings
20
				Command="$(TargetPath)"
21
				WorkingDirectory="bin"
22
			/>
23
		</Configuration>
24
	</Configurations>
25
</VisualStudioUserFile>
ofxArgos/Argos.vcproj (revision 65)
1
<?xml version="1.0" encoding="Windows-1252"?>
2
<VisualStudioProject
3
	ProjectType="Visual C++"
4
	Version="9.00"
5
	Name="Argos"
6
	ProjectGUID="{7FD42DF7-442E-479A-BA76-D0022F99702A}"
7
	RootNamespace="Argos"
8
	Keyword="Win32Proj"
9
	TargetFrameworkVersion="131072"
10
	>
11
	<Platforms>
12
		<Platform
13
			Name="Win32"
14
		/>
15
	</Platforms>
16
	<ToolFiles>
17
	</ToolFiles>
18
	<Configurations>
19
		<Configuration
20
			Name="Debug|Win32"
21
			OutputDirectory="bin"
22
			IntermediateDirectory="obj\$(ConfigurationName)"
23
			ConfigurationType="1"
24
			CharacterSet="1"
25
			>
26
			<Tool
27
				Name="VCPreBuildEventTool"
28
			/>
29
			<Tool
30
				Name="VCCustomBuildTool"
31
			/>
32
			<Tool
33
				Name="VCXMLDataGeneratorTool"
34
			/>
35
			<Tool
36
				Name="VCWebServiceProxyGeneratorTool"
37
			/>
38
			<Tool
39
				Name="VCMIDLTool"
40
			/>
41
			<Tool
42
				Name="VCCLCompilerTool"
43
				Optimization="0"
44
				AdditionalIncludeDirectories="..\..\..\libs\openFrameworks;..\..\..\libs\openFrameworks\graphics;..\..\..\libs\openFrameworks\app;..\..\..\libs\openFrameworks\sound;..\..\..\libs\openFrameworks\utils;..\..\..\libs\openFrameworks\communication;..\..\..\libs\openFrameworks\video;..\..\..\libs\openFrameworks\events;..\..\..\libs\glut;..\..\..\libs\rtAudio\includes;..\..\..\libs\QTDevWin\CIncludes;..\..\..\libs\free_type_2.1.4\include;..\..\..\libs\free_type_2.1.4\include\freetype2;..\..\..\libs\freeImage;..\..\..\libs\fmodex\inc;..\..\..\libs\videoInput\include;..\..\..\libs\glee\include;..\..\..\libs\glu;..\..\..\libs\Poco\include;..\..\..\addons;..\..\..\addons\ofxNetwork\src;..\..\..\addons\ofxDirList\src;..\..\..\addons\ofxObjLoader\src;..\..\..\addons\ofxOpenCv\src;..\..\..\addons\ofxOpenCv\libs\opencv\include;..\..\..\addons\ofxOsc\src;..\..\..\addons\ofxOsc\libs\oscpack\include\ip;..\..\..\addons\ofxOsc\libs\oscpack\include\osc;..\..\..\addons\ofxThread\src;..\..\..\addons\ofxVectorGraphics\src;..\..\..\addons\ofxVectorGraphics\libs;..\..\..\addons\ofxVectorMath\src;..\..\..\addons\ofxXMLSettings\libs;..\..\..\addons\ofxXMLSettings\src;..\..\..\addons\ofx3DModelLoader\src;..\..\..\addons\ofx3DModelLoader\src\3DS;..\..\..\addons\ofxMSAInteractiveObject\src;..\..\..\addons\ofxArgosUI\src;..\..\..\addons\ofxArgosUI\src\Controls;..\..\..\addons\ofxTuio\src;..\..\..\addons\ofxOsc\libs;..\..\..\addons\ofxOsc\libs\oscpack;..\..\..\addons\ofxTouchAPI\src;.\src;&quot;.\src\UI Panels&quot;;.\src\OSCHandler"
45
				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;POCO_STATIC"
46
				MinimalRebuild="true"
47
				BasicRuntimeChecks="3"
48
				RuntimeLibrary="3"
49
				UsePrecompiledHeader="0"
50
				WarningLevel="3"
51
				Detect64BitPortabilityProblems="false"
52
				DebugInformationFormat="4"
53
			/>
54
			<Tool
55
				Name="VCManagedResourceCompilerTool"
56
			/>
57
			<Tool
58
				Name="VCResourceCompilerTool"
59
			/>
60
			<Tool
61
				Name="VCPreLinkEventTool"
62
			/>
63
			<Tool
64
				Name="VCLinkerTool"
65
				AdditionalDependencies="OpenGL32.lib GLu32.lib kernel32.lib setupapi.lib glut32.lib rtAudioD.lib videoInput.lib libfreetype.lib FreeImage.lib qtmlClient.lib dsound.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib GLee.lib fmodex_vc.lib glu32.lib PocoFoundationmtd.lib PocoNetmtd.lib PocoUtilmtd.lib PocoXMLmtd.lib Ws2_32.lib ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win32\cv110d.lib ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win32\cvaux110d.lib ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win32\cxcore110d.lib ..\..\..\addons\ofxOsc\libs\oscpack\lib\win32\oscpackd.lib"
66
				OutputFile="$(OutDir)\$(ProjectName)_debug.exe"
67
				LinkIncremental="2"
68
				AdditionalLibraryDirectories="..\..\..\libs\glut;..\..\..\libs\rtAudio\libs\vs2008;..\..\..\libs\freeImage;..\..\..\libs\free_type_2.1.4\lib;..\..\..\libs\QTDevWin\Libraries;..\..\..\libs\fmodex\lib;..\..\..\libs\videoInput\lib;..\..\..\libs\glee\lib;..\..\..\libs\glu;..\..\..\libs\Poco\lib"
69
				GenerateManifest="true"
70
				IgnoreDefaultLibraryNames="atlthunk.lib; LIBC.lib; LIBCMT;"
71
				GenerateDebugInformation="true"
72
				ProgramDatabaseFile="$(TargetDir)$(TargetName)_debugInfo.pdb"
73
				SubSystem="1"
74
				RandomizedBaseAddress="1"
75
				DataExecutionPrevention="0"
76
				TargetMachine="1"
77
			/>
78
			<Tool
79
				Name="VCALinkTool"
80
			/>
81
			<Tool
82
				Name="VCManifestTool"
83
			/>
84
			<Tool
85
				Name="VCXDCMakeTool"
86
			/>
87
			<Tool
88
				Name="VCBscMakeTool"
89
			/>
90
			<Tool
91
				Name="VCFxCopTool"
92
			/>
93
			<Tool
94
				Name="VCAppVerifierTool"
95
			/>
96
			<Tool
97
				Name="VCPostBuildEventTool"
98
				Description="adding DLLs and creating data folder"
99
				CommandLine="xcopy /e /i /y &quot;$(ProjectDir)\..\..\..\other\dlls\*.dll&quot; bin&#x0D;&#x0A;if not exist &quot;bin\data&quot; mkdir  &quot;bin\data&quot;&#x0D;&#x0A;"
100
			/>
101
		</Configuration>
102
		<Configuration
103
			Name="Release|Win32"
104
			OutputDirectory="bin"
105
			IntermediateDirectory="obj\$(ConfigurationName)"
106
			ConfigurationType="1"
107
			CharacterSet="1"
108
			WholeProgramOptimization="1"
109
			>
110
			<Tool
111
				Name="VCPreBuildEventTool"
112
			/>
113
			<Tool
114
				Name="VCCustomBuildTool"
115
			/>
116
			<Tool
117
				Name="VCXMLDataGeneratorTool"
118
			/>
119
			<Tool
120
				Name="VCWebServiceProxyGeneratorTool"
121
			/>
122
			<Tool
123
				Name="VCMIDLTool"
124
			/>
125
			<Tool
126
				Name="VCCLCompilerTool"
127
				WholeProgramOptimization="false"
128
				AdditionalIncludeDirectories="..\..\..\libs\openFrameworks;..\..\..\libs\openFrameworks\graphics;..\..\..\libs\openFrameworks\app;..\..\..\libs\openFrameworks\sound;..\..\..\libs\openFrameworks\utils;..\..\..\libs\openFrameworks\communication;..\..\..\libs\openFrameworks\video;..\..\..\libs\openFrameworks\events;..\..\..\libs\glut;..\..\..\libs\rtAudio\includes;..\..\..\libs\QTDevWin\CIncludes;..\..\..\libs\free_type_2.1.4\include;..\..\..\libs\free_type_2.1.4\include\freetype2;..\..\..\libs\freeImage;..\..\..\libs\fmodex\inc;..\..\..\libs\videoInput\include;..\..\..\libs\glee\include;..\..\..\libs\glu;..\..\..\libs\Poco\include;..\..\..\addons;..\..\..\addons\ofxNetwork\src;..\..\..\addons\ofxDirList\src;..\..\..\addons\ofxObjLoader\src;..\..\..\addons\ofxOpenCv\src;..\..\..\addons\ofxOpenCv\libs\opencv\include;..\..\..\addons\ofxOsc\src;..\..\..\addons\ofxOsc\libs\oscpack\include\ip;..\..\..\addons\ofxOsc\libs\oscpack\include\osc;..\..\..\addons\ofxThread\src;..\..\..\addons\ofxVectorGraphics\src;..\..\..\addons\ofxVectorGraphics\libs;..\..\..\addons\ofxVectorMath\src;..\..\..\addons\ofxXMLSettings\libs;..\..\..\addons\ofxXMLSettings\src;..\..\..\addons\ofx3DModelLoader\src;..\..\..\addons\ofx3DModelLoader\src\3DS;..\..\..\addons\ofxArgosUI\src;..\..\..\addons\ofxArgosUI\src\Controls;..\..\..\addons\ofxTuio\src;..\..\..\addons\ofxTouchAPI\src;.\src;&quot;.\src\UI Panels&quot;;.\src\OSCHandler"
129
				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;POCO_STATIC"
130
				RuntimeLibrary="2"
131
				UsePrecompiledHeader="0"
132
				WarningLevel="3"
133
				Detect64BitPortabilityProblems="false"
134
				DebugInformationFormat="0"
135
			/>
136
			<Tool
137
				Name="VCManagedResourceCompilerTool"
138
			/>
139
			<Tool
140
				Name="VCResourceCompilerTool"
141
			/>
142
			<Tool
143
				Name="VCPreLinkEventTool"
144
			/>
145
			<Tool
146
				Name="VCLinkerTool"
147
				AdditionalDependencies="OpenGL32.lib GLu32.lib kernel32.lib setupapi.lib glut32.lib rtAudio.lib videoInput.lib libfreetype.lib FreeImage.lib qtmlClient.lib dsound.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib GLee.lib fmodex_vc.lib glu32.lib PocoFoundationmt.lib PocoNetmt.lib PocoUtilmt.lib PocoXMLmt.lib Ws2_32.lib  ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win32\cv110.lib ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win32\cvaux110.lib ..\..\..\addons\ofxOpenCv\libs\opencv\lib\win32\cxcore110.lib  ..\..\..\addons\ofxOsc\libs\oscpack\lib\win32\oscpack.lib"
148
				LinkIncremental="1"
149
				AdditionalLibraryDirectories="..\..\..\libs\glut;..\..\..\libs\rtAudio\libs\vs2008;..\..\..\libs\freeImage;..\..\..\libs\free_type_2.1.4\lib;..\..\..\libs\QTDevWin\Libraries;..\..\..\libs\fmodex\lib;..\..\..\libs\videoInput\lib;..\..\..\libs\glee\lib;..\..\..\libs\glu;..\..\..\libs\Poco\lib"
150
				IgnoreAllDefaultLibraries="false"
151
				IgnoreDefaultLibraryNames="atlthunk.lib; LIBC.lib; LIBCMT;"
152
				GenerateDebugInformation="false"
153
				SubSystem="1"
154
				OptimizeReferences="2"
155
				EnableCOMDATFolding="2"
156
				RandomizedBaseAddress="1"
157
				DataExecutionPrevention="0"
158
				TargetMachine="1"
159
			/>
160
			<Tool
161
				Name="VCALinkTool"
162
			/>
163
			<Tool
164
				Name="VCManifestTool"
165
			/>
166
			<Tool
167
				Name="VCXDCMakeTool"
168
			/>
169
			<Tool
170
				Name="VCBscMakeTool"
171
			/>
172
			<Tool
173
				Name="VCFxCopTool"
174
			/>
175
			<Tool
176
				Name="VCAppVerifierTool"
177
			/>
178
			<Tool
179
				Name="VCPostBuildEventTool"
180
				Description="adding DLLs and creating data folder"
181
				CommandLine="xcopy /e /i /y &quot;$(ProjectDir)\..\..\..\other\dlls\*.dll&quot; bin&#x0D;&#x0A;if not exist &quot;bin\data&quot; mkdir  &quot;bin\data&quot;&#x0D;&#x0A;"
182
			/>
183
		</Configuration>
184
	</Configurations>
185
	<References>
186
	</References>
187
	<Files>
188
		<Filter
189
			Name="src"
190
			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
191
			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
192
			>
193
			<File
194
				RelativePath=".\src\Argos.cpp"
195
				>
196
			</File>
197
			<File
198
				RelativePath=".\src\Argos.h"
199
				>
200
			</File>
201
			<File
202
				RelativePath=".\src\main.cpp"
203
				>
204
			</File>
205
			<File
206
				RelativePath=".\src\utils.h"
207
				>
208
			</File>
209
			<Filter
210
				Name="Argos Core"
211
				>
212
				<Filter
213
					Name="Editor Panel"
214
					>
215
					<File
216
						RelativePath=".\src\UI Panels\EditorActions.cpp"
217
						>
218
					</File>
219
					<File
220
						RelativePath=".\src\UI Panels\EditorActions.h"
221
						>
222
					</File>
223
					<File
224
						RelativePath=".\src\UI Panels\EditorCore.cpp"
225
						>
226
					</File>
227
					<File
228
						RelativePath=".\src\UI Panels\EditorCore.h"
229
						>
230
					</File>
231
				</Filter>
232
				<Filter
233
					Name="Browser Panel"
234
					>
235
					<File
236
						RelativePath=".\src\UI Panels\BrowserCore.cpp"
237
						>
238
					</File>
239
					<File
240
						RelativePath=".\src\UI Panels\BrowserCore.h"
241
						>
242
					</File>
243
					<File
244
						RelativePath=".\src\UI Panels\BrowserDraggable.h"
245
						>
246
					</File>
247
					<File
248
						RelativePath=".\src\UI Panels\BrowserDraggableList.h"
249
						>
250
					</File>
251
				</Filter>
252
				<Filter
253
					Name="Text"
254
					>
255
					<File
256
						RelativePath=".\src\UI Panels\StaticFont.cpp"
257
						>
258
					</File>
259
					<File
260
						RelativePath=".\src\UI Panels\StaticFont.h"
261
						>
262
					</File>
263
				</Filter>
264
				<Filter
265
					Name="OSCHandler"
266
					>
267
					<File
268
						RelativePath=".\src\OSCHandler\OSCHandler.cpp"
269
						>
270
					</File>
271
					<File
272
						RelativePath=".\src\OSCHandler\OSCHandler.h"
273
						>
274
					</File>
275
				</Filter>
276
				<Filter
277
					Name="Utility"
278
					>
279
					<File
280
						RelativePath=".\src\UI Panels\GridManager.h"
281
						>
282
					</File>
283
					<File
284
						RelativePath=".\src\UI Panels\StateManager.cpp"
285
						>
286
					</File>
287
					<File
288
						RelativePath=".\src\UI Panels\StateManager.h"
289
						>
290
					</File>
291
				</Filter>
292
			</Filter>
293
		</Filter>
294
		<Filter
295
			Name="libs"
296
			>
297
			<Filter
298
				Name="openFrameworks"
299
				>
300
				<File
301
					RelativePath="..\..\..\libs\openFrameworks\ofMain.h"
302
					>
303
				</File>
304
				<Filter
305
					Name="app"
306
					>
307
					<File
308
						RelativePath="..\..\..\libs\openFrameworks\app\ofAppGlutWindow.cpp"
309
						>
310
					</File>
311
					<File
312
						RelativePath="..\..\..\libs\openFrameworks\app\ofAppGlutWindow.h"
313
						>
314
					</File>
315
					<File
316
						RelativePath="..\..\..\libs\openFrameworks\app\ofAppRunner.cpp"
317
						>
318
					</File>
319
					<File
320
						RelativePath="..\..\..\libs\openFrameworks\app\ofAppRunner.h"
321
						>
322
					</File>
323
					<File
324
						RelativePath="..\..\..\libs\openFrameworks\app\ofSimpleApp.h"
325
						>
326
					</File>
327
				</Filter>
328
				<Filter
329
					Name="graphics"
330
					>
331
					<File
332
						RelativePath="..\..\..\libs\openFrameworks\graphics\ofBitmapFont.cpp"
333
						>
334
					</File>
335
					<File
336
						RelativePath="..\..\..\libs\openFrameworks\graphics\ofBitmapFont.h"
337
						>
338
					</File>
339
					<File
340
						RelativePath="..\..\..\libs\openFrameworks\graphics\ofGraphics.cpp"
341
						>
342
					</File>
343
					<File
344
						RelativePath="..\..\..\libs\openFrameworks\graphics\ofGraphics.h"
345
						>
346
					</File>
347
					<File
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff