TracktionEngine
Public Types | Public Member Functions | Public Attributes | List of all members
tracktion::engine::SharedLevelMeasurer Class Reference

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

Inheritance diagram for tracktion::engine::SharedLevelMeasurer:

Public Types

using Ptr = juce::ReferenceCountedObjectPtr< SharedLevelMeasurer >
 
- Public Types inherited from tracktion::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 tracktion::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 &)
 
void setLevelCache (float dBL, float dBR) noexcept
 
std::pair< float, float > getLevelCache () const noexcept
 

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 tracktion::engine::SharedLevelMeasurer::Ptr = juce::ReferenceCountedObjectPtr<SharedLevelMeasurer>

Member Function Documentation

◆ startNextBlock()

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

◆ setSize()

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

◆ addBuffer()

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

Member Data Documentation

◆ spinLock

juce::SpinLock tracktion::engine::SharedLevelMeasurer::spinLock

◆ lastStreamTime

double tracktion::engine::SharedLevelMeasurer::lastStreamTime = 0

◆ sumBuffer

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

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