diff --git a/bin/collector b/bin/collector --- a/bin/collector +++ b/bin/collector @@ -62,7 +62,7 @@ def launch(graph): # todo: drive outputs with config files outputs = [ - EnttecDmx(L9['output/dmx0/'], '/dev/dmx3', 80), + EnttecDmx(L9['output/dmx0/'], '/dev/dmx0', 80), Udmx(L9['output/udmx/'], 510), ] c = Collector(graph, outputs) diff --git a/light9/effect/effecteval.py b/light9/effect/effecteval.py --- a/light9/effect/effecteval.py +++ b/light9/effect/effecteval.py @@ -113,7 +113,7 @@ class EffectEval(object): def effect_Curtain(effectSettings, strength, songTime): return { (L9['device/lowPattern%s' % n], L9['color']): - literalColor(0*strength, strength, strength) + literalColor(strength, strength, strength) for n in range(301,308+1) } @@ -142,6 +142,37 @@ def effect_animRainbow(effectSettings, s }) return out +def effect_orangeSearch(effectSettings, strength, songTime): + dev = L9['device/auraStage'] + return {(dev, L9['color']): '#c1905d', + (dev, L9['rx']): lerp(.31, .68, nsquare(songTime / 2.0)), + (dev, L9['ry']): lerp(.32, .4, nsin(songTime / 5)), + (dev, L9['zoom']): .88, + } + + tint = effectSettings.get(L9['tint'], '#ffffff') + tintStrength = float(effectSettings.get(L9['tintStrength'], 0)) + print tint, tintStrength + tr, tg, tb = hex_to_rgb(tint) + for n in range(1, 5+1): + scl = strength * nsin(songTime + n * .3)**3 + col = literalColor( + scl * lerp(nsin(songTime + n * .2), tr/255, tintStrength), + scl * lerp(nsin(songTime + n * .2 + .3), tg/255, tintStrength), + scl * lerp(nsin(songTime + n * .3 + .6), tb/255, tintStrength)) + + dev = L9['device/aura%s' % n] + out.update({ + (dev, L9['color']): col, + (dev, L9['zoom']): .9, + }) + ang = songTime * 4 + out.update({ + (dev, L9['rx']): lerp(.27, .7, (n-1)/4) + .2 * math.sin(ang+n), + (dev, L9['ry']): lerp(.46, .52, (n-1)/4) + .5 * math.cos(ang+n), + }) + return out + def effect_Strobe(effectSettings, strength, songTime): rate = 2 duty = .3 diff --git a/show/dance2016/effect.n3 b/show/dance2016/effect.n3 --- a/show/dance2016/effect.n3 +++ b/show/dance2016/effect.n3 @@ -8,17 +8,17 @@ +#effect:usa a :mockupEffect; rdfs:label "USA"; :chaseOffset 0; +# :chaseTempo 120; :code "chase()"; :devices dev:colorStrip, dev:moving1; +# :fadeShape :fadeCurve1; :palette "#0000ff", "#ff0000", "#ffffff"; +# :publishAttr :strength . + effect:Strobe a :Effect; rdfs:label "strobe"; :publishAttr :duty, :offset, :rate, :strength . -effect:animRainbow a :Effect; rdfs:label "animRainbow"; :publishAttr :strength, :rate . - - +effect:animRainbow a :Effect; rdfs:label "animRainbow"; :publishAttr :strength, :rate ; :group "anim". -effect:usa a :mockupEffect; rdfs:label "USA"; :chaseOffset 0; - :chaseTempo 120; :code "chase()"; :devices dev:colorStrip, dev:moving1; - :fadeShape :fadeCurve1; :palette "#0000ff", "#ff0000", "#ffffff"; - :publishAttr :strength . +effect:orangeSearch a :Effect; :publishAttr :strength ; :group "anim". effect:house :group "main" . effect:cyc :group "main" . 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 dev: . @prefix effect: . @prefix rdf: . @prefix rdfs: . @@ -11,19 +12,19 @@ :note song:n0, song:n3 . song:n0 a :Note; :curve song:n0c0; :effectClass effect:centerSpot; - :originTime 30.398 . + :originTime 30.836 . song:n0c0 a :Curve; :attr :strength; :point song:n0c0p0, song:n0c0p1, song:n0c0p2, song:n0c0p3 . song:n0c0p0 :time 0.000; :value 0.000 . song:n0c0p1 :time 1.000; :value 1.000 . -song:n0c0p2 :time 2.000; :value 1.000 . -song:n0c0p3 :time 3.000; :value 0.000 . +song:n0c0p2 :time 4.170; :value 1.000 . +song:n0c0p3 :time 5.772; :value 0.000 . song:n3 a :Note; :curve song:n3c0; :effectClass effect:Curtain; - :originTime 32.297 . + :originTime 32.932 . song:n3c0 a :Curve; :attr :strength; :point song:n3c0p0, song:n3c0p1, song:n3c0p2, song:n3c0p3 . song:n3c0p0 :time 0.153; :value 0.000 . song:n3c0p1 :time 1.000; :value 1.000 . song:n3c0p2 :time 2.000; :value 1.000 . -song:n3c0p3 :time 2.928; :value 0.000 . +song:n3c0p3 :time 3.236; :value 0.000 .