@@ -17,50 +17,24 @@ class RainbowEffect : public Node {
1717 static uint8_t dim () { return _1D; }
1818 static const char * tags () { return " 🔥⚡️" ; }
1919
20- uint8_t deltaHue = 7 ;
2120 uint8_t speed = 8 ; // default 8*32 = 256 / 256 = 1 = hue++
21+ uint8_t deltaHue = 7 ;
22+ uint8_t chanceOfGlitter = 80 ;
2223
2324 void setup () {
2425 addControl (speed, " speed" , " slider" , 0 , 32 );
2526 addControl (deltaHue, " deltaHue" , " slider" , 0 , 32 );
27+ addControl (chanceOfGlitter, " chanceOfGlitter" , " slider" , 0 , 100 );
2628 }
2729
2830 uint16_t hue = 0 ;
2931
3032 void loop () override {
3133 layer->fill_rainbow ((hue += speed * 32 ) >> 8 , deltaHue); // hue back to uint8_t
32- }
33- };
34-
35- class RainbowWithGlitterEffect : public Node {
36- public:
37- static const char * name () { return " Rainbow with glitter" ; }
38- static uint8_t dim () { return _1D; }
39- static const char * tags () { return " 🔥⚡️" ; } // ⚡️ means FastLED origin
40-
41- bool glitter = false ;
42- uint8_t chance = 80 ;
43-
44- void setup () override {
45- // no palette control is created
46- addControl (glitter, " glitter" , " checkbox" );
47- addControl (chance, " chance" , " slider" );
48- }
49-
50- void loop () override {
51- // built-in FastLED rainbow, plus some random sparkly glitter
52- // FastLED's built-in rainbow generator
53- layer->fill_rainbow (millis () / 50 , 7 );
54-
55- if (glitter) addGlitter (chance);
56- }
57-
58- void addGlitter (fract8 chanceOfGlitter) {
59- if (random8 () < chanceOfGlitter) {
34+ if (chanceOfGlitter && random8 () < chanceOfGlitter) {
6035 layer->setRGB (random16 (layer->size .x ), CRGB::White);
6136 }
6237 }
6338};
6439
65-
6640#endif
0 commit comments