Skip to content

Commit 1bedeba

Browse files
committed
Dec 24 daily effect
1 parent b66dff3 commit 1bedeba

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = '0.1.24'
1+
__version__ = '0.1.25'
22

33
_classifiers = [
44
'Development Status :: 4 - Beta',

xled_plus/samples/day24.py

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
"""
2+
Day 24 - Christmas Tree Balls
3+
4+
Colored balls moving against a glittering white background.
5+
Merry Christmas!
6+
"""
7+
8+
from xled_plus.samples.sample_setup import *
9+
10+
class ChristmasBallsScene(MovingShapesScene):
11+
def __init__(self, ctr, cols):
12+
super(ChristmasBallsScene, self).__init__(ctr)
13+
self.freq = 0.5
14+
self.colors = cols
15+
self.whites = [hsl_color(0.4, 0.5, 0.2), hsl_color(0.1, 0.5, 0.2), hsl_color(0.0, 0.0, 0.2)]
16+
self.blink = hsl_color(0.0, 0.0, 1.0)
17+
self.bgpat = make_random_select_color_pattern(ctr, self.whites)
18+
self.preferred_frames = 640
19+
20+
def create(self):
21+
tp = int(random() * len(self.colors))
22+
speed = 0.02
23+
angle = random() * 2 * m.pi
24+
offset = (random() - 0.5) * 1.6
25+
vec = (m.sin(angle), m.cos(angle))
26+
cent = (-vec[0] * 1.5 + vec[1] * offset, -vec[1] * 1.5 - vec[0] * offset)
27+
vel = (vec[0] * speed, vec[1] * speed)
28+
nstep = int(3.0 / speed)
29+
sh = Ellipse(cent, 0.0, 0.16, 0.16, self.colors[tp])
30+
sh.set_speed(vel[0], vel[1])
31+
sh.set_depth(0.0)
32+
sh.duetime = self.time + nstep
33+
return sh
34+
35+
def getnext(self):
36+
pat1 = super(ChristmasBallsScene, self).getnext()
37+
patbg = sprinkle_pattern(self.ctr, self.bgpat, [self.blink], 0.05*self.ctr.num_leds)
38+
vec = self.getoccupancy()
39+
pat = [pat1[i] if vec[i] else patbg[i] for i in range(self.ctr.num_leds)]
40+
return pat
41+
42+
ctr = setup_control()
43+
ctr.adjust_layout_aspect(1.0) # How many times wider than high is the led installation?
44+
cols = [hsl_color(0.625, 1.0, -0.15), hsl_color(0.26, 1.0, -0.11), hsl_color(0.42, 1.0, -0.05), hsl_color(0.54, 1.0, -0.15)]
45+
# cols = [hsl_color(0.44, 1.0, -0.21), hsl_color(0.44, 1.0, 0.11), hsl_color(0.625, 1.0, -0.17), hsl_color(0.625, 1.0, 0.11)]
46+
ChristmasBallsScene(ctr, cols).launch_movie()

0 commit comments

Comments
 (0)