#include <true_peak_limiter.hpp>
|
| bool | prepare (double sample_rate, std::size_t channels, Params params={}) |
| void | reset () noexcept |
| bool | set_ceiling_dbtp (double dbtp) noexcept |
| bool | set_release_ms (double milliseconds) noexcept |
| bool | set_realtime_control_coefficients (double ceiling_dbtp, double safe_ceiling_linear, double release_ms, double release_retain) noexcept |
| | Install already-computed control coefficients without calling libm.
|
| double | ceiling_dbtp () const noexcept |
| double | lookahead_ms () const noexcept |
| double | release_ms () const noexcept |
| ChannelLink | channel_link () const noexcept |
| std::size_t | channel_count () const noexcept |
| int | latency_samples () const noexcept |
| int | tail_samples () const noexcept |
| bool | prepared () const noexcept |
| std::uint64_t | fault_count () const noexcept |
| double | gain_reduction_db (std::size_t channel=0) const noexcept |
| | Current attenuation as a non-negative dB magnitude.
|
| std::array< double, interpolation_factor()> | detector_phases (std::span< const double, interpolation_taps()> newest_to_oldest) const noexcept |
| | Reconstruct the eight detector phases for one channel without changing limiter state.
|
| bool | process_frame (std::span< const SampleType > input, std::span< SampleType > output) noexcept |
| bool | process_interleaved (const SampleType *input, SampleType *output, std::size_t frames, std::size_t channels) noexcept |
◆ ChannelLink
template<typename SampleType = float, std::size_t MaxChannels = 2>
| Enumerator |
|---|
| linked | |
| independent | |
◆ ceiling_dbtp()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ channel_count()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ channel_link()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ detector_guard_db()
template<typename SampleType = float, std::size_t MaxChannels = 2>
|
|
inlinestaticconstexprnoexcept |
◆ detector_latency_samples()
template<typename SampleType = float, std::size_t MaxChannels = 2>
|
|
inlinestaticconstexprnoexcept |
◆ detector_mac_count_per_channel()
template<typename SampleType = float, std::size_t MaxChannels = 2>
|
|
inlinestaticconstexprnoexcept |
◆ detector_phases()
template<typename SampleType = float, std::size_t MaxChannels = 2>
Reconstruct the eight detector phases for one channel without changing limiter state.
This exposes the detector stage to tests and visualizers.
◆ fault_count()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ gain_reduction_db()
template<typename SampleType = float, std::size_t MaxChannels = 2>
Current attenuation as a non-negative dB magnitude.
◆ internal_gain_lookahead_samples()
template<typename SampleType = float, std::size_t MaxChannels = 2>
|
|
inlinestaticconstexprnoexcept |
Fixed future-peak horizon required by the output gain scheduler.
◆ interpolation_factor()
template<typename SampleType = float, std::size_t MaxChannels = 2>
|
|
inlinestaticconstexprnoexcept |
◆ interpolation_taps()
template<typename SampleType = float, std::size_t MaxChannels = 2>
|
|
inlinestaticconstexprnoexcept |
◆ latency_samples()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ lookahead_ms()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ maximum_lookahead_ms()
template<typename SampleType = float, std::size_t MaxChannels = 2>
|
|
inlinestaticconstexprnoexcept |
◆ maximum_supported_channels()
template<typename SampleType = float, std::size_t MaxChannels = 2>
|
|
inlinestaticconstexprnoexcept |
◆ maximum_supported_sample_rate()
template<typename SampleType = float, std::size_t MaxChannels = 2>
|
|
inlinestaticconstexprnoexcept |
◆ prepare()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ prepared()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ process_frame()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ process_interleaved()
template<typename SampleType = float, std::size_t MaxChannels = 2>
| bool pulp::signal::TruePeakLimiterT< SampleType, MaxChannels >::process_interleaved |
( |
const SampleType * | input, |
|
|
SampleType * | output, |
|
|
std::size_t | frames, |
|
|
std::size_t | channels ) |
|
inlinenoexcept |
◆ release_ms()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ reset()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ set_ceiling_dbtp()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ set_realtime_control_coefficients()
template<typename SampleType = float, std::size_t MaxChannels = 2>
| bool pulp::signal::TruePeakLimiterT< SampleType, MaxChannels >::set_realtime_control_coefficients |
( |
double | ceiling_dbtp, |
|
|
double | safe_ceiling_linear, |
|
|
double | release_ms, |
|
|
double | release_retain ) |
|
inlinenoexcept |
Install already-computed control coefficients without calling libm.
Intended for sample-accurate automation whose lookup table was built on the control thread. The dB/ms values remain the public control state.
◆ set_release_ms()
template<typename SampleType = float, std::size_t MaxChannels = 2>
◆ tail_samples()
template<typename SampleType = float, std::size_t MaxChannels = 2>
The documentation for this class was generated from the following file: