8 const CalcPatternMod _pmod = GBracketing;
10 const std::string name =
"GenericBracketingMod";
11 const int min_tap_size = jump;
17 float mod_base = 0.4F;
18 float prop_buffer = 1.F;
20 float total_prop_min = min_mod;
21 float total_prop_max = max_mod;
24 float total_prop_scaler = 5.571F;
25 float total_prop_base = 0.4F;
27 float split_hand_pool = 1.6F;
28 float split_hand_min = 0.89F;
29 float split_hand_max = 1.F;
30 float split_hand_scaler = 1.F;
32 float jack_pool = 1.35F;
33 float jack_min = 0.5F;
35 float jack_scaler = 1.F;
37 float decay_factor = 0.05F;
39 const std::vector<std::pair<std::string, float*>> _params{
40 {
"min_mod", &min_mod },
41 {
"max_mod", &max_mod },
42 {
"mod_base", &mod_base },
43 {
"prop_buffer", &prop_buffer },
45 {
"total_prop_scaler", &total_prop_scaler },
46 {
"total_prop_min", &total_prop_min },
47 {
"total_prop_max", &total_prop_max },
48 {
"total_prop_base", &total_prop_base },
50 {
"decay_factor", &decay_factor },
52#pragma endregion params and param map
54 float total_prop = 0.F;
55 float jumptrill_prop = 0.F;
56 float jack_prop = 0.F;
57 float last_mod = min_mod;
60 float bracket_taps = 0.F;
69 pmod = std::clamp(last_mod - decay_factor, min_mod, max_mod);
76 if (mitvghi.total_taps == 0) {
81 if (mitvghi.taps_bracketing == 0) {
86 t_taps =
static_cast<float>(mitvghi.total_taps);
87 bracket_taps =
static_cast<float>(mitvghi.taps_bracketing);
90 total_prop_base + ((bracket_taps + prop_buffer) /
91 (t_taps - prop_buffer) * total_prop_scaler);
93 std::clamp(fastsqrt(total_prop), total_prop_min, total_prop_max);
96 pmod = std::clamp(total_prop, min_mod, max_mod);