diff --git a/show/dance2015/build/patch.n3 b/show/dance2015/build/patch.n3
new file mode 100644
--- /dev/null
+++ b/show/dance2015/build/patch.n3
@@ -0,0 +1,273 @@
+#Processed by Id: cwm.py,v 1.197 2007/12/13 15:38:39 syosi Exp
+ # using base file:///home/drewp/projects-local/light9/show/dance2015/patch-source.n3
+
+# Notation3 generation by
+# notation3.py,v 1.200 2007/12/11 21:18:08 syosi Exp
+
+# Base was: file:///home/drewp/projects-local/light9/show/dance2015/patch-source.n3
+ @prefix : .
+ @prefix ch: .
+ @prefix dmx: .
+ @prefix rdfs: .
+
+ ch:b11 a :Channel;
+ :output dmx:c54;
+ rdfs:label "b11" .
+
+ ch:b12 a :Channel;
+ :output dmx:c53;
+ rdfs:label "b12" .
+
+ ch:b13 a :Channel;
+ :output dmx:c52;
+ rdfs:label "b13" .
+
+ ch:b14 a :Channel;
+ :output dmx:c51;
+ rdfs:label "b14" .
+
+ ch:b15 a :Channel;
+ :output dmx:c50;
+ rdfs:label "b15" .
+
+ ch:b16 a :Channel;
+ :output dmx:c49;
+ rdfs:label "b16" .
+
+ ch:b21 a :Channel;
+ :output dmx:c55;
+ rdfs:label "b21" .
+
+ ch:b22 a :Channel;
+ :output dmx:c56;
+ rdfs:label "b22" .
+
+ ch:b23 a :Channel;
+ :output dmx:c57;
+ rdfs:label "b23" .
+
+ ch:b24 a :Channel;
+ :output dmx:c58;
+ rdfs:label "b24" .
+
+ ch:b25 a :Channel;
+ :output dmx:c59;
+ rdfs:label "b25" .
+
+ ch:b26 a :Channel;
+ :output dmx:c60;
+ rdfs:label "b26" .
+
+ ch:b31 a :Channel;
+ :output dmx:c61;
+ rdfs:label "b31" .
+
+ ch:b32 a :Channel;
+ :output dmx:c62;
+ rdfs:label "b32" .
+
+ ch:b33 a :Channel;
+ :output dmx:c63;
+ rdfs:label "b33" .
+
+ ch:b34 a :Channel;
+ :output dmx:c64;
+ rdfs:label "b34" .
+
+ ch:b35 a :Channel;
+ :output dmx:c65;
+ rdfs:label "b35" .
+
+ ch:b36 a :Channel;
+ :output dmx:c66;
+ rdfs:label "b36" .
+
+ ch:blue1 a :Channel;
+ :output dmx:c23;
+ rdfs:label "blue1" .
+
+ ch:blue2 a :Channel;
+ :output dmx:c27;
+ rdfs:label "blue2" .
+
+ ch:blue3 a :Channel;
+ :output dmx:c31;
+ rdfs:label "blue3" .
+
+ ch:blue4 a :Channel;
+ :output dmx:c35;
+ rdfs:label "blue4" .
+
+ ch:cyc-left a :Channel;
+ :output dmx:c44;
+ rdfs:label "cyc-left" .
+
+ ch:cyc-mid a :Channel;
+ :output dmx:c43;
+ rdfs:label "cyc-mid" .
+
+ ch:cyc-right a :Channel;
+ :output dmx:c42;
+ rdfs:label "cyc-right" .
+
+ ch:down-c-P a :Channel;
+ :output dmx:c19;
+ rdfs:label "down-c-P" .
+
+ ch:f1 a :Channel;
+ :output dmx:c1;
+ rdfs:label "f1" .
+
+ ch:f10 a :Channel;
+ :output dmx:c10;
+ rdfs:label "f10" .
+
+ ch:f11 a :Channel;
+ :output dmx:c11;
+ rdfs:label "f11" .
+
+ ch:f12 a :Channel;
+ :output dmx:c12;
+ rdfs:label "f12" .
+
+ ch:f2 a :Channel;
+ :output dmx:c2;
+ rdfs:label "f2" .
+
+ ch:f3 a :Channel;
+ :output dmx:c3;
+ rdfs:label "f3" .
+
+ ch:f4 a :Channel;
+ :output dmx:c4;
+ rdfs:label "f4" .
+
+ ch:f5 a :Channel;
+ :output dmx:c5;
+ rdfs:label "f5" .
+
+ ch:f7 a :Channel;
+ :output dmx:c7;
+ rdfs:label "f7" .
+
+ ch:f8 a :Channel;
+ :output dmx:c8;
+ rdfs:label "f8" .
+
+ ch:f9 a :Channel;
+ :output dmx:c9;
+ rdfs:label "f9" .
+
+ ch:gree1 a :Channel;
+ :output dmx:c22;
+ rdfs:label "gree1" .
+
+ ch:gree2 a :Channel;
+ :output dmx:c26;
+ rdfs:label "gree2" .
+
+ ch:gree3 a :Channel;
+ :output dmx:c30;
+ rdfs:label "gree3" .
+
+ ch:gree4 a :Channel;
+ :output dmx:c34;
+ rdfs:label "gree4" .
+
+ ch:house-side a :Channel;
+ :output dmx:c68;
+ rdfs:label "house-side" .
+
+ ch:house1 a :Channel;
+ :output dmx:c69;
+ rdfs:label "house1" .
+
+ ch:house2 a :Channel;
+ :output dmx:c72;
+ rdfs:label "house2" .
+
+ ch:house3 a :Channel;
+ :output dmx:c71;
+ rdfs:label "house3" .
+
+ ch:house4 a :Channel;
+ :output dmx:c70;
+ rdfs:label "house4" .
+
+ ch:oran1 a :Channel;
+ :output dmx:c21;
+ rdfs:label "oran1" .
+
+ ch:oran2 a :Channel;
+ :output dmx:c25;
+ rdfs:label "oran2" .
+
+ ch:oran3 a :Channel;
+ :output dmx:c29;
+ rdfs:label "oran3" .
+
+ ch:oran4 a :Channel;
+ :output dmx:c33;
+ rdfs:label "oran4" .
+
+ ch:post-l a :Channel;
+ :output dmx:c45;
+ rdfs:label "post-l" .
+
+ ch:post-r a :Channel;
+ :output dmx:c46;
+ rdfs:label "post-r" .
+
+ ch:red1 a :Channel;
+ :output dmx:c24;
+ rdfs:label "red1" .
+
+ ch:red2 a :Channel;
+ :output dmx:c28;
+ rdfs:label "red2" .
+
+ ch:red3 a :Channel;
+ :output dmx:c32;
+ rdfs:label "red3" .
+
+ ch:red4 a :Channel;
+ :output dmx:c36;
+ rdfs:label "red4" .
+
+ ch:rgb3-b a :Channel;
+ :output dmx:c90;
+ rdfs:label "rgb3-b" .
+
+ ch:rgb3-g a :Channel;
+ :output dmx:c89;
+ rdfs:label "rgb3-g" .
+
+ ch:rgb3-mode a :Channel;
+ :output dmx:c87;
+ rdfs:label "rgb3-mode" .
+
+ ch:rgb3-r a :Channel;
+ :output dmx:c88;
+ rdfs:label "rgb3-r" .
+
+ ch:sharlyn a :Channel;
+ :output dmx:c6;
+ rdfs:label "sharlyn" .
+
+ ch:strobebright a :Channel;
+ :output dmx:c48;
+ rdfs:label "strobebright" .
+
+ ch:strobespeed a :Channel;
+ :output dmx:c47;
+ rdfs:label "strobespeed" .
+
+ ch:upleft a :Channel;
+ :output dmx:c38;
+ rdfs:label "upleft" .
+
+ ch:upright a :Channel;
+ :output dmx:c37;
+ rdfs:label "upright" .
+
+#ENDS
diff --git a/show/dance2015/sub/blue.n3 b/show/dance2015/sub/blue.n3
--- a/show/dance2015/sub/blue.n3
+++ b/show/dance2015/sub/blue.n3
@@ -6,56 +6,26 @@
a ns1:Submaster ;
rdfs:label "blue" ;
- ns1:color "#0000ff"; ns1:group "color";
+ ns1:color "#0000ff" ;
+ ns1:group "color" ;
+ ns1:lightLevel ,
+ ,
+ ,
+ .
- ns1:lightLevel ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- .
+ a ns1:ChannelSetting ;
+ ns1:channel ;
+ ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 4.05e-01 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 0e+00 .
-
- a ns1:ChannelSetting ;
+ a ns1:ChannelSetting ;
ns1:channel ;
ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
+ a ns1:ChannelSetting ;
+ ns1:channel ;
ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 3.8e-01 .
-
- a ns1:ChannelSetting ;
+ a ns1:ChannelSetting ;
ns1:channel ;
ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 1e+00 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 5.8e-01 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 0e+00 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 1e+00 .
-
diff --git a/show/dance2015/sub/green.n3 b/show/dance2015/sub/green.n3
--- a/show/dance2015/sub/green.n3
+++ b/show/dance2015/sub/green.n3
@@ -6,42 +6,26 @@
a ns1:Submaster ;
rdfs:label "green" ;
- ns1:color "#00ff00";
- ns1:group "color";
-
- ns1:lightLevel ,
- ,
- ,
- ,
- ,
- ,
- .
+ ns1:color "#00ff00" ;
+ ns1:group "color" ;
+ ns1:lightLevel ,
+ ,
+ ,
+ .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 1.2e-01 .
+ a ns1:ChannelSetting ;
+ ns1:channel ;
+ ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 3.9e-01 .
+ a ns1:ChannelSetting ;
+ ns1:channel ;
+ ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 6.25e-01 .
-
- a ns1:ChannelSetting ;
+ a ns1:ChannelSetting ;
ns1:channel ;
ns1:level 1e+00 .
- a ns1:ChannelSetting ;
+ a ns1:ChannelSetting ;
ns1:channel ;
ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 1e+00 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 1e+00 .
-
diff --git a/show/dance2015/sub/neo1.n3 b/show/dance2015/sub/neo1.n3
new file mode 100644
--- /dev/null
+++ b/show/dance2015/sub/neo1.n3
@@ -0,0 +1,14 @@
+@prefix ns1: .
+@prefix rdf: .
+@prefix rdfs: .
+@prefix xml: .
+@prefix xsd: .
+
+ a ns1:Submaster ;
+ rdfs:label "neo1" ;
+ ns1:drivesEffect .
+
+ a ns1:Effect,
+ ;
+ ns1:code "level = ",
+ "out = Strip.solid('LR', (1,1,1)) * level" .
diff --git a/show/dance2015/sub/orange.n3 b/show/dance2015/sub/orange.n3
--- a/show/dance2015/sub/orange.n3
+++ b/show/dance2015/sub/orange.n3
@@ -6,56 +6,26 @@
a ns1:Submaster ;
rdfs:label "orange" ;
- ns1:color "#f08000";
- ns1:group "color";
- ns1:lightLevel ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- .
+ ns1:color "#f08000" ;
+ ns1:group "color" ;
+ ns1:lightLevel ,
+ ,
+ ,
+ .
- a ns1:ChannelSetting ;
+ a ns1:ChannelSetting ;
ns1:channel ;
ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 2.9e-01 .
+ a ns1:ChannelSetting ;
+ ns1:channel ;
+ ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 5e-01 .
-
- a ns1:ChannelSetting ;
+ a ns1:ChannelSetting ;
ns1:channel ;
ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 2.95e-01 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 5e-01 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 1.55e-01 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 1e+00 .
-
- a ns1:ChannelSetting ;
+ a ns1:ChannelSetting ;
ns1:channel ;
ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 2.85e-01 .
-
diff --git a/show/dance2015/sub/yellow.n3 b/show/dance2015/sub/yellow.n3
--- a/show/dance2015/sub/yellow.n3
+++ b/show/dance2015/sub/yellow.n3
@@ -6,33 +6,21 @@
a ns1:Submaster ;
rdfs:label "yellow" ;
- ns1:color "#ffff00"; ns1:group "color";
-
+ ns1:color "#ffff00" ;
+ ns1:group "color" ;
ns1:lightLevel ,
- ,
,
,
,
,
,
,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- .
+ .
a ns1:ChannelSetting ;
ns1:channel ;
ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 8.1e-01 .
-
a ns1:ChannelSetting ;
ns1:channel ;
ns1:level 1e+00 .
@@ -57,35 +45,7 @@
ns1:channel ;
ns1:level 1e+00 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 9.05e-01 .
-
a ns1:ChannelSetting ;
ns1:channel ;
- ns1:level 1e+00 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 1e+00 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 1e+00 .
+ ns1:level 9.8e-01 .
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 4e-01 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 1e+00 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 1e+00 .
-
- a ns1:ChannelSetting ;
- ns1:channel ;
- ns1:level 5.4e-01 .
-
diff --git a/show/dance2015/vidrefConfig.n3 b/show/dance2015/vidrefConfig.n3
new file mode 100644
--- /dev/null
+++ b/show/dance2015/vidrefConfig.n3
@@ -0,0 +1,8 @@
+@prefix ns1: .
+@prefix rdf: .
+@prefix rdfs: .
+@prefix xml: .
+@prefix xsd: .
+
+ ns1:vidrefCamRequest .
+