# HG changeset patch # User drewp@bigasterisk.com # Date 1371408161 0 # Node ID d91015a384fb122015923040561b81947d64bb6a # Parent 8f20c37205e4583dccc01703a70978be74c21ffb new hsv effect for controlling some leds. channels not configurable yet Ignore-this: 99edf73a293b9cbc71534135ac8270af diff -r 8f20c37205e4 -r d91015a384fb light9/Effects.py --- a/light9/Effects.py Sun Jun 16 18:33:58 2013 +0000 +++ b/light9/Effects.py Sun Jun 16 18:42:41 2013 +0000 @@ -1,6 +1,6 @@ from __future__ import division from random import Random -import logging +import logging, colorsys import light9.Submaster as Submaster from chase import chase as chase_logic import showconfig @@ -31,6 +31,17 @@ return Submaster.Submaster(name="chase" ,levels=lev) +def hsv(h, s, v, light='all', centerScale=.5): + r,g,b = colorsys.hsv_to_rgb(h % 1.0, s, v) + lev = {} + if light in ['left', 'all']: + lev[73], lev[74], lev[75] = r,g,b + if light in ['right', 'all']: + lev[80], lev[81], lev[82] = r,g,b + if light in ['center', 'all']: + lev[88], lev[89], lev[90] = r*centerScale,g*centerScale,b*centerScale + return Submaster.Submaster(name='hsv', levels=lev) + def stack(t, names=None, fade=0): """names is list of URIs. returns a submaster that stacks the the inputs @@ -66,4 +77,5 @@ ret['chase'] = chase ret['stack'] = stack + ret['hsv'] = hsv return ret