* fixing behavior of red light in reverb VU meter * removed more unnecessary casts to float_4tags/v1.1.0^2
| @@ -93,7 +93,7 @@ struct ABC : Module { | |||||
| } | } | ||||
| else { | else { | ||||
| for (int c = 0; c < activeEngines; c += 4) | for (int c = 0; c < activeEngines; c += 4) | ||||
| inC[c / 4] = float_4(10.f * mult_C); | |||||
| inC[c / 4] = 10.f * mult_C; | |||||
| } | } | ||||
| for (int c = 0; c < activeEngines; c += 4) | for (int c = 0; c < activeEngines; c += 4) | ||||
| @@ -102,7 +102,7 @@ struct EvenVCO : Module { | |||||
| pw[c / 4] = rescale(clamp(pw[c / 4], -1.0f, 1.0f), -1.0f, 1.0f, 0.05f, 1.0f - 0.05f); | pw[c / 4] = rescale(clamp(pw[c / 4], -1.0f, 1.0f), -1.0f, 1.0f, 0.05f, 1.0f - 0.05f); | ||||
| // Advance phase | // Advance phase | ||||
| deltaPhase[c / 4] = clamp(freq[c / 4] * args.sampleTime, float_4(1e-6f), float_4(0.5f)); | |||||
| deltaPhase[c / 4] = clamp(freq[c / 4] * args.sampleTime, 1e-6f, 0.5f); | |||||
| oldPhase[c / 4] = phase[c / 4]; | oldPhase[c / 4] = phase[c / 4]; | ||||
| phase[c / 4] += deltaPhase[c / 4]; | phase[c / 4] += deltaPhase[c / 4]; | ||||
| } | } | ||||
| @@ -16,7 +16,7 @@ struct PulseGenerator_4 { | |||||
| simd::float_4 mask = (remaining > 0.f); | simd::float_4 mask = (remaining > 0.f); | ||||
| remaining -= ifelse(mask, simd::float_4(deltaTime), 0.f); | |||||
| remaining -= ifelse(mask, deltaTime, 0.f); | |||||
| return ifelse(mask, simd::float_4::mask(), 0.f); | return ifelse(mask, simd::float_4::mask(), 0.f); | ||||
| } | } | ||||
| @@ -46,6 +46,7 @@ struct SpringReverb : Module { | |||||
| dsp::VuMeter2 lightFilter; | dsp::VuMeter2 lightFilter; | ||||
| dsp::ClockDivider lightRefreshClock; | dsp::ClockDivider lightRefreshClock; | ||||
| const float brightnessIntervals[8] = {17.f, 14.f, 12.f, 9.f, 6.f, 0.f, -6.f, -12.f}; | |||||
| SpringReverb() { | SpringReverb() { | ||||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | ||||
| @@ -135,8 +136,6 @@ struct SpringReverb : Module { | |||||
| if (lightRefreshClock.process()) { | if (lightRefreshClock.process()) { | ||||
| float brightnessIntervals[8] = {14.f, 14.f, 12.f, 9.f, 6.f, 0.f, -6.f, -12.f}; | |||||
| for (int i = 0; i < 7; i++) { | for (int i = 0; i < 7; i++) { | ||||
| float brightness = vuFilter.getBrightness(brightnessIntervals[i + 1], brightnessIntervals[i]); | float brightness = vuFilter.getBrightness(brightnessIntervals[i + 1], brightnessIntervals[i]); | ||||
| lights[VU1_LIGHTS + i].setBrightness(brightness); | lights[VU1_LIGHTS + i].setBrightness(brightness); | ||||