Loading...
Searching...
No Matches
juce::SmoothedValueBase< SmoothedValueType > Class Template Reference

## 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.

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

- juce_audio_basics/utilities/juce_SmoothedValue.h

## 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

## Member Typedef Documentation

## FloatType

template<typename SmoothedValueType>

using juce::SmoothedValueBase< SmoothedValueType >::FloatType = typename FloatTypeHelper<SmoothedValueType>::Type

## Constructors and Destructors

## SmoothedValueBase()

template<typename SmoothedValueType>

juce::SmoothedValueBase< SmoothedValueType >::SmoothedValueBase | ( |  | ) |

default

Constructor.

## Member Functions

## isSmoothing()

template<typename SmoothedValueType>

bool juce::SmoothedValueBase< SmoothedValueType >::isSmoothing | ( |  | ) | const

inline noexcept

Returns true if the current value is currently being interpolated.

References countdown.

Referenced by applyGain(), applyGain(), and applyGain().

## getCurrentValue()

template<typename SmoothedValueType>

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

inline noexcept

Returns the current value of the ramp.

References currentValue.

## getTargetValue()

template<typename SmoothedValueType>

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

inline noexcept

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

References target.

## setCurrentAndTargetValue()

template<typename SmoothedValueType>

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

inline

Sets the current value and the target value.

Parameters

  newValue | the new value to take

References countdown, currentValue, and target.

## applyGain() [1/3]

template<typename SmoothedValueType>

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

inline noexcept

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

Parameters

  samples | Pointer to a raw array of samples
  numSamples | Length of array of samples

References isSmoothing(), jassert, and target.

## applyGain() [2/3]

template<typename SmoothedValueType>

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

inline noexcept

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

Sout[i] = Sin[i] * gain

Parameters

  samplesOut | A pointer to a raw array of output samples
  samplesIn | A pointer to a raw array of input samples
  numSamples | The length of the array of samples

References isSmoothing(), jassert, and target.

## applyGain() [3/3]

template<typename SmoothedValueType>

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

inline noexcept

Applies a smoothed gain to a buffer.

References isSmoothing(), jassert, and target.

## Member Data Documentation

## currentValue

template<typename SmoothedValueType>

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

protected

Referenced by getCurrentValue(), and setCurrentAndTargetValue().

## target

template<typename SmoothedValueType>

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

protected

Referenced by applyGain(), applyGain(), applyGain(), getTargetValue(), and setCurrentAndTargetValue().

## countdown

template<typename SmoothedValueType>

int juce::SmoothedValueBase< SmoothedValueType >::countdown = 0

protected

Referenced by isSmoothing(), and setCurrentAndTargetValue().

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited