OpenShot Library | OpenShotAudio 0.2.2
|
Utility class for logarithmically smoothed linear values. More...
#include <juce_LogRampedValue.h>
Public Member Functions | |
LogRampedValue ()=default | |
Constructor. | |
LogRampedValue (FloatType initialValue) noexcept | |
Constructor. More... | |
void | setLogParameters (FloatType midPointAmplitudedB, bool rateOfChangeShouldIncrease) noexcept |
Sets the behaviour of the log ramp. More... | |
void | reset (double sampleRate, double rampLengthInSeconds) noexcept |
Reset to a new sample rate and ramp length. More... | |
void | reset (int numSteps) noexcept |
Set a new ramp length directly in samples. More... | |
void | setTargetValue (FloatType newValue) noexcept |
Set a new target value. More... | |
FloatType | getNextValue () noexcept |
Compute the next value. More... | |
FloatType | skip (int numSamples) noexcept |
Skip the next numSamples samples. More... | |
![]() | |
SmoothedValueBase ()=default | |
Constructor. | |
bool | isSmoothing () const noexcept |
Returns true if the current value is currently being interpolated. More... | |
FloatType | getCurrentValue () const noexcept |
Returns the current value of the ramp. More... | |
FloatType | getTargetValue () const noexcept |
Returns the target value towards which the smoothed value is currently moving. More... | |
void | setCurrentAndTargetValue (FloatType newValue) |
Sets the current value and the target value. More... | |
void | applyGain (FloatType *samples, int numSamples) noexcept |
Applies a smoothed gain to a stream of samples S[i] *= gain. More... | |
void | applyGain (FloatType *samplesOut, const FloatType *samplesIn, int numSamples) noexcept |
Computes output as a smoothed gain applied to a stream of samples. More... | |
void | applyGain (AudioBuffer< FloatType > &buffer, int numSamples) noexcept |
Applies a smoothed gain to a buffer. More... | |
Additional Inherited Members | |
![]() | |
using | FloatType = typename FloatTypeHelper< LogRampedValue< FloatType > >::Type |
![]() | |
FloatType | currentValue |
FloatType | target |
int | countdown |
Utility class for logarithmically smoothed linear values.
Logarithmically smoothed values can be more relevant than linear ones for specific cases such as algorithm change smoothing, using two of them in opposite directions.
The gradient of the logarithmic/exponential slope can be configured by calling LogRampedValue::setLogParameters.
Definition at line 52 of file juce_LogRampedValue.h.
|
inlinenoexcept |
Constructor.
Definition at line 60 of file juce_LogRampedValue.h.
|
inlinenoexcept |
Sets the behaviour of the log ramp.
midPointAmplitudedB | Sets the amplitude of the mid point in decibels, with the target value at 0 dB and the initial value at -inf dB |
rateOfChangeShouldIncrease | If true then the ramp starts shallow and gets progressively steeper, if false then the ramp is initially steep and flattens out as you approach the target value |
Definition at line 78 of file juce_LogRampedValue.h.
References juce::Decibels::decibelsToGain().
|
inlinenoexcept |
Reset to a new sample rate and ramp length.
sampleRate | The sample rate |
rampLengthInSeconds | The duration of the ramp in seconds |
Definition at line 91 of file juce_LogRampedValue.h.
References juce::dsp::LogRampedValue< FloatType >::reset().
Referenced by juce::dsp::LogRampedValue< FloatType >::reset(), and juce::dsp::LogRampedValueTests::runTest().
|
inlinenoexcept |
Set a new ramp length directly in samples.
numSteps | The number of samples over which the ramp should be active |
Definition at line 100 of file juce_LogRampedValue.h.
References juce::SmoothedValueBase< LogRampedValue< FloatType > >::setCurrentAndTargetValue().
|
inlinenoexcept |
Set a new target value.
newValue | The new target value |
Definition at line 114 of file juce_LogRampedValue.h.
References juce::SmoothedValueBase< LogRampedValue< FloatType > >::setCurrentAndTargetValue().
|
inlinenoexcept |
Compute the next value.
Definition at line 136 of file juce_LogRampedValue.h.
References juce::SmoothedValueBase< LogRampedValue< FloatType > >::isSmoothing().
|
inlinenoexcept |
Skip the next numSamples samples.
This is identical to calling getNextValue numSamples times.
Definition at line 155 of file juce_LogRampedValue.h.
References juce::SmoothedValueBase< LogRampedValue< FloatType > >::setCurrentAndTargetValue().