Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::SignalClockMultT< SampleType > Class Template Reference

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

Detailed Description

template<typename SampleType = float>
class pulp::signal::SignalClockMultT< SampleType >

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.

Member Function Documentation

◆ multiple()

template<typename SampleType = float>
int pulp::signal::SignalClockMultT< SampleType >::multiple ( ) const
inline

◆ prepare()

template<typename SampleType = float>
void pulp::signal::SignalClockMultT< SampleType >::prepare ( double sample_rate)
inline

◆ process() [1/2]

template<typename SampleType = float>
template<std::integral Integer>
bool pulp::signal::SignalClockMultT< SampleType >::process ( Integer )
delete

Reject ambiguous integral clock samples; use bool with ClockMultT or an explicit floating-point sample with this adapter.

◆ process() [2/2]

template<typename SampleType = float>
bool pulp::signal::SignalClockMultT< SampleType >::process ( SampleType clock)
inline

◆ reset()

template<typename SampleType = float>
void pulp::signal::SignalClockMultT< SampleType >::reset ( )
inline

◆ set_multiple()

template<typename SampleType = float>
void pulp::signal::SignalClockMultT< SampleType >::set_multiple ( int n)
inline

Member Data Documentation

◆ kDefaultMultiple

template<typename SampleType = float>
int pulp::signal::SignalClockMultT< SampleType >::kDefaultMultiple = 2
staticconstexpr

◆ kMaxMultiple

template<typename SampleType = float>
int pulp::signal::SignalClockMultT< SampleType >::kMaxMultiple = 32
staticconstexpr

◆ kMaxPeriodMs

template<typename SampleType = float>
double pulp::signal::SignalClockMultT< SampleType >::kMaxPeriodMs = 4000.0
staticconstexpr

◆ kMinMultiple

template<typename SampleType = float>
int pulp::signal::SignalClockMultT< SampleType >::kMinMultiple = 1
staticconstexpr

The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/signal/include/pulp/signal/trigger.hpp