The previous code was scaling down fftResult[] to matrix height first, then computing smoothed bars.
We now to calculate smooth bars at full fftResult[] resolution first, and afterwards map the result to Matrix height. This improves accuracy and preserves a few more bits of real detail.
FX.cpp: GEQ: even distribution of bands
FX_fcn: tiny change
wled.cpp: setupMatrix also if loadedledmap != 0
ws.cpp: replace getLengthTotal by width * height (for ledmaps)
* xml.cpp: correct type for checkbox global led buffer" (was not shown correctly)
* fx.cpp: 2D floating blobs - correct swapped x/y coordinates (did not render correctly on non-square matrix)
One pixel segment handling.
- added 0D FX metadata (1 pixel effects)
- ignore palettes for White only segment
- ignore color for non-RGB & non-White segment (on/off)
Bugfix
- proper auto segment creation
- hide palettes for non RGB segments
- some tweaks for #2984
- force Solid for some FX (causing crash) on 1 pixel segment
UI Optimisations
- slider tooltips
- tiny bit smaller tooltips
- hide segment power if only one segment
- gap between sliders
* pulser bugfix: " % cols" was missing so the effect would simply run out of visible range
* float math: use optimized functions: sqrtf, fabsf
* two more comments where code could be optimized, but I'm not sure what is thecorrect solution
version 0.14.0-b1.16
FX_fcn.cpp: setMode: map, sound, rev, mir reset to oldvars
index.js: refactor genPresets (fx id as preset id), reset to defaults
fx.cpp: fire flicker and firenoise pal=0 as default
Fix 1d/2d default in customeffect, games and weather
index.htm: add buttons and text area for genPresets
index.js: add genPresets, uploadFileWithText and savePresetsGen
fx,cpp: set fire 2012 default palette 0 (fire colors)
Bonus: battery USERMOD_BATTERY_MEASUREMENT_PIN default -1
- Ripple (2D & no Bg)
- Glitter (no Bg)
- Sparkle (no Bg)
- Scan (no Bg)
- Two dots (no Bg)
- ICU (no Bg)
- Lightning (no Bg)
- Halloween eyes (no Bg)
- Spots (no Bg)
- Bouncing Balls (no BG)
- Popcorn (no Bg)
- Starburst (no Bg)
- Drip (no Bg)
- Whitespace cleanup
- draw_circle()
"no Bg" will allow overlapping segments if checked.