diff --git a/show/dance2016/URI b/show/dance2016/URI
new file mode 100644
--- /dev/null
+++ b/show/dance2016/URI
@@ -0,0 +1,1 @@
+http://light9.bigasterisk.com/show/dance2016
diff --git a/show/dance2016/effect.n3 b/show/dance2016/effect.n3
new file mode 100644
--- /dev/null
+++ b/show/dance2016/effect.n3
@@ -0,0 +1,38 @@
+@prefix : .
+@prefix effect: .
+@prefix rdfs: .
+@prefix dev: .
+
+
+effect:RedStrip a :EffectClass;
+ rdfs:label "red";
+ :publishAttr :strength;
+ :deviceSetting :ds1, :ds2 .
+:ds1 :device dev:colorStrip; :attr :red; :value "strength" .
+:ds2 :device dev:moving1; :attr :red; :value "strength" .
+
+
+effect:BlueStrip a :EffectClass;
+ rdfs:label "blue";
+ :publishAttr :strength;
+ :deviceSetting :ds3 .
+:ds3 :device dev:colorStrip; :attr :blue; :value "strength" .
+
+:strength rdfs:label "strength" .
+
+effect:usa a :EffectClass;
+ rdfs:label "USA";
+ :publishAttr :strength;
+ :code "chase()";
+ :devices dev:colorStrip, dev:moving1;
+ :fadeShape :fadeCurve1;
+ :chaseTempo 120;
+ :chaseOffset 0;
+ :palette "#ff0000", "#ffffff", "#0000ff" .
+
+:fadeCurve1 a :Curve;
+ :point :fc1p0, :fc1p1, :fc1p2, :fc1p3 .
+:fc1p0 :time 0.00; :value 0 .
+:fc1p1 :time 0.02; :value 1 .
+:fc1p2 :time 0.10; :value 1 .
+:fc1p3 :time 0.15; :value 0 .
diff --git a/show/dance2016/networking.n3 b/show/dance2016/networking.n3
new file mode 100644
--- /dev/null
+++ b/show/dance2016/networking.n3
@@ -0,0 +1,34 @@
+@prefix : .
+@prefix show: .
+@prefix sh: .
+
+show:dance2016 :networking sh:netHome .
+sh:netHome
+ :webServer ;
+ :patchReceiverUpdateHost "dash";
+ :curveCalc ;
+ :collector ;
+ :collectorZmq ;
+ :effectEval ;
+ :effectSequencer ;
+ :keyboardComposer ;
+ :musicPlayer ;
+ :oscDmxServer ;
+ :picamserve ;
+ :rdfdb ;
+ :subComposer ;
+ :subServer ;
+ :vidref .
+
+:curveCalc :urlPath "curveCalc" .
+:dmxServer :urlPath "dmxServer" .
+:effectEval :urlPath "effectEval" .
+:keyboardComposer :urlPath "keyboardComposer" .
+:musicPlayer :urlPath "ascoltami" .
+:picamserve :urlPath "picamserve" .
+:rdfdb :urlPath "rdfdb" .
+:subComposer :urlPath "subComposer" .
+:subServer :urlPath "subServer" .
+:vidref :urlPath "vidref" .
+:collector :urlPath "collector" .
+:effectSequencer :urlPath "effectSequencer" .
\ No newline at end of file
diff --git a/show/dance2016/playlist.n3 b/show/dance2016/playlist.n3
new file mode 100644
--- /dev/null
+++ b/show/dance2016/playlist.n3
@@ -0,0 +1,35 @@
+@prefix : .
+@prefix show: .
+@prefix sh: .
+@prefix rdf: .
+@prefix rdfs: .
+
+show:dance2016 :musicRoot "show/dance2016/music";
+:spectrogramUrlRoot "/show/dance2016/spectrogram" .
+
+show:dance2016 :playList (
+ sh:song1 sh:song2 sh:song3 sh:song4 sh:song5
+ sh:song6 sh:song7 sh:song8 sh:song9 sh:song10
+ sh:song11 sh:song12 sh:song13 sh:song14 sh:song15
+ sh:song16 sh:song17
+) .
+
+sh:song1 a :Song; rdfs:label "01 dream"; :songFilename "01-dream.wav" .
+sh:song2 a :Song; rdfs:label "02 madeforme"; :songFilename "02-madeforme.wav" .
+sh:song3 a :Song; rdfs:label "03 fun-cut1"; :songFilename "03-fun-cut1.wav" .
+sh:song4 a :Song; rdfs:label "04 rockette"; :songFilename "04-rockette.wav" .
+sh:song5 a :Song; rdfs:label "05 browneyed"; :songFilename "05-browneyed.wav" .
+sh:song6 a :Song; rdfs:label "06 western"; :songFilename "06-western.wav" .
+sh:song7 a :Song; rdfs:label "07 broadwaymelody"; :songFilename "07-broadwaymelody.wav" .
+sh:song8 a :Song; rdfs:label "08 mama"; :songFilename "08-mama.wav" .
+sh:song9 a :Song; rdfs:label "09 barbie"; :songFilename "09-barbie.wav" .
+sh:song10 a :Song; rdfs:label "10 long"; :songFilename "10-long.wav" .
+sh:song11 a :Song; rdfs:label "11 itsthegirl"; :songFilename "11-itsthegirl.wav" .
+sh:song12 a :Song; rdfs:label "12 eleanor"; :songFilename "12-eleanor.wav" .
+sh:song13 a :Song; rdfs:label "13 california"; :songFilename "13-california.wav" .
+sh:song14 a :Song; rdfs:label "14 enjoy"; :songFilename "14-enjoy.wav" .
+sh:song15 a :Song; rdfs:label "15 britney"; :songFilename "15-britney.wav" .
+sh:song16 a :Song; rdfs:label "16 hiphop-cut1"; :songFilename "16-hiphop-cut1.wav" .
+sh:song17 a :Song; rdfs:label "17 fight"; :songFilename "17-fight.wav" .
+
+
diff --git a/show/dance2016/song1.n3 b/show/dance2016/song1.n3
--- a/show/dance2016/song1.n3
+++ b/show/dance2016/song1.n3
@@ -1,4 +1,5 @@
@prefix : .
+@prefix effect: .
@prefix rdf: .
@prefix rdfs: .
@prefix song: .
@@ -18,8 +19,8 @@ song:n1 a :Note ;
:attrOverride :ao0,
:ao1 ;
:curve song:n1c1 ;
- :effectClass :usa ;
- :originTime 25.656 .
+ :effectClass effect:RedStrip ;
+ :originTime 30.824 .
song:n1c1 a :Curve ;
:attr :strength ;
@@ -31,18 +32,19 @@ song:n1c1 a :Curve ;
song:n1c1p0 :time 0.00 ;
:value 0 .
-song:n1c1p1 :time 12.08 ;
+song:n1c1p1 :time 1 ;
:value 1 .
-song:n1c1p2 :time 15.10 ;
+song:n1c1p2 :time 2 ;
:value 1 .
-song:n1c1p3 :time 23.65 ;
+song:n1c1p3 :time 3 ;
:value 0 .
song:n2 a :Note ;
:curve song:n2c1 ;
- :originTime 65.792 .
+ :effectClass effect:BlueStrip ;
+ :originTime 33.161 .
song:n2c1 a :Curve ;
:attr :strength ;
@@ -54,12 +56,12 @@ song:n2c1 a :Curve ;
song:n2c1p0 :time 0.00 ;
:value 0 .
-song:n2c1p1 :time 12.08 ;
+song:n2c1p1 :time 1 ;
:value 1 .
-song:n2c1p2 :time 15.10 ;
+song:n2c1p2 :time 2 ;
:value 1 .
-song:n2c1p3 :time 23.65 ;
+song:n2c1p3 :time 3 ;
:value 0 .
diff --git a/show/dance2016/theaterLightConfig.n3 b/show/dance2016/theaterLightConfig.n3
new file mode 100644
--- /dev/null
+++ b/show/dance2016/theaterLightConfig.n3
@@ -0,0 +1,53 @@
+@prefix : .
+@prefix dev: .
+@prefix udmx: .
+@prefix dmx0: .
+
+dmx0:c87 :connectedTo dev:colorStripMode .
+dmx0:c88 :connectedTo dev:colorStripRed .
+dmx0:c89 :connectedTo dev:colorStripGreen .
+dmx0:c90 :connectedTo dev:colorStripBlue .
+
+dev:colorStrip a :ChauvetColorStrip, :Device;
+ :mode dev:colorStripMode;
+ :red dev:colorStripRed;
+ :green dev:colorStripGreen;
+ :blue dev:colorStripBlue .
+
+# All these bnodes don't refresh well, but they need to be rewritten
+# as offsets from a single dmx start index, and they need to be
+# inherited with the device type
+dev:moving1 a :Mini15, :Device;
+ :xRotation [ is :connectedTo of udmx:c5 ];
+ :xFine [ is :connectedTo of udmx:c6 ];
+ :yRotation [ is :connectedTo of udmx:c7 ];
+ :yFine [ is :connectedTo of udmx:c8 ];
+ :rotationSpeed [ is :connectedTo of udmx:c9 ];
+ :dimmer [ is :connectedTo of udmx:c10 ];
+ :red [ is :connectedTo of udmx:c11 ];
+ :green [ is :connectedTo of udmx:c12 ];
+ :blue [ is :connectedTo of udmx:c13 ];
+ :colorChange [ is :connectedTo of udmx:c14 ];
+ :colorSpeed [ is :connectedTo of udmx:c15 ];
+ :goboShake [ is :connectedTo of udmx:c16 ];
+ :goboChoose [ is :connectedTo of udmx:c17 ] .
+
+# [ :name "cyc-right"; :output dmx:c42 ] .
+# [ :name "cyc-mid"; :output dmx:c43 ] .
+# [ :name "cyc-left"; :output dmx:c44 ] .
+# [ :name "oran1"; :output dmx:c21 ] .
+# [ :name "oran2"; :output dmx:c25 ] .
+# [ :name "oran3"; :output dmx:c29 ] .
+# [ :name "oran4"; :output dmx:c33 ] .
+# [ :name "gree1"; :output dmx:c22 ] .
+# [ :name "gree2"; :output dmx:c26 ] .
+# [ :name "gree3"; :output dmx:c30 ] .
+# [ :name "gree4"; :output dmx:c34 ] .
+# [ :name "blue1"; :output dmx:c23 ] .
+# [ :name "blue2"; :output dmx:c27 ] .
+# [ :name "blue3"; :output dmx:c31 ] .
+# [ :name "blue4"; :output dmx:c35 ] .
+# [ :name "red1"; :output dmx:c24 ] .
+# [ :name "red2"; :output dmx:c28 ] .
+# [ :name "red3"; :output dmx:c32 ] .
+# [ :name "red4"; :output dmx:c36 ] .
diff --git a/show/dance2016/vidrefConfig.n3 b/show/dance2016/vidrefConfig.n3
new file mode 100644
--- /dev/null
+++ b/show/dance2016/vidrefConfig.n3
@@ -0,0 +1,8 @@
+@prefix ns1: .
+@prefix rdf: .
+@prefix rdfs: .
+@prefix xml: .
+@prefix xsd: .
+
+ ns1:vidrefCamRequest .
+