Mercurial > code > home > repos > light9
changeset 1847:eca35927bdd4
add qpan
Ignore-this: af3eafc1acf82df2ed7e1aa17e1dcc6a
author | drewp@bigasterisk.com |
---|---|
date | Sun, 10 Jun 2018 21:52:23 +0000 |
parents | 23765682d925 |
children | f1618af3b9cb |
files | light9/effect/effecteval.py |
diffstat | 1 files changed, 16 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/light9/effect/effecteval.py Sun Jun 10 21:07:42 2018 +0000 +++ b/light9/effect/effecteval.py Sun Jun 10 21:52:23 2018 +0000 @@ -31,7 +31,9 @@ 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 @@ }) 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')