svcore  1.9
AudioLevel Class Reference

AudioLevel converts audio sample levels between various scales: More...

#include <AudioLevel.h>

Public Types

enum  FaderType {
  ShortFader = 0, LongFader = 1, IEC268Meter = 2, IEC268LongMeter = 3,
  PreviewLevel = 4
}
 

Static Public Member Functions

static float multiplier_to_dB (float multiplier)
 
static float dB_to_multiplier (float dB)
 
static float fader_to_dB (int level, int maxLevel, FaderType type)
 
static int dB_to_fader (float dB, int maxFaderLevel, FaderType type)
 
static float fader_to_multiplier (int level, int maxLevel, FaderType type)
 
static int multiplier_to_fader (float multiplier, int maxFaderLevel, FaderType type)
 
static int multiplier_to_preview (float multiplier, int levels)
 
static float preview_to_multiplier (int level, int levels)
 

Static Public Attributes

static const float DB_FLOOR = -1000.f
 

Detailed Description

AudioLevel converts audio sample levels between various scales:

  • dB values (-inf -> 0dB)
  • floating-point values (-1.0 -> 1.0) such as used for a multiplier for gain or in floating-point WAV files
  • integer values intended to correspond to pixels on a fader or vu level scale.

Definition at line 34 of file AudioLevel.h.

Member Enumeration Documentation

◆ FaderType

Enumerator
ShortFader 
LongFader 
IEC268Meter 
IEC268LongMeter 
PreviewLevel 

Definition at line 40 of file AudioLevel.h.

Member Function Documentation

◆ multiplier_to_dB()

float AudioLevel::multiplier_to_dB ( float  multiplier)
static

Definition at line 54 of file AudioLevel.cpp.

References DB_FLOOR.

Referenced by multiplier_to_fader().

◆ dB_to_multiplier()

float AudioLevel::dB_to_multiplier ( float  dB)
static

Definition at line 63 of file AudioLevel.cpp.

References DB_FLOOR.

Referenced by fader_to_multiplier().

◆ fader_to_dB()

float AudioLevel::fader_to_dB ( int  level,
int  maxLevel,
FaderType  type 
)
static

◆ dB_to_fader()

int AudioLevel::dB_to_fader ( float  dB,
int  maxFaderLevel,
FaderType  type 
)
static

Definition at line 154 of file AudioLevel.cpp.

References DB_FLOOR, faderTypes, IEC268LongMeter, IEC268Meter, and iec_dB_to_fader().

Referenced by multiplier_to_fader().

◆ fader_to_multiplier()

float AudioLevel::fader_to_multiplier ( int  level,
int  maxLevel,
FaderType  type 
)
static

Definition at line 208 of file AudioLevel.cpp.

References dB_to_multiplier(), and fader_to_dB().

Referenced by preview_to_multiplier().

◆ multiplier_to_fader()

int AudioLevel::multiplier_to_fader ( float  multiplier,
int  maxFaderLevel,
FaderType  type 
)
static

Definition at line 215 of file AudioLevel.cpp.

References dB_to_fader(), and multiplier_to_dB().

Referenced by multiplier_to_preview().

◆ multiplier_to_preview()

int AudioLevel::multiplier_to_preview ( float  multiplier,
int  levels 
)
static

Definition at line 241 of file AudioLevel.cpp.

References multiplier_to_fader(), and PreviewLevel.

◆ preview_to_multiplier()

float AudioLevel::preview_to_multiplier ( int  level,
int  levels 
)
static

Definition at line 281 of file AudioLevel.cpp.

References fader_to_multiplier(), and PreviewLevel.

Member Data Documentation

◆ DB_FLOOR

const float AudioLevel::DB_FLOOR = -1000.f
static

Definition at line 38 of file AudioLevel.h.

Referenced by dB_to_fader(), dB_to_multiplier(), fader_to_dB(), and multiplier_to_dB().


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