static eff_t effs_arr[] = {
#ifdef effectsClassic_h
{EFF_SPARKLES, 0, 99, 1, 255, []() { return sparlkesRoutine(eff_scale); }, 0, BRIGHT, 25, 8},
{EFF_FIRE, 1, 100, 0, 255, []() { return fireRoutine(true, eff_scale); }, 1, BRIGHT, 75, 0},
{EFF_WHITTE_FIRE, 1, 100, 0, 0, []() { return fireRoutine(false, eff_scale); }, 0, BRIGHT, 75, 0},
{EFF_RAINBOW_VER, 0, 0, 1, 255, []() { return rainbowVerticalRoutine(eff_scale, eff_speed); }, 0, BRIGHT, 75, 20},
{EFF_RAINBOW_HOR, 0, 0, 1, 255, []() { return rainbowHorizontalRoutine(eff_scale, eff_speed); }, 0, BRIGHT, 75, 20},
{EFF_RAINBOW_DIAG, 1, 100, 1, 100, []() { return rainbowDiagonalRoutine(eff_scale); }, 0, BRIGHT, 75, 25},
{EFF_COLORS, 1, 255, 1, 255, []() { return colorsRoutine(eff_scale); }, 0, BRIGHT, 255, 1},
{EFF_MADNESS, 1, 100, 1, 100, []() { return madnessNoiseRoutine(eff_scale, eff_speed); }, 0, BRIGHT, 10, 50}, //madnessNoiseRoutine
{EFF_CLOUDS, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, CloudColors_p, 0); }, 0, BRIGHT, 1, 50}, //cloudsNoiseRoutine
{EFF_LAVA, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, LavaColors_p, 0); }, 0, BRIGHT, 1, 50}, //lavaNoiseRoutine
{EFF_PLASMA, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, PartyColors_p, 1); }, 0, BRIGHT, 1, 50}, //plasmaNoiseRoutine
{EFF_RAINBOW, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, RainbowColors_p, 1); }, 0, BRIGHT, 1, 50}, //rainbowNoiseRoutine
{EFF_RAINBOW_STRIPE, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, RainbowStripeColors_p, 1); }, 0, BRIGHT, 1, 50}, //rainbowStripeNoiseRoutine
{EFF_ZEBRA, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, ZebraColors_p, 1); }, 0, BRIGHT, 1, 80}, //zebraNoiseRoutine
{EFF_FOREST, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, ForestColors_p, 1); }, 0, BRIGHT, 5, 30}, //forestNoiseRoutine
{EFF_OCEAN, 1, 100, 1, 100, []() { return fillNoiseLED(eff_scale, eff_speed, OceanColors_p, 0); }, 0, BRIGHT, 1, 85}, //oceanNoiseRoutine
{EFF_COLOR, 0, 255, 0, 255, []() { return colorRoutine(eff_scale, eff_speed); }, 1, BRIGHT, 255, 0},
{EFF_SNOW, 1, 100, 1, 100, []() { return snowRoutine(eff_scale); }, 0, BRIGHT, 4, 75},
{EFF_SNOWSTORM, 1, 100, 1, 100, []() { return stormRoutine(eff_scale, 0); }, 0, BRIGHT, 77, 1},
{EFF_STARFALL, 1, 100, 1, 100, []() { return stormRoutine(eff_scale, 255); }, 0, BRIGHT, 75, 25},
{EFF_MATRIX, 1, 100, 1, 100, []() { return matrixRoutine(eff_scale); }, 0, BRIGHT, 1, 50},
{EFF_LIGHTERS, 1, 100, 1, 100, []() { return lightersRoutine(eff_scale); }, 0, BRIGHT, 50, 15},
{EFF_LIGHTER_TRACES, 1, 100, 1, 100, []() { return ballsRoutine(eff_scale); }, 0, BRIGHT, 50, 75},
{EFF_PAINTBALL, 255, 255, 1, 255, []() { return lightBallsRoutine(eff_scale, eff_speed); }, 0, BRIGHT, 100, 1},
{EFF_CUBE, 1, 100, 1, 100, []() { return ballRoutine(eff_scale); }, 0, BRIGHT, 50, 100},
#endif
#ifdef effects_ppMod_h
{EFF_PP_NEWFIRE, 1, 255, 1, 255, []() { return newFireRoutine(eff_scale); }, 0, BRIGHT, 75, 1},
{EFF_PP_RAINBOWCOMET, 0, 0, 0, 255, []() { return rainbowCometRoutine(eff_scale, eff_speed); }, 2, BRIGHT, 0, 225},
{EFF_PP_NOISESTREAMS, 1, 100, 1, 100, []() { return noiseStreamingRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
/*{EFF_PP_MS1, 1, 100, 1, 100, [](){return multipleStreamRoutine();}, 0, BRIGHT, 75, 8},
{EFF_PP_MS2, 1, 100, 1, 100, [](){return multipleStreamRoutine2();}, 0, BRIGHT, 75, 8},
{EFF_PP_MS3, 1, 100, 1, 100, [](){return multipleStreamRoutine3();}, 0, BRIGHT, 75, 8},
{EFF_PP_MS4, 1, 100, 1, 100, [](){return multipleStreamRoutine4();}, 0, BRIGHT, 75, 8},
{EFF_PP_MS5, 1, 100, 1, 100, [](){return multipleStreamRoutine5();}, 0, BRIGHT, 75, 8},
{EFF_PP_MS8, 1, 100, 1, 100, [](){return multipleStreamRoutine8();}, 0, BRIGHT, 75, 8},*/
{EFF_PP_METABALLS, 1, 100, 1, 100, []() { return metaBallsRoutine(); }, 0, BRIGHT, 75, 8},
{EFF_PP_SINUSOID3, 1, 100, 1, 100, []() { return Sinusoid3Routine(); }, 0, BRIGHT, 75, 8},
{EFF_PP_PULSE, 1, 100, 1, 100, []() { return pulseRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
{EFF_PP_WATERFALL4IN1, 1, 100, 1, 255, []() { return waterfall4in1Routine(eff_scale); }, 0, BRIGHT, 75, 8},
{EFF_PP_PULSE, 1, 100, 1, 255, []() { return pulseRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
#endif
#ifdef effectsSottNick_h
{EFF_SPIRO, 1, 100, 1, 255, []() { return spiroRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
{EFF_WATERPOOL, 1, 100, 0, 255, []() { return waterpoolRoutine(eff_scale); }, 0, BRIGHT, 75, 0},
{EFF_SHAMELESSMATRIX, 1, 100, 1, 255, []() { return shamelessMatrixRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
{EFF_BOUNCINGBALLS, 1, 100, 1, 255, []() { return bouncingBallsRoutine(eff_scale); }, 0, BRIGHT, 75, 8},
#endif
{EFFs_BLACKSCREEN, 1, 255, 1, 255, []() { return BlackScreenRoutine(); }, 0, BRIGHT, 127, 127},
{EFFs_SENDESCHLUSS, 1, 255, 1, 255, []() { return SendeSchlussRoutine(); }, 0, BRIGHT, 127, 127},
{EFFs_WHITE_STRIPE, 1, 255, 1, 255, []() { return whiteColorStripeRoutine(eff_scale, eff_speed); }, 0, BRIGHT, 127, 127},
{EFFs_WHITE, 1, 255, 1, 255, []() { return whiteRoutine(); }, 0, BRIGHT, 127, 127},
{EFFs_DEMO, 0, 0, 1, 255, []() { return demoRoutine(false); }, 0, 255, 0, 127},
{EFFs_DEMO_RANDOM, 0, 0, 1, 255, []() { return demoRoutine(true); }, 0, 255, 0, 127}};
// ***** EFFECT LISTS *****
// базовые списки эффектов с их названиями. Допускаются названия на национальных языках (при условии наличия шрифтов).
// Возможны повторы и пересортица. Максимально = 256 эффектов в каждом списке
// названия в фаворитном списке, а так же первоначальный порядок, будет формироваться уже из этого
// ----- ON-LIST EFFECTS ----- last mod v1.7.07b
effsList_t const effs_on[] PROGMEM = {
#ifdef effectsClassic_h
{EFF_SPARKLES, "SPARKLES"},
{EFF_FIRE, "FIRE"},
{EFF_WHITTE_FIRE, "WHITE FIRE"},
{EFF_RAINBOW_VER, "RAINBOW VERTICAL"},
{EFF_RAINBOW_HOR, "RAINBOW HORIZONTAL"},
{EFF_RAINBOW_DIAG, "RAINBOW DIAGONAL"},
{EFF_COLORS, "COLORS"},
{EFF_MADNESS, "MADNESS"},
{EFF_CLOUDS, "CLOUDS"},
{EFF_LAVA, "LAVA"},
{EFF_PLASMA, "PLASMA"},
{EFF_RAINBOW, "RAINBOW"},
{EFF_RAINBOW_STRIPE, "RAINBOW STRIPE"},
{EFF_ZEBRA, "ZEBRA"},
{EFF_FOREST, "FOREST"},
{EFF_OCEAN, "OCEAN"},
{EFF_COLOR, "COLOR"},
{EFF_SNOW, "SNOW"},
{EFF_SNOWSTORM, "SNOWSTORM"},
{EFF_STARFALL, "STARFALL"},
{EFF_MATRIX, "MATRIX"},
{EFF_LIGHTERS, "LIGHTERS"},
{EFF_LIGHTER_TRACES, "LIGHTER TRACES"},
{EFF_PAINTBALL, "PAINTBALL"},
{EFF_CUBE, "CUBE"},
#endif
#ifdef effects_ppMod_h
{EFF_PP_NEWFIRE, "NEW FIRE"},
{EFF_PP_RAINBOWCOMET, "RAINBOW COMET"},
{EFF_PP_NOISESTREAMS, "NOISE STREAMS 6in1"},
/*{EFF_PP_MS1, "MULTIPLY STREAM 1" },
{EFF_PP_MS2, "SPERMATOZOID 3D" },
{EFF_PP_MS3, "MULTIPLY STREAM 3" },
{EFF_PP_MS4, "MULTIPLY STREAM 4" },
{EFF_PP_MS5, "MULTIPLY STREAM 5" },
{EFF_PP_MS8, "MULTIPLY STREAM 8" },*/
{EFF_PP_WATERFALL4IN1, "WATERFALL 4in1"},
{EFF_PP_METABALLS, "METABALLS"},
/*{EFF_PP_SINUSOID3, "SINUSOID 3" },*/
{EFF_PP_PULSE, "PULSE"},
#endif
#ifdef effectsSottNick_h
{EFF_SPIRO, "SPIRO"},
{EFF_WATERPOOL, "WATERPOOL"},
{EFF_SHAMELESSMATRIX, "SHAMELESS MATRIX"},
{EFF_BOUNCINGBALLS, "BOUNCING BALLS"} //,
#endif
};