svcore  1.9
AudioLevel Class Reference

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

#include <AudioLevel.h>

List of all members.

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

Enumerator:
ShortFader 
LongFader 
IEC268Meter 
IEC268LongMeter 
PreviewLevel 

Definition at line 40 of file AudioLevel.h.


Member Function Documentation

float AudioLevel::multiplier_to_dB ( float  multiplier) [static]

Definition at line 54 of file AudioLevel.cpp.

References DB_FLOOR.

Referenced by multiplier_to_fader().

float AudioLevel::dB_to_multiplier ( float  dB) [static]

Definition at line 63 of file AudioLevel.cpp.

References DB_FLOOR.

Referenced by fader_to_multiplier().

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

Definition at line 117 of file AudioLevel.cpp.

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

Referenced by fader_to_multiplier().

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

Definition at line 154 of file AudioLevel.cpp.

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

Referenced by multiplier_to_fader().

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().

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().

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

Definition at line 241 of file AudioLevel.cpp.

References multiplier_to_fader(), and PreviewLevel.

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

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: