JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::AudioDeviceManager::LevelMeter Struct Reference

A simple reference-counted struct that holds a level-meter value that can be read using getCurrentLevel(). More...

#include <juce_AudioDeviceManager.h>

Inheritance diagram for juce::AudioDeviceManager::LevelMeter:
Collaboration diagram for juce::AudioDeviceManager::LevelMeter:

Public Types

using Ptr = ReferenceCountedObjectPtr< LevelMeter >
 

Public Member Functions

 LevelMeter () noexcept
 
void decReferenceCount () noexcept
 Decreases the object's reference count. More...
 
bool decReferenceCountWithoutDeleting () noexcept
 Decreases the object's reference count. More...
 
double getCurrentLevel () const noexcept
 
int getReferenceCount () const noexcept
 Returns the object's current reference count. More...
 
void incReferenceCount () noexcept
 Increments the object's reference count. More...
 

Protected Member Functions

void resetReferenceCount () noexcept
 Resets the reference count to zero without deleting the object. More...
 

Private Member Functions

void updateLevel (const float *const *, int numChannels, int numSamples) noexcept
 

Private Attributes

Atomic< floatlevel { 0 }
 
Atomic< intrefCount { 0 }
 

Friends

class AudioDeviceManager
 

Detailed Description

A simple reference-counted struct that holds a level-meter value that can be read using getCurrentLevel().

This is used to ensure that the level processing code is only executed when something holds a reference to one of these objects and will be bypassed otherwise.

See also
getInputLevelGetter, getOutputLevelGetter

Member Typedef Documentation

◆ Ptr

Constructor & Destructor Documentation

◆ LevelMeter()

juce::AudioDeviceManager::LevelMeter::LevelMeter ( )
noexcept

Member Function Documentation

◆ decReferenceCount()

void juce::ReferenceCountedObject::decReferenceCount ( )
inlinenoexceptinherited

Decreases the object's reference count.

If the count gets to zero, the object will be deleted.

References jassert.

◆ decReferenceCountWithoutDeleting()

bool juce::ReferenceCountedObject::decReferenceCountWithoutDeleting ( )
inlinenoexceptinherited

Decreases the object's reference count.

If the count gets to zero, the object will not be deleted, but this method will return true, allowing the caller to take care of deletion.

References jassert.

◆ getCurrentLevel()

double juce::AudioDeviceManager::LevelMeter::getCurrentLevel ( ) const
noexcept

◆ getReferenceCount()

int juce::ReferenceCountedObject::getReferenceCount ( ) const
inlinenoexceptinherited

Returns the object's current reference count.

◆ incReferenceCount()

void juce::ReferenceCountedObject::incReferenceCount ( )
inlinenoexceptinherited

Increments the object's reference count.

This is done automatically by the smart pointer, but is public just in case it's needed for nefarious purposes.

Referenced by juce::ReferenceCountedObjectPtr< juce::ReferenceCountedObject >::operator=().

◆ resetReferenceCount()

void juce::ReferenceCountedObject::resetReferenceCount ( )
inlineprotectednoexceptinherited

Resets the reference count to zero without deleting the object.

You should probably never need to use this!

◆ updateLevel()

void juce::AudioDeviceManager::LevelMeter::updateLevel ( const float *const *  ,
int  numChannels,
int  numSamples 
)
privatenoexcept

Friends And Related Function Documentation

◆ AudioDeviceManager

friend class AudioDeviceManager
friend

Member Data Documentation

◆ level

Atomic<float> juce::AudioDeviceManager::LevelMeter::level { 0 }
private

◆ refCount

Atomic<int> juce::ReferenceCountedObject::refCount { 0 }
privateinherited

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