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

Per-voice traversal state for an immutable prepared excitation profile. More...

#include <commuted_string_excitation.hpp>

Public Member Functions

 CommutedStringExcitationCursorT () noexcept=default
 CommutedStringExcitationCursorT (std::span< const SampleType > samples) noexcept
void reset () noexcept
 Leaves the cursor silent at the beginning of the profile.
void trigger () noexcept
 Starts the profile from its first sample.
void retrigger () noexcept
 Restarts the profile even when the current traversal has not finished.
SampleType next () noexcept
void render (std::span< SampleType > output) noexcept
bool active () const noexcept
std::size_t position () const noexcept
std::size_t remaining () const noexcept

Detailed Description

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

Per-voice traversal state for an immutable prepared excitation profile.

The referenced samples must outlive the cursor. Triggering, resetting, reading one sample, and rendering a span are constant-storage operations; they allocate no memory, take no locks, perform no I/O, and never throw.

Constructor & Destructor Documentation

◆ CommutedStringExcitationCursorT() [1/2]

template<typename SampleType = float>
pulp::signal::CommutedStringExcitationCursorT< SampleType >::CommutedStringExcitationCursorT ( )
defaultnoexcept

◆ CommutedStringExcitationCursorT() [2/2]

template<typename SampleType = float>
pulp::signal::CommutedStringExcitationCursorT< SampleType >::CommutedStringExcitationCursorT ( std::span< const SampleType > samples)
inlineexplicitnoexcept

Member Function Documentation

◆ active()

template<typename SampleType = float>
bool pulp::signal::CommutedStringExcitationCursorT< SampleType >::active ( ) const
inlinenodiscardnoexcept

◆ next()

template<typename SampleType = float>
SampleType pulp::signal::CommutedStringExcitationCursorT< SampleType >::next ( )
inlinenodiscardnoexcept

◆ position()

template<typename SampleType = float>
std::size_t pulp::signal::CommutedStringExcitationCursorT< SampleType >::position ( ) const
inlinenodiscardnoexcept

◆ remaining()

template<typename SampleType = float>
std::size_t pulp::signal::CommutedStringExcitationCursorT< SampleType >::remaining ( ) const
inlinenodiscardnoexcept

◆ render()

template<typename SampleType = float>
void pulp::signal::CommutedStringExcitationCursorT< SampleType >::render ( std::span< SampleType > output)
inlinenoexcept

◆ reset()

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

Leaves the cursor silent at the beginning of the profile.

◆ retrigger()

template<typename SampleType = float>
void pulp::signal::CommutedStringExcitationCursorT< SampleType >::retrigger ( )
inlinenoexcept

Restarts the profile even when the current traversal has not finished.

◆ trigger()

template<typename SampleType = float>
void pulp::signal::CommutedStringExcitationCursorT< SampleType >::trigger ( )
inlinenoexcept

Starts the profile from its first sample.


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