14 const CalcPatternMod _pmod = { WideRangeJumptrill };
15 const std::string name =
"WideRangeJumptrillMod";
19 float window_param = 3.F;
21 float min_mod = 0.25F;
24 float cv_threshhold = 0.05F;
26 const std::vector<std::pair<std::string, float*>> _params{
27 {
"window_param", &window_param },
29 {
"min_mod", &min_mod },
30 {
"max_mod", &max_mod },
32 {
"cv_threshhold", &cv_threshhold },
34#pragma endregion params and param map
40 bool bro_is_this_file_for_real =
false;
41 bool last_passed_check =
false;
45 std::array<float, 3> seq_ms = { 0.F, 0.F, 0.F };
51#pragma region generic functions
59 bro_is_this_file_for_real =
false;
60 last_passed_check =
false;
67 std::clamp(
static_cast<int>(window_param), 1, max_moving_window_size);
72 [[nodiscard]]
auto check_last_mt(
const meta_type& mt)
const ->
bool
74 if (mt == meta_acca || mt == meta_ccacc || mt == meta_cccccc) {
75 if (last_passed_check) {
82 void bibblybop(
const meta_type& mt)
85 if (bro_is_this_file_for_real) {
88 if (check_last_mt(mt)) {
90 bro_is_this_file_for_real =
true;
94 void advance_sequencing(
const base_type& bt,
96 const meta_type& _last_mt,
100 if (bt == base_jump_jump || bt == base_single_jump) {
113 wrjt_cv_factor, cv_threshhold))) {
120 wrjt_cv_factor, cv_threshhold))) {
128 wrjt_cv_factor, cv_threshhold))) {
137 bro_is_this_file_for_real =
false;
143 if (itvhi.get_taps_windowi(window) == 0 ||
157 pmod = std::clamp(pmod, min_mod, max_mod);
auto roll_timing_check(const float &factor, const float &threshold) -> bool
perform cv check internally
Definition CalcWindow.h:187
auto ccacc_timing_check(const float &factor, const float &threshold) -> bool
perform cv check internally
Definition CalcWindow.h:155
auto acca_timing_check(const float &factor, const float &threshold) -> bool
perform cv check internally
Definition CalcWindow.h:176
auto get_taps_windowf(const int &window) const -> float
cast to float for divisioning and clean screen
Definition IntervalHandInfo.h:153