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

#include <breakpoint_envelope.hpp>

Public Types

using Point = BreakpointEnvelopePointT<SampleType>

Public Member Functions

 BreakpointEnvelopeT () noexcept
BreakpointEnvelopeStatus prepare (double sample_rate) noexcept
BreakpointEnvelopeStatus configure (std::span< const Point > points) noexcept
 Replaces the complete program transactionally.
BreakpointEnvelopeStatus set_loop (std::size_t first_point, std::size_t last_point, std::uint32_t repeat_count) noexcept
 Repeats the range from first_point through last_point.
void clear_loop () noexcept
void trigger () noexcept
void reset () noexcept
SampleType next () noexcept
void process (std::span< SampleType > output) noexcept
SampleType current () const noexcept
bool active () const noexcept
std::size_t point_count () const noexcept
std::size_t current_segment () const noexcept
std::uint64_t segment_position_samples () const noexcept
std::uint32_t loops_completed () const noexcept
double sample_rate () const noexcept
std::span< const Point > points () const noexcept

Static Public Attributes

static constexpr double kDefaultSampleRate = 48000.0
static constexpr double kMinSampleRate = 1.0
static constexpr double kMaxSampleRate = 768000.0
static constexpr double kMaxProgramTimeMs = 86400000.0
static constexpr std::uint32_t kLoopForever = std::numeric_limits<std::uint32_t>::max()

Member Typedef Documentation

◆ Point

template<typename SampleType = float, std::size_t MaxPoints = 16>
using pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::Point = BreakpointEnvelopePointT<SampleType>

Constructor & Destructor Documentation

◆ BreakpointEnvelopeT()

template<typename SampleType = float, std::size_t MaxPoints = 16>
pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::BreakpointEnvelopeT ( )
inlinenoexcept

Member Function Documentation

◆ active()

template<typename SampleType = float, std::size_t MaxPoints = 16>
bool pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::active ( ) const
inlinenoexcept

◆ clear_loop()

template<typename SampleType = float, std::size_t MaxPoints = 16>
void pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::clear_loop ( )
inlinenoexcept

◆ configure()

template<typename SampleType = float, std::size_t MaxPoints = 16>
BreakpointEnvelopeStatus pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::configure ( std::span< const Point > points)
inlinenodiscardnoexcept

Replaces the complete program transactionally.

Failure leaves the previous program and playback position unchanged.

◆ current()

template<typename SampleType = float, std::size_t MaxPoints = 16>
SampleType pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::current ( ) const
inlinenoexcept

◆ current_segment()

template<typename SampleType = float, std::size_t MaxPoints = 16>
std::size_t pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::current_segment ( ) const
inlinenoexcept

◆ loops_completed()

template<typename SampleType = float, std::size_t MaxPoints = 16>
std::uint32_t pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::loops_completed ( ) const
inlinenoexcept

◆ next()

template<typename SampleType = float, std::size_t MaxPoints = 16>
SampleType pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::next ( )
inlinenoexcept

◆ point_count()

template<typename SampleType = float, std::size_t MaxPoints = 16>
std::size_t pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::point_count ( ) const
inlinenoexcept

◆ points()

template<typename SampleType = float, std::size_t MaxPoints = 16>
std::span< const Point > pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::points ( ) const
inlinenoexcept

◆ prepare()

template<typename SampleType = float, std::size_t MaxPoints = 16>
BreakpointEnvelopeStatus pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::prepare ( double sample_rate)
inlinenodiscardnoexcept

◆ process()

template<typename SampleType = float, std::size_t MaxPoints = 16>
void pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::process ( std::span< SampleType > output)
inlinenoexcept

◆ reset()

template<typename SampleType = float, std::size_t MaxPoints = 16>
void pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::reset ( )
inlinenoexcept

◆ sample_rate()

template<typename SampleType = float, std::size_t MaxPoints = 16>
double pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::sample_rate ( ) const
inlinenoexcept

◆ segment_position_samples()

template<typename SampleType = float, std::size_t MaxPoints = 16>
std::uint64_t pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::segment_position_samples ( ) const
inlinenoexcept

◆ set_loop()

template<typename SampleType = float, std::size_t MaxPoints = 16>
BreakpointEnvelopeStatus pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::set_loop ( std::size_t first_point,
std::size_t last_point,
std::uint32_t repeat_count )
inlinenodiscardnoexcept

Repeats the range from first_point through last_point.

A repeat count of zero disables looping; kLoopForever loops indefinitely.

◆ trigger()

template<typename SampleType = float, std::size_t MaxPoints = 16>
void pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::trigger ( )
inlinenoexcept

Member Data Documentation

◆ kDefaultSampleRate

template<typename SampleType = float, std::size_t MaxPoints = 16>
double pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::kDefaultSampleRate = 48000.0
staticconstexpr

◆ kLoopForever

template<typename SampleType = float, std::size_t MaxPoints = 16>
std::uint32_t pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::kLoopForever = std::numeric_limits<std::uint32_t>::max()
staticconstexpr

◆ kMaxProgramTimeMs

template<typename SampleType = float, std::size_t MaxPoints = 16>
double pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::kMaxProgramTimeMs = 86400000.0
staticconstexpr

◆ kMaxSampleRate

template<typename SampleType = float, std::size_t MaxPoints = 16>
double pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::kMaxSampleRate = 768000.0
staticconstexpr

◆ kMinSampleRate

template<typename SampleType = float, std::size_t MaxPoints = 16>
double pulp::signal::BreakpointEnvelopeT< SampleType, MaxPoints >::kMinSampleRate = 1.0
staticconstexpr

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