# HG changeset patch # User drewp@bigasterisk.com # Date 2018-06-10 21:52:23 # Node ID eca35927bdd44840d6be9bf5442d5866bec215c5 # Parent 23765682d925d5334fef4bb6acd8047374acd436 add qpan Ignore-this: af3eafc1acf82df2ed7e1aa17e1dcc6a diff --git a/light9/effect/effecteval.py b/light9/effect/effecteval.py --- a/light9/effect/effecteval.py +++ b/light9/effect/effecteval.py @@ -31,7 +31,9 @@ def lerp(a, b, t): return a + (b - a) * t def noise(t): return pnoise1(t % 1000.0, 2) - +def clamp(lo, hi, x): + return max(lo, min(hi, x)) + class EffectEval(object): """ runs one effect's code to turn effect attr settings into output @@ -127,6 +129,19 @@ def effect_auraSparkles(effectSettings, }) return out +def effect_qpan(effectSettings, strength, songTime, noteTime): + dev = L9['device/q2'] + dur = 4 + col = scale(scale('#ffffff', strength), + effectSettings.get(L9['colorScale']) or '#ffffff') + return { + (dev, L9['color']): col, + (dev, L9['focus']): 0.589, + (dev, L9['rx']): lerp(0.778, 0.291, clamp(0, 1, noteTime / dur)), + (dev, L9['ry']): 0.383, + (dev, L9['zoom']): 0.714, + } + def effect_pulseRainbow(effectSettings, strength, songTime, noteTime): out = {} tint = effectSettings.get(L9['tint'], '#ffffff')