Changeset - 854bac8c833f
[Not reviewed]
default
0 1 0
drewp@bigasterisk.com - 7 years ago 2018-06-09 19:21:21
drewp@bigasterisk.com
add chase2
Ignore-this: d4899c3d0cee5df643d8f52985414cd0
1 file changed with 25 insertions and 5 deletions:
0 comments (0 inline, 0 general)
light9/effect/effecteval.py
Show inline comments
 
@@ -8,13 +8,13 @@ import math
 
import traceback
 
from noise import pnoise1
 
import logging
 
import time
 
from light9.effect.settings import DeviceSettings
 
from light9.effect.scale import scale
 

	
 
import random
 

	
 
log = logging.getLogger('effecteval')
 

	
 
def literalColor(rnorm, gnorm, bnorm):
 
    return Literal(rgb_to_hex([int(rnorm * 255), int(gnorm * 255), int(bnorm * 255)]))
 

	
 
@@ -195,15 +195,13 @@ def effect_qsweep(effectSettings, streng
 
            (dev, L9['rx']):
 
            lerp(.3, .8, nsin(songTime / period + n / 4)),
 
        (dev, L9['ry']): effectSettings.get(L9['ry'], .2),
 
            })
 
    return out
 

	
 

	
 
def effect_chase1(effectSettings, strength, songTime, noteTime):
 
    members = [
 
chase1_members = [
 
        DEV['backlight1'],
 
        DEV['lip1'],
 
        DEV['backlight2'],
 
        DEV['down2'],
 
        DEV['lip2'],
 
        DEV['backlight3'],
 
@@ -214,14 +212,17 @@ def effect_chase1(effectSettings, streng
 
        DEV['lip4'],
 
        DEV['backlight5'],
 
        DEV['down5Edge'],
 
        DEV['lip5'],
 
        #DEV['upCenter'],
 
        ]
 
chase2_members = chase1_members * 10
 
random.shuffle(chase2_members)
 

	
 
    members = members + members[-2:0:-1]
 
def effect_chase1(effectSettings, strength, songTime, noteTime):
 
    members = chase1_members + chase1_members[-2:0:-1]
 
    
 
    out = {}
 
    period = float(effectSettings.get(L9['period'], 2 / len(members)))
 

	
 
    for i, dev in enumerate(members):
 
        cursor = (songTime / period) % float(len(members))
 
@@ -234,12 +235,31 @@ def effect_chase1(effectSettings, streng
 
        
 
            out.update({
 
                (dev, L9['color']): col,
 
            })
 
    return out
 

	
 
def effect_chase2(effectSettings, strength, songTime, noteTime):
 
    members = chase2_members
 
    
 
    out = {}
 
    period = float(effectSettings.get(L9['period'], 2 / len(members)))
 

	
 
    for i, dev in enumerate(members):
 
        cursor = (songTime / period) % float(len(members))
 
        dist = abs(i - cursor)
 
        radius = 3
 
        if dist < radius:
 
            col = effectSettings.get(L9['colorScale'], '#ffffff')
 
            col = scale(col, effectSettings.get(L9['strength'], 1))
 
            col = scale(col, (1 - dist / radius))
 
        
 
            out.update({
 
                (dev, L9['color']): col,
 
            })
 
    return out
 
    
 
def effect_orangeSearch(effectSettings, strength, songTime, noteTime):
 
    dev = L9['device/auraStage']
 
    return {(dev, L9['color']): '#a885ff',
 
            (dev, L9['rx']): lerp(.65, 1, nsin(songTime / 2.0)),
 
            (dev, L9['ry']): .6,
0 comments (0 inline, 0 general)