You can now define a maximum distance between colors to blend to during random effects in order to prevent extremely colorful displays.
This commit is contained in:
16
src/main.cpp
16
src/main.cpp
@ -220,11 +220,9 @@ void loop() {
|
||||
}
|
||||
|
||||
if (random8(128)==0) {
|
||||
if (active_mode == AM_FIRST_CORNER) {
|
||||
corners[0]->blend_to(CHSV(random8(), 255, 255));
|
||||
} else {
|
||||
corners[random16(corners.size())]->blend_to(CHSV(random8(), 255, 255));
|
||||
}
|
||||
uint16_t corner = (active_mode == AM_FIRST_CORNER) ? 0 : random16(corners.size());
|
||||
CHSV color = rgb2hsv_approximate(corners[corner]->color);
|
||||
corners[corner]->blend_to(CHSV(color.h - COLOR_DIFFERENCE + random8(2*COLOR_DIFFERENCE), 255, 255));
|
||||
}
|
||||
} else if (active_mode == AM_NODES || active_mode == AM_FIRST_NODE) {
|
||||
for(Node* node : nodes) {
|
||||
@ -233,11 +231,9 @@ void loop() {
|
||||
}
|
||||
|
||||
if (random8(128)==0) {
|
||||
if (active_mode == AM_FIRST_NODE) {
|
||||
nodes[0]->blend_to(CHSV(random8(), 255, 255));
|
||||
} else {
|
||||
nodes[random8(nodes.size())]->blend_to(CHSV(random8(), 255, 255));
|
||||
}
|
||||
uint16_t corner = (active_mode == AM_FIRST_NODE) ? 0 : random8(nodes.size());
|
||||
CHSV color = rgb2hsv_approximate(corners[corner]->color);
|
||||
nodes[corner]->blend_to(CHSV(color.h - COLOR_DIFFERENCE + random8(2*COLOR_DIFFERENCE), 255, 255));
|
||||
}
|
||||
} else if (active_mode == AM_FLASH) {
|
||||
for (Node* node : nodes) {
|
||||
|
Reference in New Issue
Block a user