OpenShot Library | libopenshot-audio 0.2.0
juce::SmoothedValueBase< SmoothedValueType > Class Template Reference

A base class for the smoothed value classes. More...

#include <juce_SmoothedValue.h>

+ Inheritance diagram for juce::SmoothedValueBase< SmoothedValueType >:

Public Types

using FloatType = typename FloatTypeHelper< SmoothedValueType >::Type
 

Public Member Functions

 SmoothedValueBase ()=default
 Constructor.
 
bool isSmoothing () const noexcept
 Returns true if the current value is currently being interpolated.
 
FloatType getCurrentValue () const noexcept
 Returns the current value of the ramp.
 
FloatType getTargetValue () const noexcept
 Returns the target value towards which the smoothed value is currently moving.
 
void setCurrentAndTargetValue (FloatType newValue)
 Sets the current value and the target value.
 
void applyGain (FloatType *samples, int numSamples) noexcept
 Applies a smoothed gain to a stream of samples S[i] *= gain.
 
void applyGain (FloatType *samplesOut, const FloatType *samplesIn, int numSamples) noexcept
 Computes output as a smoothed gain applied to a stream of samples.
 
void applyGain (AudioBuffer< FloatType > &buffer, int numSamples) noexcept
 Applies a smoothed gain to a buffer.
 

Protected Attributes

FloatType currentValue = 0
 
FloatType target = currentValue
 
int countdown = 0
 

Detailed Description

template<typename SmoothedValueType>
class juce::SmoothedValueBase< SmoothedValueType >

A base class for the smoothed value classes.

This class is used to provide common functionality to the SmoothedValue and dsp::LogRampedValue classes.

Definition at line 40 of file juce_SmoothedValue.h.

Member Typedef Documentation

◆ FloatType

Definition at line 59 of file juce_SmoothedValue.h.

Constructor & Destructor Documentation

◆ ~SmoothedValueBase()

Member Function Documentation

◆ isSmoothing()

◆ getCurrentValue()

FloatType juce::SmoothedValueBase< SmoothedValueType >::getCurrentValue ( ) const
inlinenoexcept

Returns the current value of the ramp.

Definition at line 72 of file juce_SmoothedValue.h.

◆ getTargetValue()

FloatType juce::SmoothedValueBase< SmoothedValueType >::getTargetValue ( ) const
inlinenoexcept

Returns the target value towards which the smoothed value is currently moving.

Definition at line 76 of file juce_SmoothedValue.h.

◆ setCurrentAndTargetValue()

void juce::SmoothedValueBase< SmoothedValueType >::setCurrentAndTargetValue ( FloatType  newValue)
inline

Sets the current value and the target value.

Parameters
newValuethe new value to take

Definition at line 81 of file juce_SmoothedValue.h.

Referenced by juce::SmoothedValue< FloatType, SmoothingType >::reset(), juce::SmoothedValue< FloatType, SmoothingType >::setTargetValue(), and juce::SmoothedValue< FloatType, SmoothingType >::skip().

◆ applyGain() [1/3]

void juce::SmoothedValueBase< SmoothedValueType >::applyGain ( FloatType *  samples,
int  numSamples 
)
inlinenoexcept

Applies a smoothed gain to a stream of samples S[i] *= gain.

Parameters
samplesPointer to a raw array of samples
numSamplesLength of array of samples

Definition at line 93 of file juce_SmoothedValue.h.

References juce::SmoothedValueBase< SmoothedValueType >::isSmoothing(), and juce::FloatVectorOperations::multiply().

◆ applyGain() [2/3]

void juce::SmoothedValueBase< SmoothedValueType >::applyGain ( FloatType *  samplesOut,
const FloatType *  samplesIn,
int  numSamples 
)
inlinenoexcept

Computes output as a smoothed gain applied to a stream of samples.

Sout[i] = Sin[i] * gain

Parameters
samplesOutA pointer to a raw array of output samples
samplesInA pointer to a raw array of input samples
numSamplesThe length of the array of samples

Definition at line 114 of file juce_SmoothedValue.h.

References juce::SmoothedValueBase< SmoothedValueType >::isSmoothing(), and juce::FloatVectorOperations::multiply().

◆ applyGain() [3/3]

void juce::SmoothedValueBase< SmoothedValueType >::applyGain ( AudioBuffer< FloatType > &  buffer,
int  numSamples 
)
inlinenoexcept

Applies a smoothed gain to a buffer.

Definition at line 130 of file juce_SmoothedValue.h.

References juce::SmoothedValueBase< SmoothedValueType >::isSmoothing().

Member Data Documentation

◆ currentValue

FloatType juce::SmoothedValueBase< SmoothedValueType >::currentValue = 0
protected

Definition at line 169 of file juce_SmoothedValue.h.

◆ target

FloatType juce::SmoothedValueBase< SmoothedValueType >::target = currentValue
protected

Definition at line 170 of file juce_SmoothedValue.h.

◆ countdown

Definition at line 171 of file juce_SmoothedValue.h.


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