8 const CalcPatternMod _pmod = WideRangeBalance;
9 const std::string name =
"WideRangeBalanceMod";
13 float window_param = 2.F;
15 float min_mod = 0.94F;
16 float max_mod = 1.05F;
21 float other_scaler = 4.F;
23 const std::vector<std::pair<std::string, float*>> _params{
24 {
"window_param", &window_param },
26 {
"min_mod", &min_mod },
27 {
"max_mod", &max_mod },
30 {
"buffer", &buffer },
31 {
"scaler", &scaler },
32 {
"other_scaler", &other_scaler },
34#pragma endregion params and param map
39 void full_reset() { pmod = neutral; }
45 std::clamp(
static_cast<int>(window_param), 1, max_moving_window_size);
56 if (itvhi.cols_equal_window(window)) {
60 pmod = itvhi.get_col_prop_low_by_high_window(window);
62 pmod = (base + (buffer + (scaler / pmod)) / other_scaler);
63 pmod = std::clamp(pmod, min_mod, max_mod);