summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xliveengine/addons.make1
-rw-r--r--liveengine/bin/data/birds.xml127
-rw-r--r--liveengine/bin/data/computers.xml68
-rw-r--r--liveengine/bin/data/food.xml68
-rw-r--r--liveengine/bin/data/mil_historic.xml132
-rw-r--r--liveengine/bin/data/panel.xml4
-rw-r--r--liveengine/bin/data/tools.xml68
-rw-r--r--liveengine/bin/data/trainers.xml68
-rw-r--r--liveengine/liveengine.layout24
-rwxr-xr-xliveengine/src/layers.cpp25
-rwxr-xr-xliveengine/src/layers.h12
-rwxr-xr-xliveengine/src/testApp.cpp123
-rwxr-xr-xliveengine/src/testApp.h37
-rwxr-xr-xliveengine/src/viewport.cpp6
-rwxr-xr-xliveengine/src/viewport.h2
15 files changed, 559 insertions, 206 deletions
diff --git a/liveengine/addons.make b/liveengine/addons.make
index d84b231..c930a97 100755
--- a/liveengine/addons.make
+++ b/liveengine/addons.make
@@ -3,3 +3,4 @@ ofxMidi
ofxSVG
ofxSVGTiny
ofxFenster
+ofxGui
diff --git a/liveengine/bin/data/birds.xml b/liveengine/bin/data/birds.xml
index 9326acf..0db0986 100644
--- a/liveengine/bin/data/birds.xml
+++ b/liveengine/bin/data/birds.xml
@@ -1,67 +1,68 @@
<?xml version='1.0' encoding='utf-8'?>
<playlist>
<svglayer note="36" file="birds/55.WMF.svg"/>
- <svglayer note="37" file="birds/6GEESE2.WMF.svg"/>
- <svglayer note="38" file="birds/AB01001A.WMF.svg"/>
- <svglayer note="39" file="birds/AB01005A.WMF.svg"/>
- <svglayer note="40" file="birds/AB01006A.WMF.svg"/>
- <svglayer note="41" file="birds/AB01007A.WMF.svg"/>
- <svglayer note="42" file="birds/AB01008A.WMF.svg"/>
- <svglayer note="43" file="birds/AB01009A.WMF.svg"/>
- <svglayer note="44" file="birds/AB01011A.WMF.svg"/>
- <svglayer note="45" file="birds/AB01012A.WMF.svg"/>
- <svglayer note="46" file="birds/AB01017A.WMF.svg"/>
- <svglayer note="47" file="birds/AB01018A.WMF.svg"/>
- <svglayer note="48" file="birds/AB01020C.WMF.svg"/>
- <svglayer note="49" file="birds/AB01024A.WMF.svg"/>
- <svglayer note="50" file="birds/AB01025A.WMF.svg"/>
- <svglayer note="51" file="birds/AB01026A.WMF.svg"/>
- <svglayer note="52" file="birds/AB01027A.WMF.svg"/>
- <svglayer note="53" file="birds/AB01028A.WMF.svg"/>
- <svglayer note="54" file="birds/AB01029A.WMF.svg"/>
- <svglayer note="55" file="birds/AB01030A.WMF.svg"/>
- <svglayer note="56" file="birds/AB01033A.WMF.svg"/>
- <svglayer note="57" file="birds/AB01034A.WMF.svg"/>
- <svglayer note="58" file="birds/AB01041A.WMF.svg"/>
- <svglayer note="59" file="birds/AB01043A.WMF.svg"/>
- <svglayer note="60" file="birds/AB01044A.WMF.svg"/>
- <svglayer note="61" file="birds/AB01050A.WMF.svg"/>
- <svglayer note="62" file="birds/AB01053A.WMF.svg"/>
- <svglayer note="63" file="birds/AB01054A.WMF.svg"/>
- <svglayer note="64" file="birds/AB01055A.WMF.svg"/>
- <svglayer note="65" file="birds/AB01057A.WMF.svg"/>
- <svglayer note="66" file="birds/AB01058A.WMF.svg"/>
- <svglayer note="67" file="birds/AB01059A.WMF.svg"/>
- <svglayer note="68" file="birds/AB01061A.WMF.svg"/>
- <svglayer note="69" file="birds/AB01063A.WMF.svg"/>
- <svglayer note="70" file="birds/AB01065A.WMF.svg"/>
- <svglayer note="71" file="birds/AB01066A.WMF.svg"/>
- <svglayer note="72" file="birds/AB01067A.WMF.svg"/>
- <svglayer note="73" file="birds/AB01069A.WMF.svg"/>
- <svglayer note="74" file="birds/AB01070A.WMF.svg"/>
- <svglayer note="75" file="birds/AB01074A.WMF.svg"/>
- <svglayer note="76" file="birds/AB01501A.WMF.svg"/>
- <svglayer note="77" file="birds/AB01502A.WMF.svg"/>
- <svglayer note="78" file="birds/AB01505A.WMF.svg"/>
- <svglayer note="79" file="birds/Ab01036x.wmf.svg"/>
- <svglayer note="80" file="birds/BIRD030.WMF.svg"/>
- <svglayer note="81" file="birds/BIRD031.WMF.svg"/>
- <svglayer note="82" file="birds/BIRD033.WMF.svg"/>
- <svglayer note="83" file="birds/BIRD035.WMF.svg"/>
- <svglayer note="84" file="birds/BIRD036.WMF.svg"/>
- <svglayer note="85" file="birds/BIRD041.WMF.svg"/>
- <svglayer note="86" file="birds/BIRD047.WMF.svg"/>
- <svglayer note="87" file="birds/ab01080a.wmf.svg"/>
- <svglayer note="88" file="birds/ab01082a.wmf.svg"/>
- <svglayer note="89" file="birds/ab01083a.wmf.svg"/>
- <svglayer note="90" file="birds/ab01510a.wmf.svg"/>
- <svglayer note="91" file="birds/ab43045a.wmf.svg"/>
- <svglayer note="92" file="birds/ab43047a.wmf.svg"/>
- <svglayer note="93" file="birds/ab43048a.wmf.svg"/>
- <svglayer note="94" file="birds/ab43052a.wmf.svg"/>
- <svglayer note="95" file="birds/ab43053a.wmf.svg"/>
- <svglayer note="96" file="birds/ab43054a.wmf.svg"/>
- <svglayer note="97" file="birds/ab43061a.wmf.svg"/>
- <svglayer note="98" file="birds/ab43073a.wmf.svg"/>
- <svglayer note="99" file="birds/ab43076a.wmf.svg"/>
+ <svglayer note="37" file="birds/AB01001A.WMF.svg"/>
+ <svglayer note="38" file="birds/AB01005A.WMF.svg"/>
+ <svglayer note="39" file="birds/AB01006A.WMF.svg"/>
+ <svglayer note="40" file="birds/AB01008A.WMF.svg"/>
+ <svglayer note="41" file="birds/AB01009A.WMF.svg"/>
+ <svglayer note="42" file="birds/AB01012A.WMF.svg"/>
+ <svglayer note="43" file="birds/AB01017A.WMF.svg"/>
+ <svglayer note="44" file="birds/AB01018A.WMF.svg"/>
+ <svglayer note="45" file="birds/AB01024A.WMF.svg"/>
+ <svglayer note="46" file="birds/AB01025A.WMF.svg"/>
+ <svglayer note="47" file="birds/AB01026A.WMF.svg"/>
+ <svglayer note="48" file="birds/AB01027A.WMF.svg"/>
+ <svglayer note="49" file="birds/AB01028A.WMF.svg"/>
+ <svglayer note="50" file="birds/AB01029A.WMF.svg"/>
+ <svglayer note="51" file="birds/AB01030A.WMF.svg"/>
+ <svglayer note="52" file="birds/AB01033A.WMF.svg"/>
+ <svglayer note="53" file="birds/AB01041A.WMF.svg"/>
+ <svglayer note="54" file="birds/AB01043A.WMF.svg"/>
+ <svglayer note="55" file="birds/AB01050A.WMF.svg"/>
+ <svglayer note="56" file="birds/AB01053A.WMF.svg"/>
+ <svglayer note="57" file="birds/AB01054A.WMF.svg"/>
+ <svglayer note="58" file="birds/AB01058A.WMF.svg"/>
+ <svglayer note="59" file="birds/AB01059A.WMF.svg"/>
+ <svglayer note="60" file="birds/AB01061A.WMF.svg"/>
+ <svglayer note="61" file="birds/AB01063A.WMF.svg"/>
+ <svglayer note="62" file="birds/AB01065A.WMF.svg"/>
+ <svglayer note="63" file="birds/AB01066A.WMF.svg"/>
+ <svglayer note="64" file="birds/AB01067A.WMF.svg"/>
+ <svglayer note="65" file="birds/AB01074A.WMF.svg"/>
+ <svglayer note="66" file="birds/AB01501A.WMF.svg"/>
+ <svglayer note="67" file="birds/AB01505A.WMF.svg"/>
+ <svglayer note="68" file="birds/BIRD030.WMF.svg"/>
+ <svglayer note="69" file="birds/BIRD035.WMF.svg"/>
+ <svglayer note="70" file="birds/BIRD036.WMF.svg"/>
+ <svglayer note="71" file="birds/BIRD041.WMF.svg"/>
+ <svglayer note="72" file="birds/BIRD047.WMF.svg"/>
+ <svglayer note="73" file="birds/ab01510a.wmf.svg"/>
+ <svglayer note="74" file="birds/55.WMF.svg"/>
+ <svglayer note="75" file="birds/AB01001A.WMF.svg"/>
+ <svglayer note="76" file="birds/AB01005A.WMF.svg"/>
+ <svglayer note="77" file="birds/AB01006A.WMF.svg"/>
+ <svglayer note="78" file="birds/AB01008A.WMF.svg"/>
+ <svglayer note="79" file="birds/AB01009A.WMF.svg"/>
+ <svglayer note="80" file="birds/AB01012A.WMF.svg"/>
+ <svglayer note="81" file="birds/AB01017A.WMF.svg"/>
+ <svglayer note="82" file="birds/AB01018A.WMF.svg"/>
+ <svglayer note="83" file="birds/AB01024A.WMF.svg"/>
+ <svglayer note="84" file="birds/AB01025A.WMF.svg"/>
+ <svglayer note="85" file="birds/AB01026A.WMF.svg"/>
+ <svglayer note="86" file="birds/AB01027A.WMF.svg"/>
+ <svglayer note="87" file="birds/AB01028A.WMF.svg"/>
+ <svglayer note="88" file="birds/AB01029A.WMF.svg"/>
+ <svglayer note="89" file="birds/AB01030A.WMF.svg"/>
+ <svglayer note="90" file="birds/AB01033A.WMF.svg"/>
+ <svglayer note="91" file="birds/AB01041A.WMF.svg"/>
+ <svglayer note="92" file="birds/AB01043A.WMF.svg"/>
+ <svglayer note="93" file="birds/AB01050A.WMF.svg"/>
+ <svglayer note="94" file="birds/AB01053A.WMF.svg"/>
+ <svglayer note="95" file="birds/AB01054A.WMF.svg"/>
+ <svglayer note="96" file="birds/AB01058A.WMF.svg"/>
+ <svglayer note="97" file="birds/AB01059A.WMF.svg"/>
+ <svglayer note="98" file="birds/AB01061A.WMF.svg"/>
+ <svglayer note="99" file="birds/AB01063A.WMF.svg"/>
+ <svglayer note="100" file="birds/AB01065A.WMF.svg"/>
</playlist>
diff --git a/liveengine/bin/data/computers.xml b/liveengine/bin/data/computers.xml
new file mode 100644
index 0000000..22ed140
--- /dev/null
+++ b/liveengine/bin/data/computers.xml
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="computers/COMPU020.WMF.svg"/>
+ <svglayer note="37" file="computers/COMPU021.WMF.svg"/>
+ <svglayer note="38" file="computers/COMPU022.WMF.svg"/>
+ <svglayer note="39" file="computers/CPMSE008.WMF.svg"/>
+ <svglayer note="40" file="computers/CPMSE009.WMF.svg"/>
+ <svglayer note="41" file="computers/CPMSE010.WMF.svg"/>
+ <svglayer note="42" file="computers/CPMSE011.WMF.svg"/>
+ <svglayer note="43" file="computers/CPMSE012.WMF.svg"/>
+ <svglayer note="44" file="computers/CPMSE013.WMF.svg"/>
+ <svglayer note="45" file="computers/DISK040.WMF.svg"/>
+ <svglayer note="46" file="computers/DISK041.WMF.svg"/>
+ <svglayer note="47" file="computers/DISK042.WMF.svg"/>
+ <svglayer note="48" file="computers/HP500.WMF.svg"/>
+ <svglayer note="49" file="computers/MAINF020.WMF.svg"/>
+ <svglayer note="50" file="computers/MAINF021.WMF.svg"/>
+ <svglayer note="51" file="computers/MAINF022.WMF.svg"/>
+ <svglayer note="52" file="computers/MAINF023.WMF.svg"/>
+ <svglayer note="53" file="computers/MAINF024.WMF.svg"/>
+ <svglayer note="54" file="computers/MAINF025.WMF.svg"/>
+ <svglayer note="55" file="computers/MAINF026.WMF.svg"/>
+ <svglayer note="56" file="computers/MAINF027.WMF.svg"/>
+ <svglayer note="57" file="computers/MAINF028.WMF.svg"/>
+ <svglayer note="58" file="computers/MAINF029.WMF.svg"/>
+ <svglayer note="59" file="computers/MAINF030.WMF.svg"/>
+ <svglayer note="60" file="computers/MAINF031.WMF.svg"/>
+ <svglayer note="61" file="computers/MAINF032.WMF.svg"/>
+ <svglayer note="62" file="computers/MAINF033.WMF.svg"/>
+ <svglayer note="63" file="computers/MAINF034.WMF.svg"/>
+ <svglayer note="64" file="computers/MAINF035.WMF.svg"/>
+ <svglayer note="65" file="computers/MAINF036.WMF.svg"/>
+ <svglayer note="66" file="computers/MAINF037.WMF.svg"/>
+ <svglayer note="67" file="computers/MAINF038.WMF.svg"/>
+ <svglayer note="68" file="computers/MAINF039.WMF.svg"/>
+ <svglayer note="69" file="computers/MAINF041.WMF.svg"/>
+ <svglayer note="70" file="computers/MAINF048.WMF.svg"/>
+ <svglayer note="71" file="computers/MAINF049.WMF.svg"/>
+ <svglayer note="72" file="computers/MAINF050.WMF.svg"/>
+ <svglayer note="73" file="computers/MAINF051.WMF.svg"/>
+ <svglayer note="74" file="computers/MAINF052.WMF.svg"/>
+ <svglayer note="75" file="computers/MAINF053.WMF.svg"/>
+ <svglayer note="76" file="computers/MAINF054.WMF.svg"/>
+ <svglayer note="77" file="computers/MAINF056.WMF.svg"/>
+ <svglayer note="78" file="computers/MAINF058.WMF.svg"/>
+ <svglayer note="79" file="computers/MAINF059.WMF.svg"/>
+ <svglayer note="80" file="computers/MAINF060.WMF.svg"/>
+ <svglayer note="81" file="computers/MAINF061.WMF.svg"/>
+ <svglayer note="82" file="computers/MAINF062.WMF.svg"/>
+ <svglayer note="83" file="computers/MAINF063.WMF.svg"/>
+ <svglayer note="84" file="computers/MAINF064.WMF.svg"/>
+ <svglayer note="85" file="computers/PERIF045.WMF.svg"/>
+ <svglayer note="86" file="computers/PERIF046.WMF.svg"/>
+ <svglayer note="87" file="computers/PERIF050.WMF.svg"/>
+ <svglayer note="88" file="computers/PERIF071.WMF.svg"/>
+ <svglayer note="89" file="computers/PERIF072.WMF.svg"/>
+ <svglayer note="90" file="computers/PERIF073.WMF.svg"/>
+ <svglayer note="91" file="computers/PERIF074.WMF.svg"/>
+ <svglayer note="92" file="computers/PERIF075.WMF.svg"/>
+ <svglayer note="93" file="computers/PERIF076.WMF.svg"/>
+ <svglayer note="94" file="computers/PERIF077.WMF.svg"/>
+ <svglayer note="95" file="computers/PERIF079.WMF.svg"/>
+ <svglayer note="96" file="computers/PRINT043.WMF.svg"/>
+ <svglayer note="97" file="computers/PRINT045.WMF.svg"/>
+ <svglayer note="98" file="computers/PRINT049.WMF.svg"/>
+ <svglayer note="99" file="computers/PRINT050.WMF.svg"/>
+ <svglayer note="100" file="computers/PRINT051.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/food.xml b/liveengine/bin/data/food.xml
new file mode 100644
index 0000000..10253cd
--- /dev/null
+++ b/liveengine/bin/data/food.xml
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="food/E01003B.WMF.svg"/>
+ <svglayer note="37" file="food/E01006B.WMF.svg"/>
+ <svglayer note="38" file="food/E01007C.WMF.svg"/>
+ <svglayer note="39" file="food/E01008C.WMF.svg"/>
+ <svglayer note="40" file="food/E01009C.WMF.svg"/>
+ <svglayer note="41" file="food/E01030B.WMF.svg"/>
+ <svglayer note="42" file="food/E01031B.WMF.svg"/>
+ <svglayer note="43" file="food/E01032B.WMF.svg"/>
+ <svglayer note="44" file="food/E01033B.WMF.svg"/>
+ <svglayer note="45" file="food/E01034B.WMF.svg"/>
+ <svglayer note="46" file="food/E01035C.WMF.svg"/>
+ <svglayer note="47" file="food/E01036B.WMF.svg"/>
+ <svglayer note="48" file="food/E01037B.WMF.svg"/>
+ <svglayer note="49" file="food/E01038B.WMF.svg"/>
+ <svglayer note="50" file="food/E01039B.WMF.svg"/>
+ <svglayer note="51" file="food/E01040B.WMF.svg"/>
+ <svglayer note="52" file="food/E01041B.WMF.svg"/>
+ <svglayer note="53" file="food/E01042C.WMF.svg"/>
+ <svglayer note="54" file="food/E01043C.WMF.svg"/>
+ <svglayer note="55" file="food/E01044B.WMF.svg"/>
+ <svglayer note="56" file="food/E01045B.WMF.svg"/>
+ <svglayer note="57" file="food/E01046B.WMF.svg"/>
+ <svglayer note="58" file="food/E01047B.WMF.svg"/>
+ <svglayer note="59" file="food/E01048B.WMF.svg"/>
+ <svglayer note="60" file="food/E01049C.WMF.svg"/>
+ <svglayer note="61" file="food/E01050B.WMF.svg"/>
+ <svglayer note="62" file="food/E01051B.WMF.svg"/>
+ <svglayer note="63" file="food/E01052B.WMF.svg"/>
+ <svglayer note="64" file="food/E01053B.WMF.svg"/>
+ <svglayer note="65" file="food/E01054B.WMF.svg"/>
+ <svglayer note="66" file="food/E01055B.WMF.svg"/>
+ <svglayer note="67" file="food/E01056B.WMF.svg"/>
+ <svglayer note="68" file="food/E01057C.WMF.svg"/>
+ <svglayer note="69" file="food/E01058B.WMF.svg"/>
+ <svglayer note="70" file="food/E01059B.WMF.svg"/>
+ <svglayer note="71" file="food/E01060B.WMF.svg"/>
+ <svglayer note="72" file="food/E01061C.WMF.svg"/>
+ <svglayer note="73" file="food/E01062C.WMF.svg"/>
+ <svglayer note="74" file="food/E01063B.WMF.svg"/>
+ <svglayer note="75" file="food/E01064C.WMF.svg"/>
+ <svglayer note="76" file="food/E01065B.WMF.svg"/>
+ <svglayer note="77" file="food/E01066B.WMF.svg"/>
+ <svglayer note="78" file="food/E01067B.WMF.svg"/>
+ <svglayer note="79" file="food/E01068B.WMF.svg"/>
+ <svglayer note="80" file="food/E01069B.WMF.svg"/>
+ <svglayer note="81" file="food/E01070C.WMF.svg"/>
+ <svglayer note="82" file="food/E06012C.WMF.svg"/>
+ <svglayer note="83" file="food/E06025B.WMF.svg"/>
+ <svglayer note="84" file="food/FD001348.WMF.svg"/>
+ <svglayer note="85" file="food/FD001349.WMF.svg"/>
+ <svglayer note="86" file="food/FD001350.WMF.svg"/>
+ <svglayer note="87" file="food/FD001351.WMF.svg"/>
+ <svglayer note="88" file="food/FD001352.WMF.svg"/>
+ <svglayer note="89" file="food/FD001353.WMF.svg"/>
+ <svglayer note="90" file="food/FD001354.WMF.svg"/>
+ <svglayer note="91" file="food/FD001355.WMF.svg"/>
+ <svglayer note="92" file="food/FD001356.WMF.svg"/>
+ <svglayer note="93" file="food/FD001357.WMF.svg"/>
+ <svglayer note="94" file="food/FD001378.WMF.svg"/>
+ <svglayer note="95" file="food/FD001394.WMF.svg"/>
+ <svglayer note="96" file="food/FD001395.WMF.svg"/>
+ <svglayer note="97" file="food/FD001396.WMF.svg"/>
+ <svglayer note="98" file="food/FD001397.WMF.svg"/>
+ <svglayer note="99" file="food/FD001398.WMF.svg"/>
+ <svglayer note="100" file="food/FD001399.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/mil_historic.xml b/liveengine/bin/data/mil_historic.xml
index 7845e80..3f8f9e7 100644
--- a/liveengine/bin/data/mil_historic.xml
+++ b/liveengine/bin/data/mil_historic.xml
@@ -1,64 +1,68 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<playlist>
- <svglayer note="36" file="mil_historic/LD01187A.WMF.svg"/>
- <svglayer note="37" file="mil_historic/LD01196A.WMF.svg"/>
- <svglayer note="38" file="mil_historic/LD01225A.WMF.svg"/>
- <svglayer note="39" file="mil_historic/LD01226A.WMF.svg"/>
- <svglayer note="40" file="mil_historic/LD01227A.WMF.svg"/>
- <svglayer note="41" file="mil_historic/LD01228A.WMF.svg"/>
- <svglayer note="42" file="mil_historic/LD01229A.WMF.svg"/>
- <svglayer note="43" file="mil_historic/LD01230A.WMF.svg"/>
- <svglayer note="44" file="mil_historic/LD01231A.WMF.svg"/>
- <svglayer note="45" file="mil_historic/LD01232A.WMF.svg"/>
- <svglayer note="46" file="mil_historic/LD01233A.WMF.svg"/>
- <svglayer note="47" file="mil_historic/LD01234A.WMF.svg"/>
- <svglayer note="48" file="mil_historic/LD01235A.WMF.svg"/>
- <svglayer note="49" file="mil_historic/LD01236A.WMF.svg"/>
- <svglayer note="50" file="mil_historic/LD01237A.WMF.svg"/>
- <svglayer note="51" file="mil_historic/LD01238A.WMF.svg"/>
- <svglayer note="52" file="mil_historic/LD01239A.WMF.svg"/>
- <svglayer note="53" file="mil_historic/LD01243A.WMF.svg"/>
- <svglayer note="54" file="mil_historic/LD01244A.WMF.svg"/>
- <svglayer note="55" file="mil_historic/LD01246A.WMF.svg"/>
- <svglayer note="56" file="mil_historic/LD01248A.WMF.svg"/>
- <svglayer note="57" file="mil_historic/LD01258A.WMF.svg"/>
- <svglayer note="58" file="mil_historic/LD01263A.WMF.svg"/>
- <svglayer note="59" file="mil_historic/LD01265A.WMF.svg"/>
- <svglayer note="60" file="mil_historic/LD01268A.WMF.svg"/>
- <svglayer note="61" file="mil_historic/LD01273A.WMF.svg"/>
- <svglayer note="62" file="mil_historic/LD01274A.WMF.svg"/>
- <svglayer note="63" file="mil_historic/LD01277A.WMF.svg"/>
- <svglayer note="64" file="mil_historic/LD01278A.WMF.svg"/>
- <svglayer note="65" file="mil_historic/LD01279A.WMF.svg"/>
- <svglayer note="66" file="mil_historic/LD01283A.WMF.svg"/>
- <svglayer note="67" file="mil_historic/LD01286A.WMF.svg"/>
- <svglayer note="68" file="mil_historic/LD01287A.WMF.svg"/>
- <svglayer note="69" file="mil_historic/LD01301A.WMF.svg"/>
- <svglayer note="70" file="mil_historic/LD01351A.WMF.svg"/>
- <svglayer note="71" file="mil_historic/LD01359A.WMF.svg"/>
- <svglayer note="72" file="mil_historic/LD01360A.WMF.svg"/>
- <svglayer note="73" file="mil_historic/LD01364A.WMF.svg"/>
- <svglayer note="74" file="mil_historic/LD01365A.WMF.svg"/>
- <svglayer note="75" file="mil_historic/LD01366A.WMF.svg"/>
- <svglayer note="76" file="mil_historic/LD01367A.WMF.svg"/>
- <svglayer note="77" file="mil_historic/LD01378A.WMF.svg"/>
- <svglayer note="78" file="mil_historic/LD15002A.WMF.svg"/>
- <svglayer note="79" file="mil_historic/LD15003A.WMF.svg"/>
- <svglayer note="80" file="mil_historic/LD15005A.WMF.svg"/>
- <svglayer note="81" file="mil_historic/LD15007A.WMF.svg"/>
- <svglayer note="82" file="mil_historic/LD15008A.WMF.svg"/>
- <svglayer note="83" file="mil_historic/LD15009A.WMF.svg"/>
- <svglayer note="84" file="mil_historic/LD15010A.WMF.svg"/>
- <svglayer note="85" file="mil_historic/LD15014A.WMF.svg"/>
- <svglayer note="86" file="mil_historic/LD15018A.WMF.svg"/>
- <svglayer note="87" file="mil_historic/LD15019A.WMF.svg"/>
- <svglayer note="88" file="mil_historic/LD15020A.WMF.svg"/>
- <svglayer note="89" file="mil_historic/LD15021A.WMF.svg"/>
- <svglayer note="90" file="mil_historic/LD15022A.WMF.svg"/>
- <svglayer note="91" file="mil_historic/LD15023A.WMF.svg"/>
- <svglayer note="92" file="mil_historic/LD25001A.WMF.svg"/>
- <svglayer note="93" file="mil_historic/LD25003A.WMF.svg"/>
- <svglayer note="94" file="mil_historic/LD41001B.WMF.svg"/>
-
-</playlist>
-
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="mil_historic/LD01187A.WMF.svg"/>
+ <svglayer note="37" file="mil_historic/LD01196A.WMF.svg"/>
+ <svglayer note="38" file="mil_historic/LD01225A.WMF.svg"/>
+ <svglayer note="39" file="mil_historic/LD01226A.WMF.svg"/>
+ <svglayer note="40" file="mil_historic/LD01228A.WMF.svg"/>
+ <svglayer note="41" file="mil_historic/LD01229A.WMF.svg"/>
+ <svglayer note="42" file="mil_historic/LD01230A.WMF.svg"/>
+ <svglayer note="43" file="mil_historic/LD01231A.WMF.svg"/>
+ <svglayer note="44" file="mil_historic/LD01232A.WMF.svg"/>
+ <svglayer note="45" file="mil_historic/LD01233A.WMF.svg"/>
+ <svglayer note="46" file="mil_historic/LD01234A.WMF.svg"/>
+ <svglayer note="47" file="mil_historic/LD01235A.WMF.svg"/>
+ <svglayer note="48" file="mil_historic/LD01236A.WMF.svg"/>
+ <svglayer note="49" file="mil_historic/LD01237A.WMF.svg"/>
+ <svglayer note="50" file="mil_historic/LD01238A.WMF.svg"/>
+ <svglayer note="51" file="mil_historic/LD01239A.WMF.svg"/>
+ <svglayer note="52" file="mil_historic/LD01243A.WMF.svg"/>
+ <svglayer note="53" file="mil_historic/LD01244A.WMF.svg"/>
+ <svglayer note="54" file="mil_historic/LD01246A.WMF.svg"/>
+ <svglayer note="55" file="mil_historic/LD01248A.WMF.svg"/>
+ <svglayer note="56" file="mil_historic/LD01258A.WMF.svg"/>
+ <svglayer note="57" file="mil_historic/LD01263A.WMF.svg"/>
+ <svglayer note="58" file="mil_historic/LD01265A.WMF.svg"/>
+ <svglayer note="59" file="mil_historic/LD01268A.WMF.svg"/>
+ <svglayer note="60" file="mil_historic/LD01273A.WMF.svg"/>
+ <svglayer note="61" file="mil_historic/LD01274A.WMF.svg"/>
+ <svglayer note="62" file="mil_historic/LD01277A.WMF.svg"/>
+ <svglayer note="63" file="mil_historic/LD01278A.WMF.svg"/>
+ <svglayer note="64" file="mil_historic/LD01279A.WMF.svg"/>
+ <svglayer note="65" file="mil_historic/LD01283A.WMF.svg"/>
+ <svglayer note="66" file="mil_historic/LD01286A.WMF.svg"/>
+ <svglayer note="67" file="mil_historic/LD01287A.WMF.svg"/>
+ <svglayer note="68" file="mil_historic/LD01301A.WMF.svg"/>
+ <svglayer note="69" file="mil_historic/LD01351A.WMF.svg"/>
+ <svglayer note="70" file="mil_historic/LD01359A.WMF.svg"/>
+ <svglayer note="71" file="mil_historic/LD01360A.WMF.svg"/>
+ <svglayer note="72" file="mil_historic/LD01364A.WMF.svg"/>
+ <svglayer note="73" file="mil_historic/LD01365A.WMF.svg"/>
+ <svglayer note="74" file="mil_historic/LD01366A.WMF.svg"/>
+ <svglayer note="75" file="mil_historic/LD01367A.WMF.svg"/>
+ <svglayer note="76" file="mil_historic/LD01378A.WMF.svg"/>
+ <svglayer note="77" file="mil_historic/LD01380A.WMF.svg"/>
+ <svglayer note="78" file="mil_historic/LD01381A.WMF.svg"/>
+ <svglayer note="79" file="mil_historic/LD01385A.WMF.svg"/>
+ <svglayer note="80" file="mil_historic/LD01388A.WMF.svg"/>
+ <svglayer note="81" file="mil_historic/LD01389A.WMF.svg"/>
+ <svglayer note="82" file="mil_historic/LD01392A.WMF.svg"/>
+ <svglayer note="83" file="mil_historic/LD01395A.WMF.svg"/>
+ <svglayer note="84" file="mil_historic/LD01397A.WMF.svg"/>
+ <svglayer note="85" file="mil_historic/LD15002A.WMF.svg"/>
+ <svglayer note="86" file="mil_historic/LD15003A.WMF.svg"/>
+ <svglayer note="87" file="mil_historic/LD15004A.WMF.svg"/>
+ <svglayer note="88" file="mil_historic/LD15005A.WMF.svg"/>
+ <svglayer note="89" file="mil_historic/LD15006A.WMF.svg"/>
+ <svglayer note="90" file="mil_historic/LD15007A.WMF.svg"/>
+ <svglayer note="91" file="mil_historic/LD15008A.WMF.svg"/>
+ <svglayer note="92" file="mil_historic/LD15009A.WMF.svg"/>
+ <svglayer note="93" file="mil_historic/LD15010A.WMF.svg"/>
+ <svglayer note="94" file="mil_historic/LD15014A.WMF.svg"/>
+ <svglayer note="95" file="mil_historic/LD15018A.WMF.svg"/>
+ <svglayer note="96" file="mil_historic/LD15019A.WMF.svg"/>
+ <svglayer note="97" file="mil_historic/LD15020A.WMF.svg"/>
+ <svglayer note="98" file="mil_historic/LD15021A.WMF.svg"/>
+ <svglayer note="99" file="mil_historic/LD15022A.WMF.svg"/>
+ <svglayer note="100" file="mil_historic/LD15023A.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/panel.xml b/liveengine/bin/data/panel.xml
new file mode 100644
index 0000000..ee87c83
--- /dev/null
+++ b/liveengine/bin/data/panel.xml
@@ -0,0 +1,4 @@
+<reverse_main>0</reverse_main>
+<control_colours>0</control_colours>
+<randomise_note_colours>1</randomise_note_colours>
+<transparent_black>0</transparent_black>
diff --git a/liveengine/bin/data/tools.xml b/liveengine/bin/data/tools.xml
new file mode 100644
index 0000000..f18f439
--- /dev/null
+++ b/liveengine/bin/data/tools.xml
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="tools/Bit0605.wmf.svg"/>
+ <svglayer note="37" file="tools/Bit0607.wmf.svg"/>
+ <svglayer note="38" file="tools/Bit0608.wmf.svg"/>
+ <svglayer note="39" file="tools/CAPNUTS.WMF.svg"/>
+ <svglayer note="40" file="tools/CAPSCR01.WMF.svg"/>
+ <svglayer note="41" file="tools/CAPSCR02.WMF.svg"/>
+ <svglayer note="42" file="tools/CAPSCR03.WMF.svg"/>
+ <svglayer note="43" file="tools/CAPSCR04.WMF.svg"/>
+ <svglayer note="44" file="tools/CAPSCR06.WMF.svg"/>
+ <svglayer note="45" file="tools/CARSCRW.WMF.svg"/>
+ <svglayer note="46" file="tools/CONECT07.WMF.svg"/>
+ <svglayer note="47" file="tools/CONECT08.WMF.svg"/>
+ <svglayer note="48" file="tools/CONECT10.WMF.svg"/>
+ <svglayer note="49" file="tools/CONECT24.WMF.svg"/>
+ <svglayer note="50" file="tools/CONECT25.WMF.svg"/>
+ <svglayer note="51" file="tools/CONECT30.WMF.svg"/>
+ <svglayer note="52" file="tools/CONECT33.WMF.svg"/>
+ <svglayer note="53" file="tools/CONECT34.WMF.svg"/>
+ <svglayer note="54" file="tools/CONECT35.WMF.svg"/>
+ <svglayer note="55" file="tools/COPLUG.WMF.svg"/>
+ <svglayer note="56" file="tools/MACSCR02.WMF.svg"/>
+ <svglayer note="57" file="tools/MATRL006.WMF.svg"/>
+ <svglayer note="58" file="tools/MATRL007.WMF.svg"/>
+ <svglayer note="59" file="tools/MATRL008.WMF.svg"/>
+ <svglayer note="60" file="tools/MATRL010.WMF.svg"/>
+ <svglayer note="61" file="tools/TAPSCR03.WMF.svg"/>
+ <svglayer note="62" file="tools/TEENUT.WMF.svg"/>
+ <svglayer note="63" file="tools/TERMIN01.WMF.svg"/>
+ <svglayer note="64" file="tools/TERMIN07.WMF.svg"/>
+ <svglayer note="65" file="tools/TERMIN10.WMF.svg"/>
+ <svglayer note="66" file="tools/TERMIN14.WMF.svg"/>
+ <svglayer note="67" file="tools/TERMIN15.WMF.svg"/>
+ <svglayer note="68" file="tools/TERMIN16.WMF.svg"/>
+ <svglayer note="69" file="tools/TERMIN20.WMF.svg"/>
+ <svglayer note="70" file="tools/TERMIN21.WMF.svg"/>
+ <svglayer note="71" file="tools/TERMIN25.WMF.svg"/>
+ <svglayer note="72" file="tools/TERMIN28.WMF.svg"/>
+ <svglayer note="73" file="tools/TERMIN29.WMF.svg"/>
+ <svglayer note="74" file="tools/TERMIN31.WMF.svg"/>
+ <svglayer note="75" file="tools/TERMIN33.WMF.svg"/>
+ <svglayer note="76" file="tools/TERMIN34.WMF.svg"/>
+ <svglayer note="77" file="tools/TERMIN35.WMF.svg"/>
+ <svglayer note="78" file="tools/TERMIN36.WMF.svg"/>
+ <svglayer note="79" file="tools/UDRIVE.WMF.svg"/>
+ <svglayer note="80" file="tools/Bit0605.wmf.svg"/>
+ <svglayer note="81" file="tools/Bit0607.wmf.svg"/>
+ <svglayer note="82" file="tools/Bit0608.wmf.svg"/>
+ <svglayer note="83" file="tools/CAPNUTS.WMF.svg"/>
+ <svglayer note="84" file="tools/CAPSCR01.WMF.svg"/>
+ <svglayer note="85" file="tools/CAPSCR02.WMF.svg"/>
+ <svglayer note="86" file="tools/CAPSCR03.WMF.svg"/>
+ <svglayer note="87" file="tools/CAPSCR04.WMF.svg"/>
+ <svglayer note="88" file="tools/CAPSCR06.WMF.svg"/>
+ <svglayer note="89" file="tools/CARSCRW.WMF.svg"/>
+ <svglayer note="90" file="tools/CONECT07.WMF.svg"/>
+ <svglayer note="91" file="tools/CONECT08.WMF.svg"/>
+ <svglayer note="92" file="tools/CONECT10.WMF.svg"/>
+ <svglayer note="93" file="tools/CONECT24.WMF.svg"/>
+ <svglayer note="94" file="tools/CONECT25.WMF.svg"/>
+ <svglayer note="95" file="tools/CONECT30.WMF.svg"/>
+ <svglayer note="96" file="tools/CONECT33.WMF.svg"/>
+ <svglayer note="97" file="tools/CONECT34.WMF.svg"/>
+ <svglayer note="98" file="tools/CONECT35.WMF.svg"/>
+ <svglayer note="99" file="tools/COPLUG.WMF.svg"/>
+ <svglayer note="100" file="tools/MACSCR02.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/trainers.xml b/liveengine/bin/data/trainers.xml
new file mode 100644
index 0000000..624be8d
--- /dev/null
+++ b/liveengine/bin/data/trainers.xml
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="trainers/adidas01.svg"/>
+ <svglayer note="37" file="trainers/adidas02.svg"/>
+ <svglayer note="38" file="trainers/adidas03.svg"/>
+ <svglayer note="39" file="trainers/adidas04.svg"/>
+ <svglayer note="40" file="trainers/adidas05.svg"/>
+ <svglayer note="41" file="trainers/adidas06.svg"/>
+ <svglayer note="42" file="trainers/hummel.svg"/>
+ <svglayer note="43" file="trainers/nb01.svg"/>
+ <svglayer note="44" file="trainers/nike01.svg"/>
+ <svglayer note="45" file="trainers/nike02.svg"/>
+ <svglayer note="46" file="trainers/puma01.svg"/>
+ <svglayer note="47" file="trainers/reebok01.svg"/>
+ <svglayer note="48" file="trainers/reebok02.svg"/>
+ <svglayer note="49" file="trainers/adidas01.svg"/>
+ <svglayer note="50" file="trainers/adidas02.svg"/>
+ <svglayer note="51" file="trainers/adidas03.svg"/>
+ <svglayer note="52" file="trainers/adidas04.svg"/>
+ <svglayer note="53" file="trainers/adidas05.svg"/>
+ <svglayer note="54" file="trainers/adidas06.svg"/>
+ <svglayer note="55" file="trainers/hummel.svg"/>
+ <svglayer note="56" file="trainers/nb01.svg"/>
+ <svglayer note="57" file="trainers/nike01.svg"/>
+ <svglayer note="58" file="trainers/nike02.svg"/>
+ <svglayer note="59" file="trainers/puma01.svg"/>
+ <svglayer note="60" file="trainers/reebok01.svg"/>
+ <svglayer note="61" file="trainers/reebok02.svg"/>
+ <svglayer note="62" file="trainers/adidas01.svg"/>
+ <svglayer note="63" file="trainers/adidas02.svg"/>
+ <svglayer note="64" file="trainers/adidas03.svg"/>
+ <svglayer note="65" file="trainers/adidas04.svg"/>
+ <svglayer note="66" file="trainers/adidas05.svg"/>
+ <svglayer note="67" file="trainers/adidas06.svg"/>
+ <svglayer note="68" file="trainers/hummel.svg"/>
+ <svglayer note="69" file="trainers/nb01.svg"/>
+ <svglayer note="70" file="trainers/nike01.svg"/>
+ <svglayer note="71" file="trainers/nike02.svg"/>
+ <svglayer note="72" file="trainers/puma01.svg"/>
+ <svglayer note="73" file="trainers/reebok01.svg"/>
+ <svglayer note="74" file="trainers/reebok02.svg"/>
+ <svglayer note="75" file="trainers/adidas01.svg"/>
+ <svglayer note="76" file="trainers/adidas02.svg"/>
+ <svglayer note="77" file="trainers/adidas03.svg"/>
+ <svglayer note="78" file="trainers/adidas04.svg"/>
+ <svglayer note="79" file="trainers/adidas05.svg"/>
+ <svglayer note="80" file="trainers/adidas06.svg"/>
+ <svglayer note="81" file="trainers/hummel.svg"/>
+ <svglayer note="82" file="trainers/nb01.svg"/>
+ <svglayer note="83" file="trainers/nike01.svg"/>
+ <svglayer note="84" file="trainers/nike02.svg"/>
+ <svglayer note="85" file="trainers/puma01.svg"/>
+ <svglayer note="86" file="trainers/reebok01.svg"/>
+ <svglayer note="87" file="trainers/reebok02.svg"/>
+ <svglayer note="88" file="trainers/adidas01.svg"/>
+ <svglayer note="89" file="trainers/adidas02.svg"/>
+ <svglayer note="90" file="trainers/adidas03.svg"/>
+ <svglayer note="91" file="trainers/adidas04.svg"/>
+ <svglayer note="92" file="trainers/adidas05.svg"/>
+ <svglayer note="93" file="trainers/adidas06.svg"/>
+ <svglayer note="94" file="trainers/hummel.svg"/>
+ <svglayer note="95" file="trainers/nb01.svg"/>
+ <svglayer note="96" file="trainers/nike01.svg"/>
+ <svglayer note="97" file="trainers/nike02.svg"/>
+ <svglayer note="98" file="trainers/puma01.svg"/>
+ <svglayer note="99" file="trainers/reebok01.svg"/>
+ <svglayer note="100" file="trainers/reebok02.svg"/>
+</playlist>
diff --git a/liveengine/liveengine.layout b/liveengine/liveengine.layout
index c4d9071..aad423f 100644
--- a/liveengine/liveengine.layout
+++ b/liveengine/liveengine.layout
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_layout_file>
<ActiveTarget name="Debug" />
- <File name="Makefile" open="1" top="0" tabpos="3">
+ <File name="Makefile" open="0" top="0" tabpos="3">
<Cursor position="0" topLine="36" />
</File>
- <File name="addons.make" open="0" top="0" tabpos="7">
- <Cursor position="53" topLine="0" />
+ <File name="addons.make" open="1" top="0" tabpos="3">
+ <Cursor position="60" topLine="0" />
</File>
<File name="bin/data/insects.xml" open="0" top="0" tabpos="9">
<Cursor position="3136" topLine="14" />
@@ -17,27 +17,27 @@
<Cursor position="192" topLine="0" />
</File>
<File name="src/layers.cpp" open="1" top="0" tabpos="2">
- <Cursor position="2259" topLine="58" />
+ <Cursor position="2259" topLine="55" />
</File>
<File name="src/layers.h" open="1" top="0" tabpos="1">
<Cursor position="995" topLine="10" />
</File>
- <File name="src/main.cpp" open="1" top="0" tabpos="5">
+ <File name="src/main.cpp" open="0" top="0" tabpos="5">
<Cursor position="42" topLine="0" />
</File>
- <File name="src/playlist.cpp" open="1" top="0" tabpos="7">
+ <File name="src/playlist.cpp" open="0" top="0" tabpos="7">
<Cursor position="985" topLine="2" />
</File>
- <File name="src/testApp.cpp" open="1" top="0" tabpos="6">
- <Cursor position="1874" topLine="38" />
+ <File name="src/testApp.cpp" open="1" top="1" tabpos="4">
+ <Cursor position="10314" topLine="351" />
</File>
- <File name="src/testApp.h" open="1" top="1" tabpos="4">
- <Cursor position="2322" topLine="59" />
+ <File name="src/testApp.h" open="0" top="0" tabpos="4">
+ <Cursor position="2322" topLine="74" />
</File>
- <File name="src/viewport.cpp" open="1" top="0" tabpos="9">
+ <File name="src/viewport.cpp" open="0" top="0" tabpos="9">
<Cursor position="926" topLine="6" />
</File>
- <File name="src/viewport.h" open="1" top="0" tabpos="8">
+ <File name="src/viewport.h" open="0" top="0" tabpos="8">
<Cursor position="272" topLine="0" />
</File>
</CodeBlocks_layout_file>
diff --git a/liveengine/src/layers.cpp b/liveengine/src/layers.cpp
index e69023b..6724255 100755
--- a/liveengine/src/layers.cpp
+++ b/liveengine/src/layers.cpp
@@ -11,11 +11,11 @@ svglayer::svglayer(string _f)
void svglayer::load(string _f){
//check if files exits
svg.load(_f);
- printf("%i paths\n",svg.getNumPath());
+ printf("%s: %i paths\n",_f.c_str(),svg.getNumPath());
for (int i=0;i<svg.getNumPath();i++) {
fills.push_back(svg.getPathAt(i).getFillColor());
strokes.push_back(svg.getPathAt(i).getStrokeColor());
- printf(" path %i: fill %08x stroke %08x\n",i,svg.getPathAt(i).getFillColor().getHex(),svg.getPathAt(i).getStrokeColor().getHex());
+ //printf(" path %i: fill %08x stroke %08x\n",i,svg.getPathAt(i).getFillColor().getHex(),svg.getPathAt(i).getStrokeColor().getHex());
}
isLoaded= (svg.getNumPath()>0);
}
@@ -26,19 +26,24 @@ void svglayer::getCentre(int cx,int cy) {
}
}
-void svglayer::draw(float a,int cx,int cy) {
+void svglayer::draw(float a,int cx,int cy,float colShift) {
getCentre(cx,cy);
- for (int i=0;i<svg.getNumPath();i++) {
- svg.getPathAt(i).setFillColor(fills[i]*a);
+ for (int i=0;i<svg.getNumPath();i++) {
+ ofColor c=fills[i]*a;
+ if (colShift>0.0f) {
+ c.setHue(fmod(c.getHue()+colShift,255.0f));
+ //printf ("shift from %f to %f\n",c.getHue(),c.getHue()+colShift);
+ }
+ svg.getPathAt(i).setFillColor(c);
svg.getPathAt(i).draw(xo,yo);
}
}
-void svglayer::draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack) {
+void svglayer::draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack,float colShift) {
getCentre(cx,cy);
//draw layers tinted by controllers
for (int i=0;i<svg.getNumPath();i++) {
- float h=fills[i].getHue();
+ float h=fmod(fills[i].getHue()+colShift,255.0f);
float ha=h/42.7; //0-5
int h1=(((int)ha)+2)%6;
int h2=h1+1;
@@ -77,14 +82,14 @@ WTF is going on with the image drawing
*/
-void imglayer::draw(float a,int cx,int cy) {
+void imglayer::draw(float a,int cx,int cy,float colShift) {
//if (img.isAllocated()) if (!img.isUsingTexture()) img.setUseTexture(true); //has to be done from the main thread? still doesn't work
img.draw(0,0,ofGetWidth(),ofGetHeight());
printf("drawing %f\n",ofGetElapsedTimef());
}
-void imglayer::draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack=false) {
- imglayer::draw(a,cx,cy);
+void imglayer::draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack=false,float colShift=0.0f) {
+ imglayer::draw(a,cx,cy,colShift);
}
diff --git a/liveengine/src/layers.h b/liveengine/src/layers.h
index 3218264..3a7883e 100755
--- a/liveengine/src/layers.h
+++ b/liveengine/src/layers.h
@@ -10,8 +10,8 @@ class layer
layer(string _f) {load(_f);};
virtual ~layer(){};
virtual void load(string _f){};
- virtual void draw(float a,int cx,int cy){};
- virtual void draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack=false){ draw(a,cx,cy);};
+ virtual void draw(float a,int cx,int cy,float colShift){};
+ virtual void draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack=false,float colShift=0.0f){ draw(a,cx,cy,colShift);};
bool getLoaded() {return isLoaded;};
protected:
bool isLoaded;
@@ -26,8 +26,8 @@ class svglayer: public layer
svglayer(string _f);
virtual ~svglayer();
void load(string _f);
- void draw(float a,int cx,int cy);
- void draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack=false);
+ void draw(float a,int cx,int cy,float colShift);
+ void draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack=false,float colShift=0.0f);
void getCentre(int cx,int cy);
protected:
private:
@@ -44,8 +44,8 @@ class imglayer: public layer
imglayer(string _f);
virtual ~imglayer();
void load(string _f);
- void draw(float a,int cx,int cy);
- void draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack);
+ void draw(float a,int cx,int cy,float colShift);
+ void draw(float a,unsigned char* controllers,int cx,int cy,bool transparentBlack,float colShift);
protected:
private:
ofImage img;
diff --git a/liveengine/src/testApp.cpp b/liveengine/src/testApp.cpp
index 07c34e4..7053421 100755
--- a/liveengine/src/testApp.cpp
+++ b/liveengine/src/testApp.cpp
@@ -12,6 +12,19 @@ void previewWindow::draw(){
}
//--------------------------------------------------------------
+guiWindow::~guiWindow(){
+ cout << "gui window destroyed" << endl;
+}
+void guiWindow::setup(){}
+void guiWindow::setGui(ofxPanel *panel){
+ gui=panel;
+}
+void guiWindow::draw(){
+
+ gui->draw();
+
+}
+//--------------------------------------------------------------
void testApp::setup(){
int midiPort=0;
midiChannel=0;
@@ -39,13 +52,15 @@ void testApp::setup(){
note=0;
makeColours();
+
+ colShift=0;
controlColours=false;
debug=false;
noteRandomiseColours=false;
transparentBlack=false;
reversemain=false;
-
+
vp1.setup(768,1024,1024,0,-90,-256,-384);
vp2.setup(1024,768,0,0,0,-512,-384);
@@ -78,8 +93,8 @@ void testApp::setup(){
fscale=1.0f;
- //window stuff
- ofxFenster* win=ofxFensterManager::get()->createFenster(0, 0, 600, 800, OF_WINDOW);
+ //preview window stuff
+ win=ofxFensterManager::get()->createFenster(0, 0, 600, 800, OF_WINDOW);
ofAddListener(win->events.mouseDragged, this, &testApp::mousePressedEvent);
ofAddListener(win->events.mousePressed, this, &testApp::mousePressedEvent);
ofAddListener(win->events.keyPressed, this, &testApp::keyPressedEvent);
@@ -89,12 +104,42 @@ void testApp::setup(){
prevWin.setBuffer(&vp1.rb2);
fullscreenoutput=false;
+
+ gui.setup("","panel.xml",0,0);
+ gui.add(reversemain.setup("reverse main", false));
+ gui.add(controlColours.setup("control colours", false));
+ gui.add(noteRandomiseColours.setup("randomise note colours", false));
+ gui.add(transparentBlack.setup("transparent black", false));
+ gui.add(resetDrawscale.setup("reset draw scale"));
+ gui.add(resetFBscale.setup("reset FB scale"));
+
+ resetDrawscale.addListener(this,&testApp::resetDrawscalePressed);
+ resetFBscale.addListener(this,&testApp::resetFBscalePressed);
+
+ //gui window stuff
+ ofxFenster* win2=ofxFensterManager::get()->createFenster(0, 0, 200, 400, OF_WINDOW);
+ //ofAddListener(win2->events.mouseDragged, this, &testApp::mousePressedEvent);
+ //ofAddListener(win2->events.mousePressed, this, &testApp::mousePressedEvent);
+ //ofAddListener(win2->events.keyPressed, this, &testApp::keyPressedEvent);
+ win2->setWindowTitle("config");
+ win2->addListener(&guiWin);
+ guiWin.setup();
+ guiWin.setGui(&gui);
+
}
+void testApp::resetDrawscalePressed(bool & pressed){
+ scale=1.0f;
+}
+void testApp::resetFBscalePressed(bool & pressed){
+ fscale=1.0f;
+}
+
void testApp::makeColours() {
controller_colours=new ofColor[NUM_CONTROLLERS];
for (int i=0;i<NUM_CONTROLLERS;i++) controller_colours[i]=ofColor::fromHsb(ofRandom(255), 255, 255);
+ colShift=ofRandom(255.0f);
}
//--------------------------------------------------------------
void testApp::update(){
@@ -103,14 +148,14 @@ void testApp::update(){
//--------------------------------------------------------------
void testApp::draw(){
-
+
float lambda=max(0.0f,1.0f-((ofGetElapsedTimef()-lastnoteTime)/decayTime));
-
+
ofSetColor(255-fadetime,255-fadetime,255-fadetime); //for feedback
- vp1.draw(lambda,controllers,xshift,yshift,list,transparentBlack,note,mode,controller_colours,controlColours,scale,fscale);
- vp2.draw(lambda,controllers,reversemain?-xshift:xshift,yshift,list,transparentBlack,note,mode,controller_colours,controlColours,reversemain?1.0f/scale:scale,reversemain?1.0f/fscale:fscale);
-
+ vp1.draw(lambda,controllers,xshift,yshift,list,transparentBlack,note,mode,controller_colours,controlColours,scale,fscale,noteRandomiseColours?colShift:0.0f);
+ vp2.draw(lambda,controllers,reversemain?-xshift:xshift,yshift,list,transparentBlack,note,mode,controller_colours,controlColours,reversemain?1.0f/scale:scale,reversemain?1.0f/fscale:fscale,noteRandomiseColours?colShift:0.0f);
+
ofSetColor(255,255,255);
if (showFPS) ofDrawBitmapString(ofToString(ofGetFrameRate(), 2),20,20);
@@ -133,7 +178,7 @@ void testApp::draw(){
float notewidth=rb1.getWidth()/NUM_NOTES;
float noteheight=rb1.getHeight()/NUM_CONTROLLERS;
-
+
if (note>0) {
switch(mode) {
@@ -173,7 +218,7 @@ void testApp::draw(){
rb2.end();
rb2.draw(1024,0);
-
+
rb3.begin(); //landscape
@@ -187,7 +232,7 @@ void testApp::draw(){
notewidth=rb3.getHeight()/NUM_NOTES;
noteheight=rb3.getWidth()/NUM_CONTROLLERS;
-
+
ofPushMatrix();
ofTranslate(rb3.getWidth(),rb3.getHeight()/2);
ofRotate(90);
@@ -218,7 +263,7 @@ void testApp::draw(){
break;
}
}
-
+
ofPopMatrix();
//for (int i=0;i<numLayers;i++) layers[i]->draw();
@@ -233,9 +278,9 @@ void testApp::draw(){
rb4.end();
rb4.draw(0,0);
-
+
*/
-
+
/* test screen shape
ofSetColor(255,0,0);
ofRect(0,0,1024,768);
@@ -282,6 +327,9 @@ void testApp::keyPressed(int key){
if(key == 't'){
list.load("reptiles.xml");
}
+ if(key == 'T'){
+ list.load("tools.xml");
+ }
if(key == 'y'){
list.load("miltary_ladies.xml");
}
@@ -291,6 +339,9 @@ void testApp::keyPressed(int key){
if(key == 'u'){
list.load("knights.xml");
}
+ if(key == 'U'){
+ list.load("food.xml");
+ }
if(key == 'i'){
list.load("mil_historic.xml");
}
@@ -300,6 +351,9 @@ void testApp::keyPressed(int key){
if(key == 'o'){
list.load("yoga.xml");
}
+ if(key == 'O'){
+ list.load("computers.xml");
+ }
if(key == 'p'){
list.load("dancing.xml");
}
@@ -317,24 +371,20 @@ void testApp::keyPressed(int key){
mode=key-'0';
}
if(key == 267){
- yshift++;
+ xshift--;
}
if(key == 268){
- yshift--;
+ xshift++;
}
if(key == 269){
- xshift--;
+ yshift--;
}
if(key == 270){
- xshift++;
+ yshift++;
}
if(key == '='){
makeColours();
}
- if(key == '-'){
- controlColours=!controlColours;
- printf("%s control colours\n",controlColours?"do":"don't");
- }
if(key == '+'){
fadetime=min(128,fadetime+1);
}
@@ -358,25 +408,14 @@ void testApp::keyPressed(int key){
if(key == 'd'){
debug=!debug;
}
- if(key == 'l'){
- noteRandomiseColours=!noteRandomiseColours;
- printf("%s randomise colours\n",noteRandomiseColours?"do":"don't");
- }
- if (key=='k') {
- transparentBlack=!transparentBlack;
- printf("%s transparent black\n",transparentBlack?"use":"don't use");
- }
+
if (key=='j') {
fscale=1.0f;
}
if (key=='h') {
scale=1.0f;
}
- if (key=='h') {
- reversemain=!reversemain;
- printf("%s main screen\n",reversemain?"reversing":"not reversing");
- }
-
+
}
//--------------------------------------------------------------
@@ -418,18 +457,18 @@ void testApp::dragEvent(ofDragInfo dragInfo){
}
void testApp::mousePressedEvent(ofMouseEventArgs &args) {
- //printf("mouse: %i,%i %i of %ix%i\n",args.x,args.y,args.button,ofGetWidth(),ofGetHeight());
+ //printf("mouse: %i,%i %i of %ix%i\n",args.x,args.y,args.button,win->getWidth(),win->getHeight());
//0-2
switch (args.button) {
case 0:
- xshift=args.x-(ofGetWidth()/2);
- yshift=args.y-(ofGetHeight()/2);
+ xshift=args.x-(win->getWidth()/2);
+ yshift=args.y-(win->getHeight()/2);
break;
case 1:
- scale=pow(pow(args.x-(ofGetWidth()/2),2)+pow(args.y-(ofGetHeight()/2),2),0.5)/(ofGetWidth()*.1);
+ scale=pow(pow(args.x-(win->getWidth()/2),2)+pow(args.y-(win->getHeight()/2),2),0.5)/(win->getWidth()*.1);
break;
case 2:
- fscale=(pow(pow(args.x-(ofGetWidth()/2),2)+pow(args.y-(ofGetHeight()/2),2),0.5)/(ofGetWidth()))+0.5;
+ fscale=(pow(pow(args.x-(win->getWidth()/2),2)+pow(args.y-(win->getHeight()/2),2),0.5)/(win->getWidth()))+0.5;
break;
}
}
@@ -472,7 +511,9 @@ void testApp::newMidiMessage(ofxMidiEventArgs& eventArgs){
if (debug) printf("note: %i %i\n",eventArgs.byteOne,eventArgs.byteTwo);
note=eventArgs.byteOne;
lastnoteTime=ofGetElapsedTimef();
- if (noteRandomiseColours) makeColours();
+ if (noteRandomiseColours) {
+ makeColours(); //
+ }
break;
case 176: //control change channel 0
//for (int i=0;i<numLayers;i++){
diff --git a/liveengine/src/testApp.h b/liveengine/src/testApp.h
index 27380af..0da5eae 100755
--- a/liveengine/src/testApp.h
+++ b/liveengine/src/testApp.h
@@ -73,6 +73,8 @@ option to randomise colours on each note
#include "ofxMidi.h"
#include "ofxFensterManager.h"
+#include "ofxGui.h"
+
#include "viewport.h"
@@ -85,6 +87,16 @@ public:
void draw();
};
+class guiWindow: public ofxFensterListener{
+public:
+ ~guiWindow();
+ ofxPanel *gui;
+ void setup();
+ void setGui(ofxPanel *panel);
+ void draw();
+};
+
+
//#define GRAB_TEXTURE
class testApp : public ofxFensterListener, public ofxMidiListener{
@@ -121,11 +133,7 @@ class testApp : public ofxFensterListener, public ofxMidiListener{
//to be moved into svg object gui
- bool debug, controlColours;
- bool noteRandomiseColours;
- bool transparentBlack;
-
- bool reversemain;
+ bool debug;
bool fullscreenoutput;
@@ -139,11 +147,16 @@ class testApp : public ofxFensterListener, public ofxMidiListener{
int xshift,yshift;
ofColor* controller_colours;
+
+ float colShift;
viewport vp1,vp2;
previewWindow prevWin;
-
+ guiWindow guiWin;
+
+ ofxFenster* win;
+
int midiChannel;
ofxMidiIn midiIn;
@@ -151,6 +164,18 @@ class testApp : public ofxFensterListener, public ofxMidiListener{
void newMidiMessage(ofxMidiEventArgs& eventArgs);
playlist list;
+
+ ofxPanel gui;
+ ofxToggle reversemain;
+ ofxToggle controlColours;
+ ofxToggle noteRandomiseColours;
+ ofxToggle transparentBlack;
+ ofxButton resetDrawscale;
+ ofxButton resetFBscale;
+
+ void resetDrawscalePressed(bool & pressed);
+ void resetFBscalePressed(bool & pressed);
+
};
diff --git a/liveengine/src/viewport.cpp b/liveengine/src/viewport.cpp
index 74333b0..ce67b37 100755
--- a/liveengine/src/viewport.cpp
+++ b/liveengine/src/viewport.cpp
@@ -21,7 +21,7 @@ void viewport::setup(int _w,int _h,int _x,int _y,float _r,int _ox,int _oy) {
printf("%ix%i, vp offset: %f,%f\n",w,h,-(sin(ofDegToRad(r))*h/2)-(cos(ofDegToRad(r))*w/2),-(sin(ofDegToRad(r))*w/2)-(cos(ofDegToRad(r))*h/2));
}
-void viewport::draw(float a,unsigned char* controllers,int xshift,int yshift,playlist &list,bool transparentBlack,int note,int mode,ofColor* controller_colours,bool controlColours,float scale,float fscale){
+void viewport::draw(float a,unsigned char* controllers,int xshift,int yshift,playlist &list,bool transparentBlack,int note,int mode,ofColor* controller_colours,bool controlColours,float scale,float fscale,float colShift){
@@ -70,8 +70,8 @@ void viewport::draw(float a,unsigned char* controllers,int xshift,int yshift,pla
ofTranslate(w/2,h/2);
ofScale(scale,scale,scale);
ofTranslate(-w/2,-h/2);
- if (controlColours) list.layers[note]->draw(a,controllers,w,h,transparentBlack);
- else list.layers[note]->draw(a,w,h);
+ if (controlColours) list.layers[note]->draw(a,controllers,w,h,transparentBlack,colShift);
+ else list.layers[note]->draw(a,w,h,colShift);
ofPopMatrix();
}
list.unlock();
diff --git a/liveengine/src/viewport.h b/liveengine/src/viewport.h
index 5d990a0..4f29a5b 100755
--- a/liveengine/src/viewport.h
+++ b/liveengine/src/viewport.h
@@ -20,7 +20,7 @@ class viewport
public:
viewport();
void setup(int w,int h,int x, int y,float r,int _ox,int _oy);
- void draw(float a,unsigned char* controllers,int xshift,int yshift,playlist &list,bool transparentBlack,int note,int mode,ofColor* controller_colours,bool controlColours,float scale,float fscale);
+ void draw(float a,unsigned char* controllers,int xshift,int yshift,playlist &list,bool transparentBlack,int note,int mode,ofColor* controller_colours,bool controlColours,float scale,float fscale,float colShift);
virtual ~viewport();
ofFbo rb1,rb2;
float r;