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

#include <beat_repeat_kernel.hpp>

Classes

struct  Config
struct  Snapshot

Public Types

enum class  ReverseMode { Off , On , Alternate }
enum class  Status {
  Idle , Armed , CaptureRejectedInsufficientHistory , Active ,
  Releasing
}
enum class  TransitionKind { None , DryToWet , HeldToWet , HeldToDry }

Public Member Functions

 BeatRepeatKernelT ()=default
 BeatRepeatKernelT (const BeatRepeatKernelT &)=delete
BeatRepeatKernelT & operator= (const BeatRepeatKernelT &)=delete
 BeatRepeatKernelT (BeatRepeatKernelT &&other) noexcept
BeatRepeatKernelT & operator= (BeatRepeatKernelT &&other) noexcept
bool prepare (const Config &config)
bool prepared () const noexcept
int channels () const noexcept
int history_capacity_frames () const noexcept
int available_history_frames () const noexcept
Status status () const noexcept
bool last_capture_rejected () const noexcept
bool can_snapshot () const noexcept
int loop_length () const noexcept
int loop_position () const noexcept
int completed_repeats () const noexcept
int latency_samples () const noexcept
int max_tail_samples () const noexcept
std::size_t retained_bytes () const noexcept
bool set_repeat_count (int count) noexcept
bool set_gate (SampleType duty) noexcept
bool set_reverse (ReverseMode mode) noexcept
bool set_transition_frames (int frames) noexcept
BeatRepeatPlanResult trigger (const timebase::CompiledTempoMap &tempo, timebase::BeatDivision division, timebase::SamplePosition requested_sample) noexcept
void stop () noexcept
bool seek (int captured_frame) noexcept
void reset () noexcept
void transport_discontinuity () noexcept
 A seek, loop jump, or clock-domain replacement invalidates both pending grid ownership and the continuity claim of the rolling history.
void process (const SampleType *const *input, SampleType *const *output, int frames, timebase::SamplePosition block_start) noexcept
Snapshot snapshot () const
bool restore (const Snapshot &value)

Member Enumeration Documentation

◆ ReverseMode

template<typename SampleType = float>
enum class pulp::signal::BeatRepeatKernelT::ReverseMode
strong
Enumerator
Off 
On 
Alternate 

◆ Status

template<typename SampleType = float>
enum class pulp::signal::BeatRepeatKernelT::Status
strong
Enumerator
Idle 
Armed 
CaptureRejectedInsufficientHistory 
Active 
Releasing 

◆ TransitionKind

template<typename SampleType = float>
enum class pulp::signal::BeatRepeatKernelT::TransitionKind
strong
Enumerator
None 
DryToWet 
HeldToWet 
HeldToDry 

Constructor & Destructor Documentation

◆ BeatRepeatKernelT() [1/3]

template<typename SampleType = float>
pulp::signal::BeatRepeatKernelT< SampleType >::BeatRepeatKernelT ( )
default

◆ BeatRepeatKernelT() [2/3]

template<typename SampleType = float>
pulp::signal::BeatRepeatKernelT< SampleType >::BeatRepeatKernelT ( const BeatRepeatKernelT< SampleType > & )
delete

◆ BeatRepeatKernelT() [3/3]

template<typename SampleType = float>
pulp::signal::BeatRepeatKernelT< SampleType >::BeatRepeatKernelT ( BeatRepeatKernelT< SampleType > && other)
inlinenoexcept

Member Function Documentation

◆ available_history_frames()

template<typename SampleType = float>
int pulp::signal::BeatRepeatKernelT< SampleType >::available_history_frames ( ) const
inlinenoexcept

◆ can_snapshot()

template<typename SampleType = float>
bool pulp::signal::BeatRepeatKernelT< SampleType >::can_snapshot ( ) const
inlinenoexcept

◆ channels()

template<typename SampleType = float>
int pulp::signal::BeatRepeatKernelT< SampleType >::channels ( ) const
inlinenoexcept

◆ completed_repeats()

template<typename SampleType = float>
int pulp::signal::BeatRepeatKernelT< SampleType >::completed_repeats ( ) const
inlinenoexcept

◆ history_capacity_frames()

template<typename SampleType = float>
int pulp::signal::BeatRepeatKernelT< SampleType >::history_capacity_frames ( ) const
inlinenoexcept

◆ last_capture_rejected()

template<typename SampleType = float>
bool pulp::signal::BeatRepeatKernelT< SampleType >::last_capture_rejected ( ) const
inlinenoexcept

◆ latency_samples()

template<typename SampleType = float>
int pulp::signal::BeatRepeatKernelT< SampleType >::latency_samples ( ) const
inlinenoexcept

◆ loop_length()

template<typename SampleType = float>
int pulp::signal::BeatRepeatKernelT< SampleType >::loop_length ( ) const
inlinenoexcept

◆ loop_position()

template<typename SampleType = float>
int pulp::signal::BeatRepeatKernelT< SampleType >::loop_position ( ) const
inlinenoexcept

◆ max_tail_samples()

template<typename SampleType = float>
int pulp::signal::BeatRepeatKernelT< SampleType >::max_tail_samples ( ) const
inlinenoexcept

◆ operator=() [1/2]

template<typename SampleType = float>
BeatRepeatKernelT & pulp::signal::BeatRepeatKernelT< SampleType >::operator= ( BeatRepeatKernelT< SampleType > && other)
inlinenoexcept

◆ operator=() [2/2]

template<typename SampleType = float>
BeatRepeatKernelT & pulp::signal::BeatRepeatKernelT< SampleType >::operator= ( const BeatRepeatKernelT< SampleType > & )
delete

◆ prepare()

template<typename SampleType = float>
bool pulp::signal::BeatRepeatKernelT< SampleType >::prepare ( const Config & config)
inline

◆ prepared()

template<typename SampleType = float>
bool pulp::signal::BeatRepeatKernelT< SampleType >::prepared ( ) const
inlinenoexcept

◆ process()

template<typename SampleType = float>
void pulp::signal::BeatRepeatKernelT< SampleType >::process ( const SampleType *const * input,
SampleType *const * output,
int frames,
timebase::SamplePosition block_start )
inlinenoexcept

◆ reset()

template<typename SampleType = float>
void pulp::signal::BeatRepeatKernelT< SampleType >::reset ( )
inlinenoexcept

◆ restore()

template<typename SampleType = float>
bool pulp::signal::BeatRepeatKernelT< SampleType >::restore ( const Snapshot & value)
inline

◆ retained_bytes()

template<typename SampleType = float>
std::size_t pulp::signal::BeatRepeatKernelT< SampleType >::retained_bytes ( ) const
inlinenoexcept

◆ seek()

template<typename SampleType = float>
bool pulp::signal::BeatRepeatKernelT< SampleType >::seek ( int captured_frame)
inlinenoexcept

◆ set_gate()

template<typename SampleType = float>
bool pulp::signal::BeatRepeatKernelT< SampleType >::set_gate ( SampleType duty)
inlinenoexcept

◆ set_repeat_count()

template<typename SampleType = float>
bool pulp::signal::BeatRepeatKernelT< SampleType >::set_repeat_count ( int count)
inlinenoexcept

◆ set_reverse()

template<typename SampleType = float>
bool pulp::signal::BeatRepeatKernelT< SampleType >::set_reverse ( ReverseMode mode)
inlinenoexcept

◆ set_transition_frames()

template<typename SampleType = float>
bool pulp::signal::BeatRepeatKernelT< SampleType >::set_transition_frames ( int frames)
inlinenoexcept

◆ snapshot()

template<typename SampleType = float>
Snapshot pulp::signal::BeatRepeatKernelT< SampleType >::snapshot ( ) const
inline

◆ status()

template<typename SampleType = float>
Status pulp::signal::BeatRepeatKernelT< SampleType >::status ( ) const
inlinenoexcept

◆ stop()

template<typename SampleType = float>
void pulp::signal::BeatRepeatKernelT< SampleType >::stop ( )
inlinenoexcept

◆ transport_discontinuity()

template<typename SampleType = float>
void pulp::signal::BeatRepeatKernelT< SampleType >::transport_discontinuity ( )
inlinenoexcept

A seek, loop jump, or clock-domain replacement invalidates both pending grid ownership and the continuity claim of the rolling history.

◆ trigger()

template<typename SampleType = float>
BeatRepeatPlanResult pulp::signal::BeatRepeatKernelT< SampleType >::trigger ( const timebase::CompiledTempoMap & tempo,
timebase::BeatDivision division,
timebase::SamplePosition requested_sample )
inlinenoexcept

The documentation for this class was generated from the following file: