Changeset - eca35927bdd4
[Not reviewed]
default
0 1 0
drewp@bigasterisk.com - 7 years ago 2018-06-10 21:52:23
drewp@bigasterisk.com
1 file changed with 16 insertions and 1 deletions:
0 comments (0 inline, 0 general)
light9/effect/effecteval.py
Show inline comments
 
@@ -28,13 +28,15 @@ def ncos(x): return (math.cos(x * (2 * m
 
def nsquare(t, on=.5):
 
    return (t % 1.0) < on
 
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
 
    device settings. No state; suitable for reload().
 
    """
 
    def __init__(self, graph, effect, simpleOutputs):
 
@@ -124,12 +126,25 @@ def effect_auraSparkles(effectSettings, 
 
        out.update({
 
        (dev, L9['rx']): lerp(.27, .8, (n-1)/4) + .2 * math.sin(ang+n),
 
        (dev, L9['ry']): lerp(.46, .52, (n-1)/4) + .4 * math.cos(ang+n),
 
            })
 
    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')
 
    tintStrength = float(effectSettings.get(L9['tintStrength'], 0))
 
    tr, tg, tb = hex_to_rgb(tint)
 
    for n in range(1, 5+1):
0 comments (0 inline, 0 general)