TracktionEngine
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
engine::SharedLevelMeasurer Class Reference

A shared level measurer that can be used by several threads to provide a total output level. More...

#include <tracktion_LevelMeasurer.h>

Inheritance diagram for engine::SharedLevelMeasurer:

Public Types

using Ptr = juce::ReferenceCountedObjectPtr< SharedLevelMeasurer >
 
- Public Types inherited from engine::LevelMeasurer
enum  Mode { peakMode = 0 , RMSMode = 1 , sumDiffMode = 2 }
 

Public Member Functions

void startNextBlock (double streamTime)
 
void setSize (int channels, int numSamples)
 
void addBuffer (const juce::AudioBuffer< float > &inBuffer, int startSample, int numSamples)
 
- Public Member Functions inherited from engine::LevelMeasurer
 LevelMeasurer ()
 
 ~LevelMeasurer ()
 
void processBuffer (juce::AudioBuffer< float > &buffer, int start, int numSamples)
 
void processMidi (MidiMessageArray &midiBuffer, const float *gains)
 
void processMidiLevel (float level)
 
void clear ()
 
void clearOverload ()
 
void clearPeak ()
 
void setMode (Mode)
 
Mode getMode () const noexcept
 
void setShowMidi (bool showMidi)
 
int getNumActiveChannels () const noexcept
 
void addClient (Client &)
 
void removeClient (Client &)
 

Public Attributes

juce::SpinLock spinLock
 
double lastStreamTime = 0
 
juce::AudioBuffer< float > sumBuffer
 

Detailed Description

A shared level measurer that can be used by several threads to provide a total output level.

Member Typedef Documentation

◆ Ptr

using engine::SharedLevelMeasurer::Ptr = juce::ReferenceCountedObjectPtr<SharedLevelMeasurer>

Member Function Documentation

◆ startNextBlock()

void engine::SharedLevelMeasurer::startNextBlock ( double  streamTime)

◆ setSize()

void engine::SharedLevelMeasurer::setSize ( int  channels,
int  numSamples 
)

◆ addBuffer()

void engine::SharedLevelMeasurer::addBuffer ( const juce::AudioBuffer< float > &  inBuffer,
int  startSample,
int  numSamples 
)

Member Data Documentation

◆ spinLock

juce::SpinLock engine::SharedLevelMeasurer::spinLock

◆ lastStreamTime

double engine::SharedLevelMeasurer::lastStreamTime = 0

◆ sumBuffer

juce::AudioBuffer<float> engine::SharedLevelMeasurer::sumBuffer

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