A fixed-capacity body-shaped excitation shared by plucked-string voices. More...
#include <commuted_string_excitation.hpp>
Public Member Functions | |
| CommutedStringExcitationPrepareStatus | prepare (std::span< const SampleType > base_excitation, std::span< const SampleType > body_impulse_response) noexcept |
| std::span< const SampleType > | samples () const noexcept |
| std::size_t | retained_samples () const noexcept |
| bool | empty () const noexcept |
| CommutedStringExcitationCursorT< SampleType > | make_cursor () const noexcept |
Static Public Attributes | |
| static constexpr std::size_t | maximum_retained_samples = MaximumRetainedSamples |
A fixed-capacity body-shaped excitation shared by plucked-string voices.
prepare() performs the finite time-domain convolution of a base excitation and body impulse response. It is a control-thread operation and must not run while a cursor refers to the profile. Invalid input leaves the previous profile unchanged. Successful preparation exposes immutable samples; each voice owns only its independent cursor and feeds next() to its string.
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
staticconstexpr |