Continuous-signal clock multiplier. More...
#include <trigger.hpp>
Public Member Functions | |
| void | prepare (double sample_rate) |
| void | set_multiple (int n) |
| int | multiple () const |
| void | reset () |
| bool | process (SampleType clock) |
| template<std::integral Integer> | |
| bool | process (Integer)=delete |
| Reject ambiguous integral clock samples; use bool with ClockMultT or an explicit floating-point sample with this adapter. | |
Static Public Attributes | |
| static constexpr int | kMinMultiple = 1 |
| static constexpr int | kMaxMultiple = 32 |
| static constexpr int | kDefaultMultiple = 2 |
| static constexpr double | kMaxPeriodMs = 4000.0 |
Continuous-signal clock multiplier.
Unlike ClockMultT, whose input is an already-decoded boolean event, this adapter owns a hysteretic edge detector and rejects periods longer than kMaxPeriodMs as a stopped clock. Keeping the adapters as separate types is intentional: their factor ranges, defaults, and stopped-clock policies are different contracts, not overloads of one state machine.
|
inline |
|
inline |
|
delete |
Reject ambiguous integral clock samples; use bool with ClockMultT or an explicit floating-point sample with this adapter.
|
inline |
|
inline |
|
inline |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |