GEQ <16bands and smooth fixes + smooth colors

This commit is contained in:
Ewoud
2023-03-11 14:40:51 +01:00
parent 9f282f831e
commit c82cb18045
2 changed files with 11 additions and 10 deletions

View File

@@ -7141,23 +7141,24 @@ uint16_t mode_2DGEQ(void) { // By Will Tatam. Code reduction by Ewoud Wijma.
//WLEDMM if not enough remaining
if (remaining < 1) {band++; remaining+= bandwidth;} //increase remaining but keep the current remaining
remaining--; //consume remaining
// Serial.printf("x %d b %d n %d w %f %f\n", x, band, NUM_BANDS, bandwidth, remaining);
if (NUM_BANDS < 16) band = map(band, 0, NUM_BANDS - 1, 0, 15); // always use full range. comment out this line to get the previous behaviour.
uint8_t frBand = (NUM_BANDS < 16)?map(band, 0, NUM_BANDS - 1, 0, 15):band; // always use full range. comment out this line to get the previous behaviour.
// band = constrain(band, 0, 15); //WLEDMM can never be out of bounds (I think...)
uint16_t colorIndex = band * 17;
uint16_t barHeight = map(fftResult[band], 0, 255, 0, rows); // do not subtract -1 from rows here
uint16_t colorIndex = frBand * 17; //WLEDMM 0.255
uint16_t barHeight = map(fftResult[frBand], 0, 255, 0, rows); // do not subtract -1 from rows here
// WLEDMM begin - smooth out bars
if ((x > 0) && (x < (cols-1)) && (SEGMENT.check2)) {
// get height of next (right side) bar
uint8_t nextband = map(x+1, 0, cols-1, 0, NUM_BANDS - 1);
if(cols > 24) nextband = map(x+2, 0, cols-1, 0, NUM_BANDS - 1);
if (NUM_BANDS < 16) nextband = map(nextband, 0, NUM_BANDS - 1, 0, 15); // always use full range. comment out this line to get the previous behaviour.
nextband = constrain(nextband, 0, 15);
uint16_t nextbarHeight = map(fftResult[nextband], 0, 255, 0, rows); // do not subtract -1 from rows here
uint8_t nextband = (remaining < 1)? band +1: band;
frBand = (NUM_BANDS < 16)?map(nextband, 0, NUM_BANDS - 1, 0, 15):nextband; // always use full range. comment out this line to get the previous behaviour.
// nextband = constrain(nextband, 0, 15);
uint16_t nextbarHeight = map(fftResult[frBand], 0, 255, 0, rows); // do not subtract -1 from rows here
// smooth height
barHeight = (7*barHeight + 3*lastBarHeight + 3*nextbarHeight) / 12; // yeees, its 12 not 13 (10% amplification)
colorIndex = map(x, 0, cols-1, 0, 255); //WLEDMM
}
lastBarHeight = barHeight; // remember barheight (left side) for next iteration
// WLEDMM end

View File

@@ -8,7 +8,7 @@
*/
// version code in format yymmddb (b = daily build)
#define VERSION 2303110
#define VERSION 2303111
//uncomment this if you have a "my_config.h" file you'd like to use
//#define WLED_USE_MY_CONFIG