mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Allow random mood blobs color, set mood-blobs-full to random
Small change to allow a random start hue for mood blobs - adds a bit of spice instead of starting at the same color every time. Former-commit-id: 2b5a0250b95ac5632661d3b8fce3c1567f5daaa3
This commit is contained in:
@@ -2,10 +2,12 @@ import hyperion
|
||||
import time
|
||||
import colorsys
|
||||
import math
|
||||
from random import random
|
||||
|
||||
# Get the parameters
|
||||
rotationTime = float(hyperion.args.get('rotationTime', 20.0))
|
||||
color = hyperion.args.get('color', (0,0,255))
|
||||
colorRandom = bool(hyperion.args.get('colorRandom', False))
|
||||
hueChange = float(hyperion.args.get('hueChange', 60.0))
|
||||
blobs = int(hyperion.args.get('blobs', 5))
|
||||
reverse = bool(hyperion.args.get('reverse', False))
|
||||
@@ -34,6 +36,9 @@ baseColorChangeRate = max(0, baseColorChangeRate) # > 0
|
||||
|
||||
# Calculate the color data
|
||||
baseHsv = colorsys.rgb_to_hsv(color[0]/255.0, color[1]/255.0, color[2]/255.0)
|
||||
if colorRandom:
|
||||
baseHsv = (random(), baseHsv[1], baseHsv[2])
|
||||
|
||||
colorData = bytearray()
|
||||
for i in range(hyperion.ledCount):
|
||||
hue = (baseHsv[0] + hueChange * math.sin(2*math.pi * i / hyperion.ledCount)) % 1.0
|
||||
|
Reference in New Issue
Block a user