diff show/dance2023/theaterLightConfig.n3 @ 2212:b6f8f1b08959

finally: a fader controls an effect strength, which controls an effect, which emits deviceattrs
author drewp@bigasterisk.com
date Tue, 23 May 2023 12:34:04 -0700
parents ddff5ce676eb
children 1065c634e4a8
line wrap: on
line diff
--- a/show/dance2023/theaterLightConfig.n3	Tue May 23 11:44:54 2023 -0700
+++ b/show/dance2023/theaterLightConfig.n3	Tue May 23 12:34:04 2023 -0700
@@ -6,25 +6,50 @@
 @prefix show: <http://light9.bigasterisk.com/show/dance2023/> .
 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
 
+:EffectFunction rdfs:comment """
+Linked to a code function. That func's Inputs are 
+1) magic stuff like time, 
+2) the effectAttrs listed under (?effect :input ?)
+
+Outputs are always a DeviceSettings list which can affect arbitrary devices.
+""" .
+show:fadePage1f0 rdfs:comment ":strength connects the fader to sub0" .
 
 show:fadePage1 a :FadePage; rdfs:label "live controls"; :fader show:fadePage1f0, show:fadePage1f1 .
-show:fadePage1f0 a :Fader; :column "1"; :effectAttr :strength; :effectClass effect:effect0; :value 0.306 .
-show:fadePage1f1 a :Fader; :column "2"; :effectAttr :strength; :effectClass effect:effect2; :value 0.58 .
+show:fadePage1f0 
+  a :Fader; 
+  :column "1";  
+  :effect effect:sub0; 
+  :setting [ :effectAttr :strength ] . # fader value is applied to this attr.
 
 
-effect:effect0 
+effect:sub0 
   a :Effect; 
-  :setting effect:effect0_set1 .
-effect:effect0_set1 :device dev:plain1; :deviceAttr :brightness; :scaledValue 0.5 .
+  :effectFunction effect:scale; 
+  :input [ :effectAttr :strength ]; # also put the time here if the func needs it.
+  :setting 
+     [ :device dev:plain1; :deviceAttr :brightness; :value 0.5 ],
+     [ :device dev:par2;   :deviceAttr :color;      :value "#ff8000" ] .
 
-effect:effect2 a :Effect; 
-  rdfs:label "effect2"; 
-  :publishAttr :strength; 
-  :setting effect:effect2_set0, effect:effect2_set1, effect:effect2_set2, effect:effect2_set3 .
-effect:effect2_set0 :device dev:par6; :deviceAttr :color; :scaledValue 0.251 .
-effect:effect2_set1 :device dev:par2; :deviceAttr :color; :scaledValue 0.714 .
-effect:effect2_set2 :device dev:strip1; :deviceAttr :color; :scaledValue 0.651 .
-effect:effect2_set3 :device dev:strip2; :deviceAttr :color; :scaledValue 0.22 .
+effect:scale
+  a :EffectFunction;
+  rdfs:label "a submaster- a few devices at specified colors";
+  :input 
+    [ :effectAttr :strength; :value 0 ], # overridden by fader
+    [ :effectAttr :output; :value2 [ # something to say 'this attr value must resemble the following graph'
+        :device     :valueRequired;  # ...and it's repeatable, unlike :strength
+        :deviceAttr :valueRequired;
+        :value      :valueRequired ] ] .
+  
+
+# show:fadePage1f1 a :Fader; :column "2"; :effectAttr :strength; :effect effect:effect2 .
+# effect:effect2 a :Effect; 
+#   :publishAttr :strength; 
+#   :setting effect:effect2_set0, effect:effect2_set1, effect:effect2_set2, effect:effect2_set3 .
+# effect:effect2_set0 :device dev:par6; :deviceAttr :color; :scaledValue 0.251 .
+# effect:effect2_set1 :device dev:par2; :deviceAttr :color; :scaledValue 0.714 .
+# effect:effect2_set2 :device dev:strip1; :deviceAttr :color; :scaledValue 0.651 .
+# effect:effect2_set3 :device dev:strip2; :deviceAttr :color; :scaledValue 0.22 .
 
 
 dev:strip1  a :Bar612601d;        :dmxUniverse dmxA:; :dmxBase 175 .