Unified · Split
| @@ -239,6 +239,10 @@ extern "C" { · 238 unmodified lines | ||
| 239 | 239 | |
| 240 | 240 | float fidelityThreshold; |
| 241 | 241 | |
| 242 | + float history; | |
| 243 | + float alpha; | |
| 244 | + float tolerance; | |
| 245 | + | |
| 242 | 246 | } _tPeriodDetection; |
| 243 | 247 | |
| 244 | 248 | typedef _tPeriodDetection* tPeriodDetection; |
| @@ -253,6 +257,8 @@ extern "C" { · 8 unmodified lines | ||
| 253 | 257 | void tPeriodDetection_setHopSize (tPeriodDetection* const, int hs); |
| 254 | 258 | void tPeriodDetection_setWindowSize (tPeriodDetection* const, int ws); |
| 255 | 259 | void tPeriodDetection_setFidelityThreshold(tPeriodDetection* const, float threshold); |
| 260 | + void tPeriodDetection_setAlpha (tPeriodDetection* const, float alpha); | |
| 261 | + void tPeriodDetection_setTolerance (tPeriodDetection* const, float tolerance); | |
| 256 | 262 | |
| 257 | 263 | //============================================================================== |
| 258 | 264 | |
| @@ -298,6 +298,8 @@ extern "C" { · 297 unmodified lines | ||
| 298 | 298 | void tAutotune_setHopSize (tAutotune* const, int hs); |
| 299 | 299 | void tAutotune_setWindowSize (tAutotune* const, int ws); |
| 300 | 300 | void tAutotune_setFidelityThreshold (tAutotune* const, float threshold); |
| 301 | + void tAutotune_setAlpha (tAutotune* const, float alpha); | |
| 302 | + void tAutotune_setTolerance (tAutotune* const, float tolerance); | |
| 301 | 303 | float tAutotune_getInputPeriod (tAutotune* const); |
| 302 | 304 | float tAutotune_getInputFreq (tAutotune* const); |
| 303 | 305 | |
| @@ -944,3 +944,16 @@ void tPeriodDetection_setFidelityThreshold(tPeriodDetection* pd, float threshold · 943 unmodified lines | ||
| 944 | 944 | _tPeriodDetection* p = *pd; |
| 945 | 945 | p->fidelityThreshold = threshold; |
| 946 | 946 | } |
| 947 | + | |
| 948 | +void tPeriodDetection_setAlpha (tPeriodDetection* pd, float alpha) | |
| 949 | +{ | |
| 950 | + _tPeriodDetection* p = *pd; | |
| 951 | + p->alpha = LEAF_clip(0.0f, alpha, 1.0f); | |
| 952 | +} | |
| 953 | + | |
| 954 | +void tPeriodDetection_setTolerance (tPeriodDetection* pd, float tolerance) | |
| 955 | +{ | |
| 956 | + _tPeriodDetection* p = *pd; | |
| 957 | + if (tolerance < 0.0f) p->tolerance = 0.0f; | |
| 958 | + else p->tolerance = tolerance; | |
| 959 | +} | |
| @@ -1545,6 +1545,18 @@ void tAutotune_setFidelityThreshold(tAutotune* const rt, float threshold) · 1544 unmodified lines | ||
| 1545 | 1545 | tPeriodDetection_setFidelityThreshold(&r->pd, threshold); |
| 1546 | 1546 | } |
| 1547 | 1547 | |
| 1548 | +void tAutotune_setAlpha (tAutotune* rt, float alpha) | |
| 1549 | +{ | |
| 1550 | + _tAutotune* r = *rt; | |
| 1551 | + tPeriodDetection_setAlpha(&r->pd, alpha); | |
| 1552 | +} | |
| 1553 | + | |
| 1554 | +void tAutotune_setTolerance (tAutotune* rt, float tolerance) | |
| 1555 | +{ | |
| 1556 | + _tAutotune* r = *rt; | |
| 1557 | + tPeriodDetection_setTolerance(&r->pd, tolerance); | |
| 1558 | +} | |
| 1559 | + | |
| 1548 | 1560 | float tAutotune_getInputPeriod(tAutotune* const rt) |
| 1549 | 1561 | { |
| 1550 | 1562 | _tAutotune* r = *rt; |