mirror of
https://github.com/wled/WLED.git
synced 2025-07-12 13:26:33 +00:00
Bugfix.
- defult transitions - conditional 2D compile
This commit is contained in:
parent
52b863fe36
commit
b0ba1b2ecc
@ -1297,7 +1297,11 @@ void WS2812FX::restartRuntime() {
|
|||||||
|
|
||||||
void WS2812FX::resetSegments() {
|
void WS2812FX::resetSegments() {
|
||||||
_segments.clear(); // destructs all Segment as part of clearing
|
_segments.clear(); // destructs all Segment as part of clearing
|
||||||
|
#ifndef WLED_DISABLE_2D
|
||||||
segment seg = isMatrix ? Segment(0, matrixWidth, 0, matrixHeight) : Segment(0, _length);
|
segment seg = isMatrix ? Segment(0, matrixWidth, 0, matrixHeight) : Segment(0, _length);
|
||||||
|
#else
|
||||||
|
segment seg = Segment(0, _length);
|
||||||
|
#endif
|
||||||
_segments.push_back(seg);
|
_segments.push_back(seg);
|
||||||
_mainSegment = 0;
|
_mainSegment = 0;
|
||||||
/*
|
/*
|
||||||
|
@ -187,6 +187,8 @@ void deserializeSegment(JsonObject elem, byte it, byte presetId)
|
|||||||
&& elem[F("c2")].isNull()
|
&& elem[F("c2")].isNull()
|
||||||
&& elem[F("c3")].isNull() )
|
&& elem[F("c3")].isNull() )
|
||||||
{
|
{
|
||||||
|
int16_t sOpt;
|
||||||
|
uint8_t tmp = 255;
|
||||||
// compatibility mode begin
|
// compatibility mode begin
|
||||||
char buf[5]; // dummy buffer
|
char buf[5]; // dummy buffer
|
||||||
for (int i=0; i<5; i++) {
|
for (int i=0; i<5; i++) {
|
||||||
@ -200,21 +202,32 @@ void deserializeSegment(JsonObject elem, byte it, byte presetId)
|
|||||||
}
|
}
|
||||||
extractModeSlider(fx, i, buf, 4, var);
|
extractModeSlider(fx, i, buf, 4, var);
|
||||||
}
|
}
|
||||||
extractModeSlider(fx, 255, buf, 4, &seg.palette);
|
extractModeSlider(fx, 255, buf, 4, &tmp);
|
||||||
|
if (tmp < strip.getPaletteCount() + strip.customPalettes.size()) {
|
||||||
|
if (tmp != seg.palette) {
|
||||||
|
if (strip.paletteBlend && !seg.transitional) seg.startTransition(strip.getTransition());
|
||||||
|
seg.palette = tmp;
|
||||||
|
}
|
||||||
|
}
|
||||||
//end compatibility mode
|
//end compatibility mode
|
||||||
int16_t sOpt;
|
|
||||||
sOpt = extractModeDefaults(fx, SET_F("sx")); if (sOpt >= 0) seg.speed = sOpt;
|
sOpt = extractModeDefaults(fx, SET_F("sx")); if (sOpt >= 0) seg.speed = sOpt;
|
||||||
sOpt = extractModeDefaults(fx, SET_F("ix")); if (sOpt >= 0) seg.intensity = sOpt;
|
sOpt = extractModeDefaults(fx, SET_F("ix")); if (sOpt >= 0) seg.intensity = sOpt;
|
||||||
sOpt = extractModeDefaults(fx, SET_F("c1")); if (sOpt >= 0) seg.custom1 = sOpt;
|
sOpt = extractModeDefaults(fx, SET_F("c1")); if (sOpt >= 0) seg.custom1 = sOpt;
|
||||||
sOpt = extractModeDefaults(fx, SET_F("c2")); if (sOpt >= 0) seg.custom2 = sOpt;
|
sOpt = extractModeDefaults(fx, SET_F("c2")); if (sOpt >= 0) seg.custom2 = sOpt;
|
||||||
sOpt = extractModeDefaults(fx, SET_F("c3")); if (sOpt >= 0) seg.custom3 = sOpt;
|
sOpt = extractModeDefaults(fx, SET_F("c3")); if (sOpt >= 0) seg.custom3 = sOpt;
|
||||||
sOpt = extractModeDefaults(fx, "pal"); if (sOpt >= 0 && sOpt < strip.getPaletteCount()) seg.palette = sOpt;
|
|
||||||
sOpt = extractModeDefaults(fx, SET_F("mp12")); if (sOpt >= 0) seg.map1D2D = sOpt & 0x03;
|
sOpt = extractModeDefaults(fx, SET_F("mp12")); if (sOpt >= 0) seg.map1D2D = sOpt & 0x03;
|
||||||
sOpt = extractModeDefaults(fx, SET_F("ssim")); if (sOpt >= 0) seg.soundSim = sOpt & 0x07;
|
sOpt = extractModeDefaults(fx, SET_F("ssim")); if (sOpt >= 0) seg.soundSim = sOpt & 0x07;
|
||||||
sOpt = extractModeDefaults(fx, "rev"); if (sOpt >= 0) seg.reverse = (bool)sOpt; // setOption(SEG_OPTION_REVERSED, (bool)sOpt); // NOTE: setting this option is a risky business
|
sOpt = extractModeDefaults(fx, "rev"); if (sOpt >= 0) seg.reverse = (bool)sOpt; // setOption(SEG_OPTION_REVERSED, (bool)sOpt); // NOTE: setting this option is a risky business
|
||||||
sOpt = extractModeDefaults(fx, SET_F("mi")); if (sOpt >= 0) seg.mirror = (bool)sOpt; // setOption(SEG_OPTION_MIRROR, (bool)sOpt); // NOTE: setting this option is a risky business
|
sOpt = extractModeDefaults(fx, SET_F("mi")); if (sOpt >= 0) seg.mirror = (bool)sOpt; // setOption(SEG_OPTION_MIRROR, (bool)sOpt); // NOTE: setting this option is a risky business
|
||||||
sOpt = extractModeDefaults(fx, SET_F("rY")); if (sOpt >= 0) seg.reverse_y = (bool)sOpt; // setOption(SEG_OPTION_REVERSED_Y, (bool)sOpt); // NOTE: setting this option is a risky business
|
sOpt = extractModeDefaults(fx, SET_F("rY")); if (sOpt >= 0) seg.reverse_y = (bool)sOpt; // setOption(SEG_OPTION_REVERSED_Y, (bool)sOpt); // NOTE: setting this option is a risky business
|
||||||
sOpt = extractModeDefaults(fx, SET_F("mY")); if (sOpt >= 0) seg.mirror_y = (bool)sOpt; // setOption(SEG_OPTION_MIRROR_Y, (bool)sOpt); // NOTE: setting this option is a risky business
|
sOpt = extractModeDefaults(fx, SET_F("mY")); if (sOpt >= 0) seg.mirror_y = (bool)sOpt; // setOption(SEG_OPTION_MIRROR_Y, (bool)sOpt); // NOTE: setting this option is a risky business
|
||||||
|
sOpt = extractModeDefaults(fx, "pal");
|
||||||
|
if (sOpt >= 0 && sOpt < strip.getPaletteCount() + strip.customPalettes.size()) {
|
||||||
|
if (sOpt != seg.palette) {
|
||||||
|
if (strip.paletteBlend && !seg.transitional) seg.startTransition(strip.getTransition());
|
||||||
|
seg.palette = sOpt;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -225,7 +238,7 @@ void deserializeSegment(JsonObject elem, byte it, byte presetId)
|
|||||||
uint8_t pal = seg.palette;
|
uint8_t pal = seg.palette;
|
||||||
if (getVal(elem["pal"], &pal, 1, strip.getPaletteCount())) {
|
if (getVal(elem["pal"], &pal, 1, strip.getPaletteCount())) {
|
||||||
if (pal != seg.palette) {
|
if (pal != seg.palette) {
|
||||||
if (strip.paletteBlend) seg.startTransition(strip.getTransition());
|
if (strip.paletteBlend && !seg.transitional) seg.startTransition(strip.getTransition());
|
||||||
seg.palette = pal;
|
seg.palette = pal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user