Fixed-capacity arbitrary transfer curves with lock-free publication. More...
#include <pulp/runtime/triple_buffer.hpp>#include <pulp/signal/modulation_curve.hpp>#include <algorithm>#include <array>#include <cmath>#include <cstddef>#include <optional>#include <span>#include <type_traits>Go to the source code of this file.
Classes | |
| struct | pulp::signal::TransferCurvePointT< SampleType > |
| struct | pulp::signal::PreparedTransferCurveT< SampleType, MaxPoints > |
| class | pulp::signal::TransferCurveT< SampleType, MaxPoints > |
| Audio-thread processor for a fixed-capacity arbitrary transfer curve. More... | |
Namespaces | |
| namespace | pulp |
| namespace | pulp::signal |
Typedefs | |
| using | pulp::signal::TransferCurvePoint = TransferCurvePointT<float> |
| using | pulp::signal::TransferCurvePoint64 = TransferCurvePointT<double> |
| using | pulp::signal::PreparedTransferCurve = PreparedTransferCurveT<float, 32> |
| using | pulp::signal::PreparedTransferCurve64 = PreparedTransferCurveT<double, 32> |
| using | pulp::signal::TransferCurve = TransferCurveT<float, 32> |
| using | pulp::signal::TransferCurve64 = TransferCurveT<double, 32> |
Functions | |
| template<typename SampleType = float, std::size_t MaxPoints = 32> | |
| std::optional< PreparedTransferCurveT< SampleType, MaxPoints > > | pulp::signal::prepare_transfer_curve (std::span< const TransferCurvePointT< SampleType > > points, SampleType input_min, SampleType input_max, SampleType output_min, SampleType output_max) noexcept |
| Validate and prepare a piecewise transfer curve. | |
| template<typename SampleType, std::size_t MaxPoints> | |
| SampleType | pulp::signal::evaluate_transfer_curve (const PreparedTransferCurveT< SampleType, MaxPoints > &curve, SampleType input) noexcept |
| Evaluate a prepared curve. | |
Fixed-capacity arbitrary transfer curves with lock-free publication.