summaryrefslogtreecommitdiff
path: root/liveengine
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2012-09-14 19:24:39 +0100
committerTim Redfern <tim@eclectronics.org>2012-09-14 19:24:39 +0100
commit4fda3af17e55c0afff35b3f3ebbe5b4fd1ffad7e (patch)
treeca47926461a8c7176c3542ff7734ec74833abdba /liveengine
parent639dfe9190c06bba4dced32f282ad1fddc573b59 (diff)
working nicely multiscreen
Diffstat (limited to 'liveengine')
-rw-r--r--liveengine/bin/data/american_football.xml68
-rw-r--r--liveengine/bin/data/birds.xml67
-rw-r--r--liveengine/bin/data/crests.xml68
-rw-r--r--liveengine/bin/data/cricket.xml68
-rw-r--r--liveengine/bin/data/dancing.xml118
-rwxr-xr-xliveengine/bin/data/makeplaylist.py28
-rw-r--r--liveengine/bin/data/military_ethnic.xml68
-rw-r--r--liveengine/bin/data/military_ladies.xml51
-rw-r--r--liveengine/bin/data/miltary_ladies.xml68
-rw-r--r--liveengine/bin/data/organs.xml132
-rw-r--r--liveengine/bin/data/teamsports.xml68
-rw-r--r--liveengine/bin/data/test.svg76
-rw-r--r--liveengine/liveengine.layout8
-rwxr-xr-x[-rw-r--r--]liveengine/src/layers.cpp31
-rwxr-xr-x[-rw-r--r--]liveengine/src/layers.h5
-rwxr-xr-xliveengine/src/main.cpp2
-rwxr-xr-xliveengine/src/testApp.cpp157
-rwxr-xr-xliveengine/src/testApp.h17
18 files changed, 813 insertions, 287 deletions
diff --git a/liveengine/bin/data/american_football.xml b/liveengine/bin/data/american_football.xml
new file mode 100644
index 0000000..16b5588
--- /dev/null
+++ b/liveengine/bin/data/american_football.xml
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="american_football/FOOTB004.WMF.svg"/>
+ <svglayer note="37" file="american_football/FOOTB005.WMF.svg"/>
+ <svglayer note="38" file="american_football/FOOTB006.WMF.svg"/>
+ <svglayer note="39" file="american_football/FOOTB008.WMF.svg"/>
+ <svglayer note="40" file="american_football/FOOTB009.WMF.svg"/>
+ <svglayer note="41" file="american_football/FOOTB011.WMF.svg"/>
+ <svglayer note="42" file="american_football/FOOTB012.WMF.svg"/>
+ <svglayer note="43" file="american_football/FOOTB013.WMF.svg"/>
+ <svglayer note="44" file="american_football/FOOTB014.WMF.svg"/>
+ <svglayer note="45" file="american_football/FOOTB015.WMF.svg"/>
+ <svglayer note="46" file="american_football/FOOTB016.WMF.svg"/>
+ <svglayer note="47" file="american_football/FOOTB017.WMF.svg"/>
+ <svglayer note="48" file="american_football/FOOTB018.WMF.svg"/>
+ <svglayer note="49" file="american_football/FOOTB019.WMF.svg"/>
+ <svglayer note="50" file="american_football/FOOTB020.WMF.svg"/>
+ <svglayer note="51" file="american_football/FOOTB027.WMF.svg"/>
+ <svglayer note="52" file="american_football/FOOTB028.WMF.svg"/>
+ <svglayer note="53" file="american_football/FOOTBALL.WMF.svg"/>
+ <svglayer note="54" file="american_football/FOOTB004.WMF.svg"/>
+ <svglayer note="55" file="american_football/FOOTB005.WMF.svg"/>
+ <svglayer note="56" file="american_football/FOOTB006.WMF.svg"/>
+ <svglayer note="57" file="american_football/FOOTB008.WMF.svg"/>
+ <svglayer note="58" file="american_football/FOOTB009.WMF.svg"/>
+ <svglayer note="59" file="american_football/FOOTB011.WMF.svg"/>
+ <svglayer note="60" file="american_football/FOOTB012.WMF.svg"/>
+ <svglayer note="61" file="american_football/FOOTB013.WMF.svg"/>
+ <svglayer note="62" file="american_football/FOOTB014.WMF.svg"/>
+ <svglayer note="63" file="american_football/FOOTB015.WMF.svg"/>
+ <svglayer note="64" file="american_football/FOOTB016.WMF.svg"/>
+ <svglayer note="65" file="american_football/FOOTB017.WMF.svg"/>
+ <svglayer note="66" file="american_football/FOOTB018.WMF.svg"/>
+ <svglayer note="67" file="american_football/FOOTB019.WMF.svg"/>
+ <svglayer note="68" file="american_football/FOOTB020.WMF.svg"/>
+ <svglayer note="69" file="american_football/FOOTB027.WMF.svg"/>
+ <svglayer note="70" file="american_football/FOOTB028.WMF.svg"/>
+ <svglayer note="71" file="american_football/FOOTBALL.WMF.svg"/>
+ <svglayer note="72" file="american_football/FOOTB004.WMF.svg"/>
+ <svglayer note="73" file="american_football/FOOTB005.WMF.svg"/>
+ <svglayer note="74" file="american_football/FOOTB006.WMF.svg"/>
+ <svglayer note="75" file="american_football/FOOTB008.WMF.svg"/>
+ <svglayer note="76" file="american_football/FOOTB009.WMF.svg"/>
+ <svglayer note="77" file="american_football/FOOTB011.WMF.svg"/>
+ <svglayer note="78" file="american_football/FOOTB012.WMF.svg"/>
+ <svglayer note="79" file="american_football/FOOTB013.WMF.svg"/>
+ <svglayer note="80" file="american_football/FOOTB014.WMF.svg"/>
+ <svglayer note="81" file="american_football/FOOTB015.WMF.svg"/>
+ <svglayer note="82" file="american_football/FOOTB016.WMF.svg"/>
+ <svglayer note="83" file="american_football/FOOTB017.WMF.svg"/>
+ <svglayer note="84" file="american_football/FOOTB018.WMF.svg"/>
+ <svglayer note="85" file="american_football/FOOTB019.WMF.svg"/>
+ <svglayer note="86" file="american_football/FOOTB020.WMF.svg"/>
+ <svglayer note="87" file="american_football/FOOTB027.WMF.svg"/>
+ <svglayer note="88" file="american_football/FOOTB028.WMF.svg"/>
+ <svglayer note="89" file="american_football/FOOTBALL.WMF.svg"/>
+ <svglayer note="90" file="american_football/FOOTB004.WMF.svg"/>
+ <svglayer note="91" file="american_football/FOOTB005.WMF.svg"/>
+ <svglayer note="92" file="american_football/FOOTB006.WMF.svg"/>
+ <svglayer note="93" file="american_football/FOOTB008.WMF.svg"/>
+ <svglayer note="94" file="american_football/FOOTB009.WMF.svg"/>
+ <svglayer note="95" file="american_football/FOOTB011.WMF.svg"/>
+ <svglayer note="96" file="american_football/FOOTB012.WMF.svg"/>
+ <svglayer note="97" file="american_football/FOOTB013.WMF.svg"/>
+ <svglayer note="98" file="american_football/FOOTB014.WMF.svg"/>
+ <svglayer note="99" file="american_football/FOOTB015.WMF.svg"/>
+ <svglayer note="100" file="american_football/FOOTB016.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/birds.xml b/liveengine/bin/data/birds.xml
new file mode 100644
index 0000000..9326acf
--- /dev/null
+++ b/liveengine/bin/data/birds.xml
@@ -0,0 +1,67 @@
+<?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"/>
+</playlist>
diff --git a/liveengine/bin/data/crests.xml b/liveengine/bin/data/crests.xml
new file mode 100644
index 0000000..011936b
--- /dev/null
+++ b/liveengine/bin/data/crests.xml
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="crests/AD003707.WMF.svg"/>
+ <svglayer note="37" file="crests/AG000251.WMF.svg"/>
+ <svglayer note="38" file="crests/AG000253.WMF.svg"/>
+ <svglayer note="39" file="crests/AG000254.WMF.svg"/>
+ <svglayer note="40" file="crests/AG000263.WMF.svg"/>
+ <svglayer note="41" file="crests/AG000265.WMF.svg"/>
+ <svglayer note="42" file="crests/AG000271.WMF.svg"/>
+ <svglayer note="43" file="crests/AG000599.WMF.svg"/>
+ <svglayer note="44" file="crests/AG000600.WMF.svg"/>
+ <svglayer note="45" file="crests/BCKMC055.WMF.svg"/>
+ <svglayer note="46" file="crests/CCM00607.WMF.svg"/>
+ <svglayer note="47" file="crests/CCM00612.WMF.svg"/>
+ <svglayer note="48" file="crests/CREST003.WMF.svg"/>
+ <svglayer note="49" file="crests/CREST004.WMF.svg"/>
+ <svglayer note="50" file="crests/CREST005.WMF.svg"/>
+ <svglayer note="51" file="crests/CREST006.WMF.svg"/>
+ <svglayer note="52" file="crests/CREST009.WMF.svg"/>
+ <svglayer note="53" file="crests/DSGNC050.WMF.svg"/>
+ <svglayer note="54" file="crests/DSGNC098.WMF.svg"/>
+ <svglayer note="55" file="crests/DSGNC181.WMF.svg"/>
+ <svglayer note="56" file="crests/DSGNN037.WMF.svg"/>
+ <svglayer note="57" file="crests/DSGNN093.WMF.svg"/>
+ <svglayer note="58" file="crests/DSGNN103.WMF.svg"/>
+ <svglayer note="59" file="crests/EG_DEMI3.WMF.svg"/>
+ <svglayer note="60" file="crests/EG_HEAD.WMF.svg"/>
+ <svglayer note="61" file="crests/EG_HEAD4.WMF.svg"/>
+ <svglayer note="62" file="crests/NA0425.WMF.svg"/>
+ <svglayer note="63" file="crests/NA0426.WMF.svg"/>
+ <svglayer note="64" file="crests/NA0427.WMF.svg"/>
+ <svglayer note="65" file="crests/NA0428.WMF.svg"/>
+ <svglayer note="66" file="crests/NA0429.WMF.svg"/>
+ <svglayer note="67" file="crests/NA0430.WMF.svg"/>
+ <svglayer note="68" file="crests/NA0431.WMF.svg"/>
+ <svglayer note="69" file="crests/NA0432.WMF.svg"/>
+ <svglayer note="70" file="crests/NA0433.WMF.svg"/>
+ <svglayer note="71" file="crests/NA0434.WMF.svg"/>
+ <svglayer note="72" file="crests/NA0435.WMF.svg"/>
+ <svglayer note="73" file="crests/NA0436.WMF.svg"/>
+ <svglayer note="74" file="crests/NA0437.WMF.svg"/>
+ <svglayer note="75" file="crests/NA0438.WMF.svg"/>
+ <svglayer note="76" file="crests/NA0439.WMF.svg"/>
+ <svglayer note="77" file="crests/NA0440.WMF.svg"/>
+ <svglayer note="78" file="crests/SIL_FLR2.WMF.svg"/>
+ <svglayer note="79" file="crests/SIL_FLR3.WMF.svg"/>
+ <svglayer note="80" file="crests/SWORDSHI.WMF.svg"/>
+ <svglayer note="81" file="crests/SYMBL44.WMF.svg"/>
+ <svglayer note="82" file="crests/agnew.WMF.svg"/>
+ <svglayer note="83" file="crests/anderson.WMF.svg"/>
+ <svglayer note="84" file="crests/andrews.WMF.svg"/>
+ <svglayer note="85" file="crests/armstr44.WMF.svg"/>
+ <svglayer note="86" file="crests/arnold.WMF.svg"/>
+ <svglayer note="87" file="crests/arthur.WMF.svg"/>
+ <svglayer note="88" file="crests/arundell.WMF.svg"/>
+ <svglayer note="89" file="crests/ashby.WMF.svg"/>
+ <svglayer note="90" file="crests/ashfield.WMF.svg"/>
+ <svglayer note="91" file="crests/baillie.WMF.svg"/>
+ <svglayer note="92" file="crests/baldwin.WMF.svg"/>
+ <svglayer note="93" file="crests/ball.WMF.svg"/>
+ <svglayer note="94" file="crests/bane.WMF.svg"/>
+ <svglayer note="95" file="crests/banester.WMF.svg"/>
+ <svglayer note="96" file="crests/bankes.WMF.svg"/>
+ <svglayer note="97" file="crests/barclay.WMF.svg"/>
+ <svglayer note="98" file="crests/baxter.WMF.svg"/>
+ <svglayer note="99" file="crests/bayley.WMF.svg"/>
+ <svglayer note="100" file="crests/baynard.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/cricket.xml b/liveengine/bin/data/cricket.xml
new file mode 100644
index 0000000..ff7925a
--- /dev/null
+++ b/liveengine/bin/data/cricket.xml
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="cricket/CRICK006.WMF.svg"/>
+ <svglayer note="37" file="cricket/CRICK008.WMF.svg"/>
+ <svglayer note="38" file="cricket/CRICK009.WMF.svg"/>
+ <svglayer note="39" file="cricket/CRICK010.WMF.svg"/>
+ <svglayer note="40" file="cricket/CRICK011.WMF.svg"/>
+ <svglayer note="41" file="cricket/CRICK012.WMF.svg"/>
+ <svglayer note="42" file="cricket/CRICK013.WMF.svg"/>
+ <svglayer note="43" file="cricket/CRICK014.WMF.svg"/>
+ <svglayer note="44" file="cricket/CRICK015.WMF.svg"/>
+ <svglayer note="45" file="cricket/CRICK016.WMF.svg"/>
+ <svglayer note="46" file="cricket/CRICK017.WMF.svg"/>
+ <svglayer note="47" file="cricket/CRICK018.WMF.svg"/>
+ <svglayer note="48" file="cricket/CRICK019.WMF.svg"/>
+ <svglayer note="49" file="cricket/CRICK020.WMF.svg"/>
+ <svglayer note="50" file="cricket/CRICK021.WMF.svg"/>
+ <svglayer note="51" file="cricket/CRICK022.WMF.svg"/>
+ <svglayer note="52" file="cricket/CRICK023.WMF.svg"/>
+ <svglayer note="53" file="cricket/CRICK024.WMF.svg"/>
+ <svglayer note="54" file="cricket/CRICK025.WMF.svg"/>
+ <svglayer note="55" file="cricket/CRICK026.WMF.svg"/>
+ <svglayer note="56" file="cricket/CRICK027.WMF.svg"/>
+ <svglayer note="57" file="cricket/CRICK028.WMF.svg"/>
+ <svglayer note="58" file="cricket/CRICK032.WMF.svg"/>
+ <svglayer note="59" file="cricket/CRICK033.WMF.svg"/>
+ <svglayer note="60" file="cricket/CRICKET.WMF.svg"/>
+ <svglayer note="61" file="cricket/CROQUET.WMF.svg"/>
+ <svglayer note="62" file="cricket/CTCH_UMP.WMF.svg"/>
+ <svglayer note="63" file="cricket/CYCLING.WMF.svg"/>
+ <svglayer note="64" file="cricket/DRIBBLER.WMF.svg"/>
+ <svglayer note="65" file="cricket/FHOCK001.WMF.svg"/>
+ <svglayer note="66" file="cricket/FHOCK002.WMF.svg"/>
+ <svglayer note="67" file="cricket/FHOCK006.WMF.svg"/>
+ <svglayer note="68" file="cricket/FHOCK007.WMF.svg"/>
+ <svglayer note="69" file="cricket/FHOCK008.WMF.svg"/>
+ <svglayer note="70" file="cricket/FHOCK009.WMF.svg"/>
+ <svglayer note="71" file="cricket/FHOCK010.WMF.svg"/>
+ <svglayer note="72" file="cricket/FHOCK011.WMF.svg"/>
+ <svglayer note="73" file="cricket/FHOCK012.WMF.svg"/>
+ <svglayer note="74" file="cricket/FHOCK013.WMF.svg"/>
+ <svglayer note="75" file="cricket/CRICK006.WMF.svg"/>
+ <svglayer note="76" file="cricket/CRICK008.WMF.svg"/>
+ <svglayer note="77" file="cricket/CRICK009.WMF.svg"/>
+ <svglayer note="78" file="cricket/CRICK010.WMF.svg"/>
+ <svglayer note="79" file="cricket/CRICK011.WMF.svg"/>
+ <svglayer note="80" file="cricket/CRICK012.WMF.svg"/>
+ <svglayer note="81" file="cricket/CRICK013.WMF.svg"/>
+ <svglayer note="82" file="cricket/CRICK014.WMF.svg"/>
+ <svglayer note="83" file="cricket/CRICK015.WMF.svg"/>
+ <svglayer note="84" file="cricket/CRICK016.WMF.svg"/>
+ <svglayer note="85" file="cricket/CRICK017.WMF.svg"/>
+ <svglayer note="86" file="cricket/CRICK018.WMF.svg"/>
+ <svglayer note="87" file="cricket/CRICK019.WMF.svg"/>
+ <svglayer note="88" file="cricket/CRICK020.WMF.svg"/>
+ <svglayer note="89" file="cricket/CRICK021.WMF.svg"/>
+ <svglayer note="90" file="cricket/CRICK022.WMF.svg"/>
+ <svglayer note="91" file="cricket/CRICK023.WMF.svg"/>
+ <svglayer note="92" file="cricket/CRICK024.WMF.svg"/>
+ <svglayer note="93" file="cricket/CRICK025.WMF.svg"/>
+ <svglayer note="94" file="cricket/CRICK026.WMF.svg"/>
+ <svglayer note="95" file="cricket/CRICK027.WMF.svg"/>
+ <svglayer note="96" file="cricket/CRICK028.WMF.svg"/>
+ <svglayer note="97" file="cricket/CRICK032.WMF.svg"/>
+ <svglayer note="98" file="cricket/CRICK033.WMF.svg"/>
+ <svglayer note="99" file="cricket/CRICKET.WMF.svg"/>
+ <svglayer note="100" file="cricket/CROQUET.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/dancing.xml b/liveengine/bin/data/dancing.xml
index a9e7b7e..0106af8 100644
--- a/liveengine/bin/data/dancing.xml
+++ b/liveengine/bin/data/dancing.xml
@@ -1,50 +1,68 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<playlist>
- <svglayer note="36" file="dancing/LJ01542A.WMF.svg"/>
- <svglayer note="37" file="dancing/LJ01543A.WMF.svg"/>
- <svglayer note="38" file="dancing/LJ01544A.WMF.svg"/>
- <svglayer note="39" file="dancing/LJ01545A.WMF.svg"/>
- <svglayer note="40" file="dancing/LJ01546A.WMF.svg"/>
- <svglayer note="41" file="dancing/LJ01551A.WMF.svg"/>
- <svglayer note="42" file="dancing/LJ01557A.WMF.svg"/>
- <svglayer note="43" file="dancing/LJ01558A.WMF.svg"/>
- <svglayer note="44" file="dancing/LJ01559A.WMF.svg"/>
- <svglayer note="45" file="dancing/LJ01560A.WMF.svg"/>
- <svglayer note="46" file="dancing/LJ01567A.WMF.svg"/>
- <svglayer note="47" file="dancing/LJ01569A.WMF.svg"/>
- <svglayer note="48" file="dancing/LJ01584A.WMF.svg"/>
- <svglayer note="49" file="dancing/LJ01595A.WMF.svg"/>
- <svglayer note="50" file="dancing/LJ01596A.WMF.svg"/>
- <svglayer note="51" file="dancing/LJ01598A.WMF.svg"/>
- <svglayer note="52" file="dancing/LJ01604A.WMF.svg"/>
- <svglayer note="53" file="dancing/LJ01698A.WMF.svg"/>
- <svglayer note="54" file="dancing/LJ01699A.WMF.svg"/>
- <svglayer note="55" file="dancing/LJ01700A.WMF.svg"/>
- <svglayer note="56" file="dancing/LJ01701A.WMF.svg"/>
- <svglayer note="57" file="dancing/LJ01702A.WMF.svg"/>
- <svglayer note="58" file="dancing/LJ01712A.WMF.svg"/>
-
- <svglayer note="59" file="dancing/LJ01545A.WMF.svg"/>
- <svglayer note="60" file="dancing/LJ01546A.WMF.svg"/>
- <svglayer note="61" file="dancing/LJ01551A.WMF.svg"/>
- <svglayer note="62" file="dancing/LJ01557A.WMF.svg"/>
- <svglayer note="63" file="dancing/LJ01558A.WMF.svg"/>
- <svglayer note="64" file="dancing/LJ01559A.WMF.svg"/>
- <svglayer note="65" file="dancing/LJ01560A.WMF.svg"/>
- <svglayer note="66" file="dancing/LJ01567A.WMF.svg"/>
- <svglayer note="67" file="dancing/LJ01569A.WMF.svg"/>
- <svglayer note="68" file="dancing/LJ01584A.WMF.svg"/>
- <svglayer note="69" file="dancing/LJ01595A.WMF.svg"/>
- <svglayer note="70" file="dancing/LJ01596A.WMF.svg"/>
- <svglayer note="71" file="dancing/LJ01598A.WMF.svg"/>
- <svglayer note="72" file="dancing/LJ01604A.WMF.svg"/>
- <svglayer note="73" file="dancing/LJ01698A.WMF.svg"/>
- <svglayer note="74" file="dancing/LJ01699A.WMF.svg"/>
- <svglayer note="75" file="dancing/LJ01700A.WMF.svg"/>
- <svglayer note="76" file="dancing/LJ01701A.WMF.svg"/>
- <svglayer note="77" file="dancing/LJ01702A.WMF.svg"/>
- <svglayer note="78" file="dancing/LJ01712A.WMF.svg"/>
-
-
-</playlist>
-
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="dancing/LJ01700A.WMF.svg"/>
+ <svglayer note="37" file="dancing/LJ01546A.WMF.svg"/>
+ <svglayer note="38" file="dancing/LJ01595A.WMF.svg"/>
+ <svglayer note="39" file="dancing/LJ01560A.WMF.svg"/>
+ <svglayer note="40" file="dancing/LJ01551A.WMF.svg"/>
+ <svglayer note="41" file="dancing/LJ01712A.WMF.svg"/>
+ <svglayer note="42" file="dancing/LJ01559A.WMF.svg"/>
+ <svglayer note="43" file="dancing/LJ01569A.WMF.svg"/>
+ <svglayer note="44" file="dancing/LJ01698A.WMF.svg"/>
+ <svglayer note="45" file="dancing/LJ01544A.WMF.svg"/>
+ <svglayer note="46" file="dancing/LJ01557A.WMF.svg"/>
+ <svglayer note="47" file="dancing/LJ01598A.WMF.svg"/>
+ <svglayer note="48" file="dancing/LJ01567A.WMF.svg"/>
+ <svglayer note="49" file="dancing/LJ01543A.WMF.svg"/>
+ <svglayer note="50" file="dancing/LJ01558A.WMF.svg"/>
+ <svglayer note="51" file="dancing/LJ01545A.WMF.svg"/>
+ <svglayer note="52" file="dancing/LJ01584A.WMF.svg"/>
+ <svglayer note="53" file="dancing/LJ01542A.WMF.svg"/>
+ <svglayer note="54" file="dancing/LJ01702A.WMF.svg"/>
+ <svglayer note="55" file="dancing/LJ01604A.WMF.svg"/>
+ <svglayer note="56" file="dancing/LJ01699A.WMF.svg"/>
+ <svglayer note="57" file="dancing/LJ01701A.WMF.svg"/>
+ <svglayer note="58" file="dancing/LJ01596A.WMF.svg"/>
+ <svglayer note="59" file="dancing/LJ01700A.WMF.svg"/>
+ <svglayer note="60" file="dancing/LJ01546A.WMF.svg"/>
+ <svglayer note="61" file="dancing/LJ01595A.WMF.svg"/>
+ <svglayer note="62" file="dancing/LJ01560A.WMF.svg"/>
+ <svglayer note="63" file="dancing/LJ01551A.WMF.svg"/>
+ <svglayer note="64" file="dancing/LJ01712A.WMF.svg"/>
+ <svglayer note="65" file="dancing/LJ01559A.WMF.svg"/>
+ <svglayer note="66" file="dancing/LJ01569A.WMF.svg"/>
+ <svglayer note="67" file="dancing/LJ01698A.WMF.svg"/>
+ <svglayer note="68" file="dancing/LJ01544A.WMF.svg"/>
+ <svglayer note="69" file="dancing/LJ01557A.WMF.svg"/>
+ <svglayer note="70" file="dancing/LJ01598A.WMF.svg"/>
+ <svglayer note="71" file="dancing/LJ01567A.WMF.svg"/>
+ <svglayer note="72" file="dancing/LJ01543A.WMF.svg"/>
+ <svglayer note="73" file="dancing/LJ01558A.WMF.svg"/>
+ <svglayer note="74" file="dancing/LJ01545A.WMF.svg"/>
+ <svglayer note="75" file="dancing/LJ01584A.WMF.svg"/>
+ <svglayer note="76" file="dancing/LJ01542A.WMF.svg"/>
+ <svglayer note="77" file="dancing/LJ01702A.WMF.svg"/>
+ <svglayer note="78" file="dancing/LJ01604A.WMF.svg"/>
+ <svglayer note="79" file="dancing/LJ01699A.WMF.svg"/>
+ <svglayer note="80" file="dancing/LJ01701A.WMF.svg"/>
+ <svglayer note="81" file="dancing/LJ01596A.WMF.svg"/>
+ <svglayer note="82" file="dancing/LJ01700A.WMF.svg"/>
+ <svglayer note="83" file="dancing/LJ01546A.WMF.svg"/>
+ <svglayer note="84" file="dancing/LJ01595A.WMF.svg"/>
+ <svglayer note="85" file="dancing/LJ01560A.WMF.svg"/>
+ <svglayer note="86" file="dancing/LJ01551A.WMF.svg"/>
+ <svglayer note="87" file="dancing/LJ01712A.WMF.svg"/>
+ <svglayer note="88" file="dancing/LJ01559A.WMF.svg"/>
+ <svglayer note="89" file="dancing/LJ01569A.WMF.svg"/>
+ <svglayer note="90" file="dancing/LJ01698A.WMF.svg"/>
+ <svglayer note="91" file="dancing/LJ01544A.WMF.svg"/>
+ <svglayer note="92" file="dancing/LJ01557A.WMF.svg"/>
+ <svglayer note="93" file="dancing/LJ01598A.WMF.svg"/>
+ <svglayer note="94" file="dancing/LJ01567A.WMF.svg"/>
+ <svglayer note="95" file="dancing/LJ01543A.WMF.svg"/>
+ <svglayer note="96" file="dancing/LJ01558A.WMF.svg"/>
+ <svglayer note="97" file="dancing/LJ01545A.WMF.svg"/>
+ <svglayer note="98" file="dancing/LJ01584A.WMF.svg"/>
+ <svglayer note="99" file="dancing/LJ01542A.WMF.svg"/>
+ <svglayer note="100" file="dancing/LJ01702A.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/makeplaylist.py b/liveengine/bin/data/makeplaylist.py
new file mode 100755
index 0000000..92ff865
--- /dev/null
+++ b/liveengine/bin/data/makeplaylist.py
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+
+from lxml import etree
+import sys,os
+
+if len(sys.argv)<2:
+ print "usage: makeplaylist source_directory"
+ sys.exit(0)
+
+sourcedir=sys.argv[1]
+
+page = etree.Element('playlist')
+doc = etree.ElementTree(page)
+
+dirList=sorted(os.listdir(sourcedir))
+note = 36
+while note<100:
+ for fname in dirList:
+ pageElement = etree.SubElement(page, 'svglayer',
+ note=str(note),
+ file=sourcedir+"/"+fname)
+ note +=1
+ if note>100:
+ break
+
+file= open(sourcedir+".xml", "w")
+doc.write(file, xml_declaration=True, encoding='utf-8',pretty_print=True)
+file.close() \ No newline at end of file
diff --git a/liveengine/bin/data/military_ethnic.xml b/liveengine/bin/data/military_ethnic.xml
new file mode 100644
index 0000000..babad30
--- /dev/null
+++ b/liveengine/bin/data/military_ethnic.xml
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="military_ethnic/NA01408A.WMF.svg"/>
+ <svglayer note="37" file="military_ethnic/NA01419A.WMF.svg"/>
+ <svglayer note="38" file="military_ethnic/NA01422A.WMF.svg"/>
+ <svglayer note="39" file="military_ethnic/NA09022B.WMF.svg"/>
+ <svglayer note="40" file="military_ethnic/NAVY1.WMF.svg"/>
+ <svglayer note="41" file="military_ethnic/NC01217A.WMF.svg"/>
+ <svglayer note="42" file="military_ethnic/ND01386A.WMF.svg"/>
+ <svglayer note="43" file="military_ethnic/ND01443A.WMF.svg"/>
+ <svglayer note="44" file="military_ethnic/ND01487A.WMF.svg"/>
+ <svglayer note="45" file="military_ethnic/ND01488A.WMF.svg"/>
+ <svglayer note="46" file="military_ethnic/ND01713A.WMF.svg"/>
+ <svglayer note="47" file="military_ethnic/ND01724A.WMF.svg"/>
+ <svglayer note="48" file="military_ethnic/ND01730A.WMF.svg"/>
+ <svglayer note="49" file="military_ethnic/ND01834A.WMF.svg"/>
+ <svglayer note="50" file="military_ethnic/ND01835A.WMF.svg"/>
+ <svglayer note="51" file="military_ethnic/ND01837A.WMF.svg"/>
+ <svglayer note="52" file="military_ethnic/NE01068A.WMF.svg"/>
+ <svglayer note="53" file="military_ethnic/NE15015A.WMF.svg"/>
+ <svglayer note="54" file="military_ethnic/NF15006A.WMF.svg"/>
+ <svglayer note="55" file="military_ethnic/NA01408A.WMF.svg"/>
+ <svglayer note="56" file="military_ethnic/NA01419A.WMF.svg"/>
+ <svglayer note="57" file="military_ethnic/NA01422A.WMF.svg"/>
+ <svglayer note="58" file="military_ethnic/NA09022B.WMF.svg"/>
+ <svglayer note="59" file="military_ethnic/NAVY1.WMF.svg"/>
+ <svglayer note="60" file="military_ethnic/NC01217A.WMF.svg"/>
+ <svglayer note="61" file="military_ethnic/ND01386A.WMF.svg"/>
+ <svglayer note="62" file="military_ethnic/ND01443A.WMF.svg"/>
+ <svglayer note="63" file="military_ethnic/ND01487A.WMF.svg"/>
+ <svglayer note="64" file="military_ethnic/ND01488A.WMF.svg"/>
+ <svglayer note="65" file="military_ethnic/ND01713A.WMF.svg"/>
+ <svglayer note="66" file="military_ethnic/ND01724A.WMF.svg"/>
+ <svglayer note="67" file="military_ethnic/ND01730A.WMF.svg"/>
+ <svglayer note="68" file="military_ethnic/ND01834A.WMF.svg"/>
+ <svglayer note="69" file="military_ethnic/ND01835A.WMF.svg"/>
+ <svglayer note="70" file="military_ethnic/ND01837A.WMF.svg"/>
+ <svglayer note="71" file="military_ethnic/NE01068A.WMF.svg"/>
+ <svglayer note="72" file="military_ethnic/NE15015A.WMF.svg"/>
+ <svglayer note="73" file="military_ethnic/NF15006A.WMF.svg"/>
+ <svglayer note="74" file="military_ethnic/NA01408A.WMF.svg"/>
+ <svglayer note="75" file="military_ethnic/NA01419A.WMF.svg"/>
+ <svglayer note="76" file="military_ethnic/NA01422A.WMF.svg"/>
+ <svglayer note="77" file="military_ethnic/NA09022B.WMF.svg"/>
+ <svglayer note="78" file="military_ethnic/NAVY1.WMF.svg"/>
+ <svglayer note="79" file="military_ethnic/NC01217A.WMF.svg"/>
+ <svglayer note="80" file="military_ethnic/ND01386A.WMF.svg"/>
+ <svglayer note="81" file="military_ethnic/ND01443A.WMF.svg"/>
+ <svglayer note="82" file="military_ethnic/ND01487A.WMF.svg"/>
+ <svglayer note="83" file="military_ethnic/ND01488A.WMF.svg"/>
+ <svglayer note="84" file="military_ethnic/ND01713A.WMF.svg"/>
+ <svglayer note="85" file="military_ethnic/ND01724A.WMF.svg"/>
+ <svglayer note="86" file="military_ethnic/ND01730A.WMF.svg"/>
+ <svglayer note="87" file="military_ethnic/ND01834A.WMF.svg"/>
+ <svglayer note="88" file="military_ethnic/ND01835A.WMF.svg"/>
+ <svglayer note="89" file="military_ethnic/ND01837A.WMF.svg"/>
+ <svglayer note="90" file="military_ethnic/NE01068A.WMF.svg"/>
+ <svglayer note="91" file="military_ethnic/NE15015A.WMF.svg"/>
+ <svglayer note="92" file="military_ethnic/NF15006A.WMF.svg"/>
+ <svglayer note="93" file="military_ethnic/NA01408A.WMF.svg"/>
+ <svglayer note="94" file="military_ethnic/NA01419A.WMF.svg"/>
+ <svglayer note="95" file="military_ethnic/NA01422A.WMF.svg"/>
+ <svglayer note="96" file="military_ethnic/NA09022B.WMF.svg"/>
+ <svglayer note="97" file="military_ethnic/NAVY1.WMF.svg"/>
+ <svglayer note="98" file="military_ethnic/NC01217A.WMF.svg"/>
+ <svglayer note="99" file="military_ethnic/ND01386A.WMF.svg"/>
+ <svglayer note="100" file="military_ethnic/ND01443A.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/military_ladies.xml b/liveengine/bin/data/military_ladies.xml
deleted file mode 100644
index f61bece..0000000
--- a/liveengine/bin/data/military_ladies.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<playlist>
-
- <svglayer note="37" file="military_ladies/LH01116A.WMF.svg"/>
- <svglayer note="38" file="military_ladies/LH01117A.WMF.svg"/>
- <svglayer note="39" file="military_ladies/LH01118A.WMF.svg"/>
- <svglayer note="40" file="military_ladies/LH01119A.WMF.svg"/>
- <svglayer note="41" file="military_ladies/LH01122A.WMF.svg"/>
- <svglayer note="42" file="military_ladies/LH01123A.WMF.svg"/>
- <svglayer note="43" file="military_ladies/LH01124A.WMF.svg"/>
- <svglayer note="44" file="military_ladies/LH01171A.WMF.svg"/>
- <svglayer note="45" file="military_ladies/LH01173A.WMF.svg"/>
- <svglayer note="46" file="military_ladies/LH01174A.WMF.svg"/>
- <svglayer note="47" file="military_ladies/LH01183A.WMF.svg"/>
- <svglayer note="48" file="military_ladies/LH01184A.WMF.svg"/>
- <svglayer note="49" file="military_ladies/LH01212A.WMF.svg"/>
-
- <svglayer note="50" file="military_ladies/LH01119A.WMF.svg"/>
- <svglayer note="51" file="military_ladies/LH01122A.WMF.svg"/>
- <svglayer note="52" file="military_ladies/LH01123A.WMF.svg"/>
- <svglayer note="53" file="military_ladies/LH01124A.WMF.svg"/>
- <svglayer note="54" file="military_ladies/LH01171A.WMF.svg"/>
- <svglayer note="55" file="military_ladies/LH01173A.WMF.svg"/>
- <svglayer note="56" file="military_ladies/LH01174A.WMF.svg"/>
- <svglayer note="57" file="military_ladies/LH01183A.WMF.svg"/>
- <svglayer note="58" file="military_ladies/LH01184A.WMF.svg"/>
- <svglayer note="59" file="military_ladies/LH01212A.WMF.svg"/>
-
- <svglayer note="60" file="military_ladies/LH01119A.WMF.svg"/>
- <svglayer note="61" file="military_ladies/LH01122A.WMF.svg"/>
- <svglayer note="62" file="military_ladies/LH01123A.WMF.svg"/>
- <svglayer note="63" file="military_ladies/LH01124A.WMF.svg"/>
- <svglayer note="64" file="military_ladies/LH01171A.WMF.svg"/>
- <svglayer note="65" file="military_ladies/LH01173A.WMF.svg"/>
- <svglayer note="66" file="military_ladies/LH01174A.WMF.svg"/>
- <svglayer note="67" file="military_ladies/LH01183A.WMF.svg"/>
- <svglayer note="68" file="military_ladies/LH01184A.WMF.svg"/>
- <svglayer note="69" file="military_ladies/LH01212A.WMF.svg"/>
-
- <svglayer note="70" file="military_ladies/LH01119A.WMF.svg"/>
- <svglayer note="71" file="military_ladies/LH01122A.WMF.svg"/>
- <svglayer note="72" file="military_ladies/LH01123A.WMF.svg"/>
- <svglayer note="73" file="military_ladies/LH01124A.WMF.svg"/>
- <svglayer note="74" file="military_ladies/LH01171A.WMF.svg"/>
- <svglayer note="75" file="military_ladies/LH01173A.WMF.svg"/>
- <svglayer note="76" file="military_ladies/LH01174A.WMF.svg"/>
- <svglayer note="77" file="military_ladies/LH01183A.WMF.svg"/>
- <svglayer note="78" file="military_ladies/LH01184A.WMF.svg"/>
- <svglayer note="79" file="military_ladies/LH01212A.WMF.svg"/>
-</playlist>
-
diff --git a/liveengine/bin/data/miltary_ladies.xml b/liveengine/bin/data/miltary_ladies.xml
new file mode 100644
index 0000000..4cabbd4
--- /dev/null
+++ b/liveengine/bin/data/miltary_ladies.xml
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="miltary_ladies/LH01116A.WMF.svg"/>
+ <svglayer note="37" file="miltary_ladies/LH01117A.WMF.svg"/>
+ <svglayer note="38" file="miltary_ladies/LH01118A.WMF.svg"/>
+ <svglayer note="39" file="miltary_ladies/LH01119A.WMF.svg"/>
+ <svglayer note="40" file="miltary_ladies/LH01122A.WMF.svg"/>
+ <svglayer note="41" file="miltary_ladies/LH01123A.WMF.svg"/>
+ <svglayer note="42" file="miltary_ladies/LH01124A.WMF.svg"/>
+ <svglayer note="43" file="miltary_ladies/LH01173A.WMF.svg"/>
+ <svglayer note="44" file="miltary_ladies/LH01174A.WMF.svg"/>
+ <svglayer note="45" file="miltary_ladies/LH01183A.WMF.svg"/>
+ <svglayer note="46" file="miltary_ladies/LH01184A.WMF.svg"/>
+ <svglayer note="47" file="miltary_ladies/LH01212A.WMF.svg"/>
+ <svglayer note="48" file="miltary_ladies/LH01116A.WMF.svg"/>
+ <svglayer note="49" file="miltary_ladies/LH01117A.WMF.svg"/>
+ <svglayer note="50" file="miltary_ladies/LH01118A.WMF.svg"/>
+ <svglayer note="51" file="miltary_ladies/LH01119A.WMF.svg"/>
+ <svglayer note="52" file="miltary_ladies/LH01122A.WMF.svg"/>
+ <svglayer note="53" file="miltary_ladies/LH01123A.WMF.svg"/>
+ <svglayer note="54" file="miltary_ladies/LH01124A.WMF.svg"/>
+ <svglayer note="55" file="miltary_ladies/LH01173A.WMF.svg"/>
+ <svglayer note="56" file="miltary_ladies/LH01174A.WMF.svg"/>
+ <svglayer note="57" file="miltary_ladies/LH01183A.WMF.svg"/>
+ <svglayer note="58" file="miltary_ladies/LH01184A.WMF.svg"/>
+ <svglayer note="59" file="miltary_ladies/LH01212A.WMF.svg"/>
+ <svglayer note="60" file="miltary_ladies/LH01116A.WMF.svg"/>
+ <svglayer note="61" file="miltary_ladies/LH01117A.WMF.svg"/>
+ <svglayer note="62" file="miltary_ladies/LH01118A.WMF.svg"/>
+ <svglayer note="63" file="miltary_ladies/LH01119A.WMF.svg"/>
+ <svglayer note="64" file="miltary_ladies/LH01122A.WMF.svg"/>
+ <svglayer note="65" file="miltary_ladies/LH01123A.WMF.svg"/>
+ <svglayer note="66" file="miltary_ladies/LH01124A.WMF.svg"/>
+ <svglayer note="67" file="miltary_ladies/LH01173A.WMF.svg"/>
+ <svglayer note="68" file="miltary_ladies/LH01174A.WMF.svg"/>
+ <svglayer note="69" file="miltary_ladies/LH01183A.WMF.svg"/>
+ <svglayer note="70" file="miltary_ladies/LH01184A.WMF.svg"/>
+ <svglayer note="71" file="miltary_ladies/LH01212A.WMF.svg"/>
+ <svglayer note="72" file="miltary_ladies/LH01116A.WMF.svg"/>
+ <svglayer note="73" file="miltary_ladies/LH01117A.WMF.svg"/>
+ <svglayer note="74" file="miltary_ladies/LH01118A.WMF.svg"/>
+ <svglayer note="75" file="miltary_ladies/LH01119A.WMF.svg"/>
+ <svglayer note="76" file="miltary_ladies/LH01122A.WMF.svg"/>
+ <svglayer note="77" file="miltary_ladies/LH01123A.WMF.svg"/>
+ <svglayer note="78" file="miltary_ladies/LH01124A.WMF.svg"/>
+ <svglayer note="79" file="miltary_ladies/LH01173A.WMF.svg"/>
+ <svglayer note="80" file="miltary_ladies/LH01174A.WMF.svg"/>
+ <svglayer note="81" file="miltary_ladies/LH01183A.WMF.svg"/>
+ <svglayer note="82" file="miltary_ladies/LH01184A.WMF.svg"/>
+ <svglayer note="83" file="miltary_ladies/LH01212A.WMF.svg"/>
+ <svglayer note="84" file="miltary_ladies/LH01116A.WMF.svg"/>
+ <svglayer note="85" file="miltary_ladies/LH01117A.WMF.svg"/>
+ <svglayer note="86" file="miltary_ladies/LH01118A.WMF.svg"/>
+ <svglayer note="87" file="miltary_ladies/LH01119A.WMF.svg"/>
+ <svglayer note="88" file="miltary_ladies/LH01122A.WMF.svg"/>
+ <svglayer note="89" file="miltary_ladies/LH01123A.WMF.svg"/>
+ <svglayer note="90" file="miltary_ladies/LH01124A.WMF.svg"/>
+ <svglayer note="91" file="miltary_ladies/LH01173A.WMF.svg"/>
+ <svglayer note="92" file="miltary_ladies/LH01174A.WMF.svg"/>
+ <svglayer note="93" file="miltary_ladies/LH01183A.WMF.svg"/>
+ <svglayer note="94" file="miltary_ladies/LH01184A.WMF.svg"/>
+ <svglayer note="95" file="miltary_ladies/LH01212A.WMF.svg"/>
+ <svglayer note="96" file="miltary_ladies/LH01116A.WMF.svg"/>
+ <svglayer note="97" file="miltary_ladies/LH01117A.WMF.svg"/>
+ <svglayer note="98" file="miltary_ladies/LH01118A.WMF.svg"/>
+ <svglayer note="99" file="miltary_ladies/LH01119A.WMF.svg"/>
+ <svglayer note="100" file="miltary_ladies/LH01122A.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/organs.xml b/liveengine/bin/data/organs.xml
index 59b5d15..dba72d4 100644
--- a/liveengine/bin/data/organs.xml
+++ b/liveengine/bin/data/organs.xml
@@ -1,64 +1,68 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<playlist>
- <svglayer note="36" file="organs/ABS1.WMF.svg"/>
- <svglayer note="37" file="organs/ABS2.WMF.svg"/>
- <svglayer note="38" file="organs/ABS.WMF.svg"/>
- <svglayer note="39" file="organs/ANATM003.WMF.svg"/>
- <svglayer note="40" file="organs/ANATM004.WMF.svg"/>
- <svglayer note="41" file="organs/ANATM006.WMF.svg"/>
- <svglayer note="42" file="organs/ANATM306.WMF.svg"/>
-
- <svglayer note="44" file="organs/ANATM009.WMF.svg"/>
- <svglayer note="45" file="organs/ANATM010.WMF.svg"/>
- <svglayer note="46" file="organs/ANATM012.WMF.svg"/>
- <svglayer note="47" file="organs/ANATM013.WMF.svg"/>
- <svglayer note="48" file="organs/ANATM014.WMF.svg"/>
- <svglayer note="49" file="organs/ANATM015.WMF.svg"/>
- <svglayer note="50" file="organs/ANATM017.WMF.svg"/>
- <svglayer note="51" file="organs/ANATM018.WMF.svg"/>
- <svglayer note="52" file="organs/ANATM019.WMF.svg"/>
- <svglayer note="53" file="organs/ANATM022.WMF.svg"/>
- <svglayer note="54" file="organs/ANATM290.WMF.svg"/>
- <svglayer note="55" file="organs/ANATM298.WMF.svg"/>
-
- <svglayer note="57" file="organs/ANATM300.WMF.svg"/>
- <svglayer note="58" file="organs/ANATM301.WMF.svg"/>
- <svglayer note="59" file="organs/ANATM306.WMF.svg"/>
- <svglayer note="60" file="organs/ANATM307.WMF.svg"/>
- <svglayer note="61" file="organs/ANATM308.WMF.svg"/>
- <svglayer note="62" file="organs/ANATM309.WMF.svg"/>
- <svglayer note="63" file="organs/ANATM310.WMF.svg"/>
- <svglayer note="64" file="organs/ANATM311.WMF.svg"/>
- <svglayer note="65" file="organs/ANATM312.WMF.svg"/>
-
- <svglayer note="67" file="organs/BRAIN.WMF.svg"/>
- <svglayer note="68" file="organs/CCM00636.WMF.svg"/>
- <svglayer note="69" file="organs/CS002183.WMF.svg"/>
- <svglayer note="70" file="organs/CS002190.WMF.svg"/>
- <svglayer note="71" file="organs/CS002193.WMF.svg"/>
- <svglayer note="72" file="organs/CS002195.WMF.svg"/>
- <svglayer note="73" file="organs/CS002196.WMF.svg"/>
- <svglayer note="74" file="organs/CS002197.WMF.svg"/>
- <svglayer note="75" file="organs/CS002200.WMF.svg"/>
- <svglayer note="76" file="organs/CS002201.WMF.svg"/>
- <svglayer note="77" file="organs/CS002202.WMF.svg"/>
- <svglayer note="78" file="organs/CS002203.WMF.svg"/>
- <svglayer note="79" file="organs/CS002206.WMF.svg"/>
- <svglayer note="80" file="organs/CS002207.WMF.svg"/>
- <svglayer note="82" file="organs/CS002208.WMF.svg"/>
- <svglayer note="83" file="organs/CS002266.WMF.svg"/>
- <svglayer note="84" file="organs/CS002267.WMF.svg"/>
- <svglayer note="85" file="organs/CS002268.WMF.svg"/>
- <svglayer note="86" file="organs/CS002270.WMF.svg"/>
- <svglayer note="87" file="organs/CS002209.WMF.svg"/>
- <svglayer note="88" file="organs/CS002210.WMF.svg"/>
- <svglayer note="89" file="organs/CS002211.WMF.svg"/>
- <svglayer note="90" file="organs/CS002212.WMF.svg"/>
- <svglayer note="91" file="organs/CS002213.WMF.svg"/>
- <svglayer note="92" file="organs/CS002214.WMF.svg"/>
-
-
-
-
-</playlist>
-
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="organs/ABS1.WMF.svg"/>
+ <svglayer note="37" file="organs/ABS2.WMF.svg"/>
+ <svglayer note="38" file="organs/ANATM003.WMF.svg"/>
+ <svglayer note="39" file="organs/ANATM009.WMF.svg"/>
+ <svglayer note="40" file="organs/ANATM010.WMF.svg"/>
+ <svglayer note="41" file="organs/ANATM012.WMF.svg"/>
+ <svglayer note="42" file="organs/ANATM015.WMF.svg"/>
+ <svglayer note="43" file="organs/ANATM019.WMF.svg"/>
+ <svglayer note="44" file="organs/ANATM022.WMF.svg"/>
+ <svglayer note="45" file="organs/ANATM045.WMF.svg"/>
+ <svglayer note="46" file="organs/ANATM298.WMF.svg"/>
+ <svglayer note="47" file="organs/ANATM299.WMF.svg"/>
+ <svglayer note="48" file="organs/ANATM300.WMF.svg"/>
+ <svglayer note="49" file="organs/ANATM301.WMF.svg"/>
+ <svglayer note="50" file="organs/ANATM308.WMF.svg"/>
+ <svglayer note="51" file="organs/ANATM310.WMF.svg"/>
+ <svglayer note="52" file="organs/ANATM312.WMF.svg"/>
+ <svglayer note="53" file="organs/ANATM315.WMF.svg"/>
+ <svglayer note="54" file="organs/ANATM317.WMF.svg"/>
+ <svglayer note="55" file="organs/ANATM319.WMF.svg"/>
+ <svglayer note="56" file="organs/ANATM326.WMF.svg"/>
+ <svglayer note="57" file="organs/ANATM327.WMF.svg"/>
+ <svglayer note="58" file="organs/ANATM328.WMF.svg"/>
+ <svglayer note="59" file="organs/ANATM331.WMF.svg"/>
+ <svglayer note="60" file="organs/ANATM332.WMF.svg"/>
+ <svglayer note="61" file="organs/ANATM334.WMF.svg"/>
+ <svglayer note="62" file="organs/ANATM336.WMF.svg"/>
+ <svglayer note="63" file="organs/ANATM337.WMF.svg"/>
+ <svglayer note="64" file="organs/ANATM344.WMF.svg"/>
+ <svglayer note="65" file="organs/ANATM345.WMF.svg"/>
+ <svglayer note="66" file="organs/ANATM346.WMF.svg"/>
+ <svglayer note="67" file="organs/ANATM347.WMF.svg"/>
+ <svglayer note="68" file="organs/ANATM348.WMF.svg"/>
+ <svglayer note="69" file="organs/ANATM352.WMF.svg"/>
+ <svglayer note="70" file="organs/ANATM353.WMF.svg"/>
+ <svglayer note="71" file="organs/BRAIN.WMF.svg"/>
+ <svglayer note="72" file="organs/CCM01347.WMF.svg"/>
+ <svglayer note="73" file="organs/CS002161.WMF.svg"/>
+ <svglayer note="74" file="organs/CS002162.WMF.svg"/>
+ <svglayer note="75" file="organs/CS002164.WMF.svg"/>
+ <svglayer note="76" file="organs/CS002165.WMF.svg"/>
+ <svglayer note="77" file="organs/CS002166.WMF.svg"/>
+ <svglayer note="78" file="organs/CS002183.WMF.svg"/>
+ <svglayer note="79" file="organs/CS002189.WMF.svg"/>
+ <svglayer note="80" file="organs/CS002190.WMF.svg"/>
+ <svglayer note="81" file="organs/CS002191.WMF.svg"/>
+ <svglayer note="82" file="organs/CS002193.WMF.svg"/>
+ <svglayer note="83" file="organs/CS002201.WMF.svg"/>
+ <svglayer note="84" file="organs/CS002202.WMF.svg"/>
+ <svglayer note="85" file="organs/CS002205.WMF.svg"/>
+ <svglayer note="86" file="organs/CS002207.WMF.svg"/>
+ <svglayer note="87" file="organs/CS002208.WMF.svg"/>
+ <svglayer note="88" file="organs/CS002209.WMF.svg"/>
+ <svglayer note="89" file="organs/CS002210.WMF.svg"/>
+ <svglayer note="90" file="organs/CS002214.WMF.svg"/>
+ <svglayer note="91" file="organs/CS002223.WMF.svg"/>
+ <svglayer note="92" file="organs/CS002225.WMF.svg"/>
+ <svglayer note="93" file="organs/CS002227.WMF.svg"/>
+ <svglayer note="94" file="organs/CS002229.WMF.svg"/>
+ <svglayer note="95" file="organs/CS002237.WMF.svg"/>
+ <svglayer note="96" file="organs/CS002242.WMF.svg"/>
+ <svglayer note="97" file="organs/CS002245.WMF.svg"/>
+ <svglayer note="98" file="organs/CS002246.WMF.svg"/>
+ <svglayer note="99" file="organs/CS002249.WMF.svg"/>
+ <svglayer note="100" file="organs/CS002254.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/teamsports.xml b/liveengine/bin/data/teamsports.xml
new file mode 100644
index 0000000..3c7ff16
--- /dev/null
+++ b/liveengine/bin/data/teamsports.xml
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='utf-8'?>
+<playlist>
+ <svglayer note="36" file="teamsports/HOCKEY1.WMF.svg"/>
+ <svglayer note="37" file="teamsports/HOCKEY2.WMF.svg"/>
+ <svglayer note="38" file="teamsports/HOCKEY3.WMF.svg"/>
+ <svglayer note="39" file="teamsports/HOCKEY4.WMF.svg"/>
+ <svglayer note="40" file="teamsports/HOCKEYA.WMF.svg"/>
+ <svglayer note="41" file="teamsports/HOCKEY_1.WMF.svg"/>
+ <svglayer note="42" file="teamsports/RD01003A.WMF.svg"/>
+ <svglayer note="43" file="teamsports/RD01021A.WMF.svg"/>
+ <svglayer note="44" file="teamsports/RD01026A.WMF.svg"/>
+ <svglayer note="45" file="teamsports/RD01085A.WMF.svg"/>
+ <svglayer note="46" file="teamsports/RD01104A.WMF.svg"/>
+ <svglayer note="47" file="teamsports/RD01105A.WMF.svg"/>
+ <svglayer note="48" file="teamsports/RD01110A.WMF.svg"/>
+ <svglayer note="49" file="teamsports/RD01111A.WMF.svg"/>
+ <svglayer note="50" file="teamsports/RD01134A.WMF.svg"/>
+ <svglayer note="51" file="teamsports/RD01138A.WMF.svg"/>
+ <svglayer note="52" file="teamsports/RD01166A.WMF.svg"/>
+ <svglayer note="53" file="teamsports/RD01173A.WMF.svg"/>
+ <svglayer note="54" file="teamsports/RD01175A.WMF.svg"/>
+ <svglayer note="55" file="teamsports/RD01177A.WMF.svg"/>
+ <svglayer note="56" file="teamsports/RD01246A.WMF.svg"/>
+ <svglayer note="57" file="teamsports/RD01263A.WMF.svg"/>
+ <svglayer note="58" file="teamsports/RD01264A.WMF.svg"/>
+ <svglayer note="59" file="teamsports/RD01265A.WMF.svg"/>
+ <svglayer note="60" file="teamsports/RD01284A.WMF.svg"/>
+ <svglayer note="61" file="teamsports/RD01285A.WMF.svg"/>
+ <svglayer note="62" file="teamsports/RD01287A.WMF.svg"/>
+ <svglayer note="63" file="teamsports/RD01288A.WMF.svg"/>
+ <svglayer note="64" file="teamsports/RD01289A.WMF.svg"/>
+ <svglayer note="65" file="teamsports/RD01290A.WMF.svg"/>
+ <svglayer note="66" file="teamsports/RD01425A.WMF.svg"/>
+ <svglayer note="67" file="teamsports/RD01427A.WMF.svg"/>
+ <svglayer note="68" file="teamsports/RD01525A.WMF.svg"/>
+ <svglayer note="69" file="teamsports/RD01577A.WMF.svg"/>
+ <svglayer note="70" file="teamsports/RD01586A.WMF.svg"/>
+ <svglayer note="71" file="teamsports/RD01589A.WMF.svg"/>
+ <svglayer note="72" file="teamsports/RD01590A.WMF.svg"/>
+ <svglayer note="73" file="teamsports/RD01593A.WMF.svg"/>
+ <svglayer note="74" file="teamsports/RD01606A.WMF.svg"/>
+ <svglayer note="75" file="teamsports/RD01615A.WMF.svg"/>
+ <svglayer note="76" file="teamsports/RD01617A.WMF.svg"/>
+ <svglayer note="77" file="teamsports/RD01618A.WMF.svg"/>
+ <svglayer note="78" file="teamsports/RD01619A.WMF.svg"/>
+ <svglayer note="79" file="teamsports/RD01620A.WMF.svg"/>
+ <svglayer note="80" file="teamsports/RD01621A.WMF.svg"/>
+ <svglayer note="81" file="teamsports/RD01622A.WMF.svg"/>
+ <svglayer note="82" file="teamsports/RD01627A.WMF.svg"/>
+ <svglayer note="83" file="teamsports/RD01628A.WMF.svg"/>
+ <svglayer note="84" file="teamsports/RD01630A.WMF.svg"/>
+ <svglayer note="85" file="teamsports/RD01631A.WMF.svg"/>
+ <svglayer note="86" file="teamsports/RD01633A.WMF.svg"/>
+ <svglayer note="87" file="teamsports/RD01634A.WMF.svg"/>
+ <svglayer note="88" file="teamsports/RD01636A.WMF.svg"/>
+ <svglayer note="89" file="teamsports/RD01650A.WMF.svg"/>
+ <svglayer note="90" file="teamsports/RD01655A.WMF.svg"/>
+ <svglayer note="91" file="teamsports/RD01661A.WMF.svg"/>
+ <svglayer note="92" file="teamsports/RD01662A.WMF.svg"/>
+ <svglayer note="93" file="teamsports/RD01669A.WMF.svg"/>
+ <svglayer note="94" file="teamsports/RD01674A.WMF.svg"/>
+ <svglayer note="95" file="teamsports/RD01677A.WMF.svg"/>
+ <svglayer note="96" file="teamsports/RD01678A.WMF.svg"/>
+ <svglayer note="97" file="teamsports/RD01680A.WMF.svg"/>
+ <svglayer note="98" file="teamsports/RD01682A.WMF.svg"/>
+ <svglayer note="99" file="teamsports/RD01698A.WMF.svg"/>
+ <svglayer note="100" file="teamsports/RD01699A.WMF.svg"/>
+</playlist>
diff --git a/liveengine/bin/data/test.svg b/liveengine/bin/data/test.svg
deleted file mode 100644
index 8869411..0000000
--- a/liveengine/bin/data/test.svg
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="744.09448819"
- height="1052.3622047"
- id="svg3137"
- version="1.1"
- inkscape:version="0.48+devel r10958"
- sodipodi:docname="New document 1">
- <defs
- id="defs3139" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="0.35"
- inkscape:cx="375"
- inkscape:cy="520"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="636"
- inkscape:window-height="769"
- inkscape:window-x="1149"
- inkscape:window-y="137"
- inkscape:window-maximized="0" />
- <metadata
- id="metadata3142">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1">
- <rect
- style="fill:#808000;stroke:#000000;stroke-width:0.2;stroke-miterlimit:3.8499999;stroke-opacity:1;stroke-dasharray:none"
- id="rect3145"
- width="140"
- height="240"
- x="145.71428"
- y="155.21933" />
- <rect
- style="fill:#ff0000;stroke:#000000;stroke-width:0.2;stroke-miterlimit:3.8499999;stroke-opacity:1;stroke-dasharray:none"
- id="rect3147"
- width="111.42857"
- height="297.14285"
- x="260"
- y="272.36218" />
- <rect
- style="fill:#0000ff;stroke:#000000;stroke-width:0.2;stroke-miterlimit:3.8499999;stroke-opacity:1;stroke-dasharray:none"
- id="rect3149"
- width="194.28572"
- height="220"
- x="302.85715"
- y="166.6479" />
- </g>
-</svg>
diff --git a/liveengine/liveengine.layout b/liveengine/liveengine.layout
index 6376d3e..82581a6 100644
--- a/liveengine/liveengine.layout
+++ b/liveengine/liveengine.layout
@@ -22,13 +22,13 @@
<File name="src/layers.h" open="1" top="0" tabpos="1">
<Cursor position="42" topLine="0" />
</File>
- <File name="src/main.cpp" open="1" top="0" tabpos="6">
+ <File name="src/main.cpp" open="1" top="0" tabpos="5">
<Cursor position="42" topLine="0" />
</File>
- <File name="src/testApp.cpp" open="1" top="0" tabpos="5">
- <Cursor position="6180" topLine="213" />
+ <File name="src/testApp.cpp" open="1" top="0" tabpos="6">
+ <Cursor position="5432" topLine="150" />
</File>
<File name="src/testApp.h" open="1" top="1" tabpos="4">
- <Cursor position="2105" topLine="47" />
+ <Cursor position="2322" topLine="61" />
</File>
</CodeBlocks_layout_file>
diff --git a/liveengine/src/layers.cpp b/liveengine/src/layers.cpp
index 6ab91ca..ad251ea 100644..100755
--- a/liveengine/src/layers.cpp
+++ b/liveengine/src/layers.cpp
@@ -17,33 +17,42 @@ void svglayer::load(string _f){
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());
}
- if (svg.getNumPath()>0) {
- xo=(ofGetWidth()-svg.getWidth())/2;
- yo=(ofGetHeight()-svg.getHeight())/2;
- }
isLoaded= (svg.getNumPath()>0);
}
+void svglayer::getCentre() {
+ if (svg.getNumPath()>0) {
+ xo=(ofGetWidth()-svg.getWidth())/2;
+ yo=(ofGetHeight()-svg.getHeight())/2;
+ }
+}
void svglayer::draw(float a) {
- //svg.draw();
+ getCentre();
for (int i=0;i<svg.getNumPath();i++) {
svg.getPathAt(i).setFillColor(fills[i]*a);
svg.getPathAt(i).draw(xo,yo);
}
}
-void svglayer::draw(float a,unsigned char* controllers) {
- //draw layers tinted by controllers
- for (int i=0;i<svg.getNumPath();i++) {
+
+void svglayer::draw(float a,unsigned char* controllers,bool transparentBlack) {
+ getCentre();
+ //draw layers tinted by controllers
+ for (int i=0;i<svg.getNumPath();i++) {
float h=fills[i].getHue();
float ha=h/42.7; //0-5
- int h1=(int)ha;
+ int h1=(((int)ha)+2)%6;
int h2=h1+1;
float f2=ha-h1;
float f1=1.0f-f2;
+ //if (transparentBlack) printf("transparent black draw %f\n",(a*(((controllers[h1]*f1)+(controllers[h2]*f2))/127.0)));
+
svg.getPathAt(i).setFillColor(fills[i]*a*(((controllers[h1]*f1)+(controllers[h2]*f2))/127.0));;
- svg.getPathAt(i).draw(xo,yo);
+ if (!transparentBlack||(a*(((controllers[h1]*f1)+(controllers[h2]*f2))/127.0))>0.1) {
+ svg.getPathAt(i).draw(xo,yo);
+ }
}
-}
+}
+
svglayer::~svglayer()
{
diff --git a/liveengine/src/layers.h b/liveengine/src/layers.h
index ae17989..6155626 100644..100755
--- a/liveengine/src/layers.h
+++ b/liveengine/src/layers.h
@@ -11,7 +11,7 @@ class layer
virtual ~layer(){};
virtual void load(string _f){};
virtual void draw(float a){};
- virtual void draw(float a,unsigned char* controllers){ draw(a);};
+ virtual void draw(float a,unsigned char* controllers,bool transparentBlack=false){ draw(a);};
bool getLoaded() {return isLoaded;};
protected:
bool isLoaded;
@@ -26,7 +26,8 @@ class svglayer: public layer
virtual ~svglayer();
void load(string _f);
void draw(float a);
- void draw(float a,unsigned char* controllers);
+ void draw(float a,unsigned char* controllers,bool transparentBlack=false);
+ void getCentre();
protected:
private:
ofxSVGTiny svg;
diff --git a/liveengine/src/main.cpp b/liveengine/src/main.cpp
index 28ab04b..dadd89f 100755
--- a/liveengine/src/main.cpp
+++ b/liveengine/src/main.cpp
@@ -7,7 +7,7 @@
int main( ){
ofAppGlutWindow window;
- ofSetupOpenGL(ofxFensterManager::get(),1024,768, OF_WINDOW);
+ ofSetupOpenGL(ofxFensterManager::get(),2048,768, OF_WINDOW);
//ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context
//ofSetupOpenGL(&window, 1024,768, OF_WINDOW);
diff --git a/liveengine/src/testApp.cpp b/liveengine/src/testApp.cpp
index 5e5a140..fc0adf4 100755
--- a/liveengine/src/testApp.cpp
+++ b/liveengine/src/testApp.cpp
@@ -10,11 +10,11 @@ void previewWindow::draw(){
float offset=(ofGetWidth()-ofGetHeight())/2;
ofPushMatrix();
-
+
ofTranslate(ofGetWidth()/2,ofGetHeight()/2);
ofRotate(90);
ofTranslate(-ofGetWidth()/2,-ofGetHeight()/2);
-
+
rb->draw(offset,-offset,ofGetHeight(),ofGetWidth());
ofPopMatrix();
}
@@ -50,10 +50,13 @@ void testApp::setup(){
controlColours=false;
debug=false;
noteRandomiseColours=false;
+ transparentBlack=false;
//ofGetWidth(), ofGetHeight(),GL_RGB); //
rb1.allocate(1024,768,GL_RGB);
rb2.allocate(1024,768,GL_RGB);
+ rb3.allocate(1024,768,GL_RGB);
+ rb4.allocate(1024,768,GL_RGB);
showFPS=false;
ofBackground(0,0,0);
@@ -68,7 +71,7 @@ void testApp::setup(){
mode=BLOCKS;
lastnoteTime=ofGetElapsedTimef();
- decayTime=2.0f;
+ decayTime=1.0f;
//ofSetVerticalSync(true); deosn't seem effective
//glXSwapIntervalSGI(1);
@@ -85,14 +88,16 @@ void testApp::setup(){
//window stuff
ofxFenster* win=ofxFensterManager::get()->createFenster(0, 0, ofGetHeight()/2, ofGetWidth()/2, OF_WINDOW);
- ofAddListener(win->events.mouseMoved, this, &testApp::mouseMovedEvent);
+ ofAddListener(win->events.mouseDragged, this, &testApp::mousePressedEvent);
+ ofAddListener(win->events.mousePressed, this, &testApp::mousePressedEvent);
ofAddListener(win->events.keyPressed, this, &testApp::keyPressedEvent);
win->setWindowTitle("preview");
win->addListener(&prevWin);
prevWin.setup();
prevWin.setBuffer(&rb2);
-
+ fullscreenoutput=false;
+
}
void testApp::makeColours() {
@@ -105,10 +110,12 @@ void testApp::update(){
}
//--------------------------------------------------------------
-void testApp::draw(){
+void testApp::draw(){
+
+ float lamda=max(0.0f,1.0f-((ofGetElapsedTimef()-lastnoteTime)/decayTime));
rb1.begin();
-
+
/* can this work?
grab.setAnchorPoint(xshift,yshift);
@@ -121,11 +128,11 @@ void testApp::draw(){
rb2.draw(i,j);
}
}
-
+
float notewidth=ofGetWidth()/NUM_NOTES;
float noteheight=ofGetHeight()/NUM_CONTROLLERS;
- float lamda=max(0.0f,1.0f-((ofGetElapsedTimef()-lastnoteTime)/decayTime));
+
if (note>0) {
switch(mode) {
@@ -143,7 +150,7 @@ void testApp::draw(){
ofRotate(rotate);
ofTranslate(-ofGetWidth()/2,-ofGetHeight()/2);
if (list.layers.find(note)!=list.layers.end()) {
- if (controlColours) list.layers[note]->draw(lamda,controllers);
+ if (controlColours) list.layers[note]->draw(lamda,controllers,transparentBlack);
else list.layers[note]->draw(lamda);
}
ofPopMatrix();
@@ -156,23 +163,94 @@ void testApp::draw(){
//for (int i=0;i<numLayers;i++) layers[i]->draw();
ofSetColor(255,255,255);
if (showFPS) ofDrawBitmapString(ofToString(ofGetFrameRate(), 2),20,20);
-
+
rb1.end();
-
+
rb2.begin();
ofSetColor(255,255,255);
rb1.draw(0,0);
rb2.end();
+
+ rb2.draw(1024,0);
+
+ rb3.begin(); //landscape
+
+
+ /* can this work?
+ grab.setAnchorPoint(xshift,yshift);
+ grab.setTextureWrap( GL_WRAP_BORDER, GL_WRAP_BORDER);
+ grab.draw(0,0); // xshift,yshift);
+ */
+ ofSetColor(255-fadetime,255-fadetime,255-fadetime);
+ for (int i=(yshift>0?yshift-ofGetWidth():yshift);i<ofGetWidth()*2;i+=ofGetWidth()) {
+ for (int j=(xshift>0?xshift-ofGetHeight():xshift);j<ofGetHeight()*2;j+=ofGetHeight()) {
+ rb4.draw(i,j);
+ }
+ }
+
+ notewidth=ofGetHeight()/NUM_NOTES;
+ noteheight=ofGetWidth()/NUM_CONTROLLERS;
+
+ ofPushMatrix();
+ ofTranslate(ofGetWidth()/2,ofGetHeight()/2);
+ ofRotate(-90);
+
+ if (note>0) {
+ switch(mode) {
+ case BLOCKS:
+ for (int i=0;i<NUM_CONTROLLERS;i++){
+ ofSetColor(ofColor((controller_colours[i].r*controllers[i])>>7,(controller_colours[i].g*controllers[i])>>7,(controller_colours[i].b*controllers[i])>>7));
+ ofRect((note-START_NOTE)*notewidth,i*noteheight,notewidth,noteheight);
+ }
+ break;
+ case LIST:
+ if (list.lock()) { //if playlist is loaded
+ ofPushMatrix();
+ ofTranslate(ofGetWidth()/2,ofGetHeight()/2);
+ ofScale(scale,scale,scale);
+ ofRotate(rotate);
+ ofTranslate(-ofGetWidth()/2,-ofGetHeight()/2);
+ if (list.layers.find(note)!=list.layers.end()) {
+ if (controlColours) list.layers[note]->draw(lamda,controllers,transparentBlack);
+ else list.layers[note]->draw(lamda);
+ }
+ ofPopMatrix();
+ list.unlock();
+ }
+ break;
+ }
+ }
- rb2.draw(0,0);
-
+ ofPopMatrix();
+
+ //for (int i=0;i<numLayers;i++) layers[i]->draw();
+ ofSetColor(255,255,255);
+ if (showFPS) ofDrawBitmapString(ofToString(ofGetFrameRate(), 2),20,20);
+
+ rb3.end();
+
+ rb4.begin();
+ ofSetColor(255,255,255);
+ rb3.draw(0,0);
+ rb4.end();
+
+ rb4.draw(0,0);
+
+ /* test screen shape
+ ofSetColor(255,0,0);
+ ofRect(0,0,1024,768);
+ ofSetColor(0,255,0);
+ ofRect(1024,0,1024,768);
+ */
}
//--------------------------------------------------------------
void testApp::keyPressed(int key, ofxFenster* win){
if(key == ' '){
- win->toggleFullscreen();
+ fullscreenoutput=!fullscreenoutput;
+ win->setFullscreen(fullscreenoutput);
+ printf("resolution: %ix%i %s\n",win->getWidth(),win->getHeight(),fullscreenoutput?"fullscreen":"windowed");
}
else keyPressed(key);
}
@@ -180,20 +258,35 @@ void testApp::keyPressed(int key){
if(key == 'q'){
list.load("insects.xml");
}
- if(key == 'w'){
- list.load("women_ethnic.xml");
+ if(key == 'Q'){
+ list.load("birds.xml");
+ }
+ if(key == 'w'){
+ list.load("teamsports.xml");
+ }
+ if(key == 'W'){
+ list.load("american_football.xml");
}
if(key == 'e'){
list.load("organs.xml");
}
+ if(key == 'E'){
+ list.load("crests.xml");
+ }
if(key == 'r'){
list.load("tai_chi.xml");
}
+ if(key == 'R'){
+ list.load("cricket.xml");
+ }
if(key == 't'){
list.load("reptiles.xml");
}
if(key == 'y'){
- list.load("military_ladies.xml");
+ list.load("miltary_ladies.xml");
+ }
+ if(key == 'Y'){
+ list.load("women_ethnic.xml");
}
if(key == 'u'){
list.load("knights.xml");
@@ -201,6 +294,9 @@ void testApp::keyPressed(int key){
if(key == 'i'){
list.load("mil_historic.xml");
}
+ if(key == 'I'){
+ list.load("mil_ethnic.xml");
+ }
if(key == 'o'){
list.load("yoga.xml");
}
@@ -233,7 +329,8 @@ void testApp::keyPressed(int key){
makeColours();
}
if(key == '-'){
- controlColours=!controlColours;
+ controlColours=!controlColours;
+ printf("%s control colours\n",controlColours?"do":"don't");
}
if(key == '+'){
fadetime=min(128,fadetime+1);
@@ -253,13 +350,18 @@ void testApp::keyPressed(int key){
if(key == '{'){
rotate-=90;
}
-
-
+
+
if(key == 'd'){
debug=!debug;
}
- if(key == 'p'){
+ 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");
}
}
@@ -301,8 +403,15 @@ void testApp::dragEvent(ofDragInfo dragInfo){
}
-void testApp::mouseMovedEvent(ofMouseEventArgs &args) {
- //cout << "MOUSE WAS MOVED" << endl;
+void testApp::mousePressedEvent(ofMouseEventArgs &args) {
+ //printf("mouse: %i,%i %i\n",args.x,args.y,args.button);
+ //0-2
+ switch (args.button) {
+ case 0:
+ yshift=(ofGetWidth()/2)-args.x;
+ xshift=args.y-(ofGetHeight()/2);
+ break;
+ }
}
void testApp::keyPressedEvent(ofKeyEventArgs &args) {
diff --git a/liveengine/src/testApp.h b/liveengine/src/testApp.h
index a556038..5e050da 100755
--- a/liveengine/src/testApp.h
+++ b/liveengine/src/testApp.h
@@ -58,6 +58,10 @@ non random colours
option to randomise colours on each note
+--make transparent
+
+--interface for exploring and saving - swapping?
+
*/
@@ -85,7 +89,7 @@ public:
ofFbo *rb;
void setup();
void setBuffer(ofFbo *buffer);
- void draw();
+ void draw();
};
//#define GRAB_TEXTURE
@@ -109,8 +113,8 @@ class testApp : public ofxFensterListener, public ofxMidiListener{
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
- void mouseMovedEvent(ofMouseEventArgs &args);
- void keyPressedEvent(ofKeyEventArgs &args);
+ void mousePressedEvent(ofMouseEventArgs &args);
+ void keyPressedEvent(ofKeyEventArgs &args);
void makeColours();
@@ -122,8 +126,13 @@ class testApp : public ofxFensterListener, public ofxMidiListener{
unsigned char* controllers;
int note, mode;
+ //to be moved into svg object gui
+
bool debug, controlColours;
bool noteRandomiseColours;
+ bool transparentBlack;
+
+ bool fullscreenoutput;
float lastnoteTime;
float decayTime;
@@ -136,7 +145,7 @@ class testApp : public ofxFensterListener, public ofxMidiListener{
ofColor* controller_colours;
- ofFbo rb1,rb2;
+ ofFbo rb1,rb2,rb3,rb4; //2 buffers * 2 outputs
previewWindow prevWin;