Audacious  $Id:Doxyfile42802007-03-2104:39:00Znenolod$
Macros | Functions | Variables
equalizer.c File Reference
#include <glib.h>
#include <math.h>
#include <pthread.h>
#include <string.h>
#include <libaudcore/audstrings.h>
#include <libaudcore/hook.h>
#include "equalizer.h"
#include "misc.h"
#include "types.h"

Go to the source code of this file.

Macros

#define EQ_BANDS   AUD_EQUALIZER_NBANDS
 
#define MAX_CHANNELS   10
 
#define Q   1.2247449
 

Functions

static void bp2 (float *a, float *b, float fc, float q)
 
void eq_set_format (int new_channels, int new_rate)
 
static void eq_set_bands_real (double preamp, double *values)
 
void eq_filter (float *data, int samples)
 
static void eq_update (void *data, void *user)
 
void eq_init (void)
 
void eq_cleanup (void)
 
void eq_set_bands (const double *values)
 
void eq_get_bands (double *values)
 
void eq_set_band (int band, double value)
 
double eq_get_band (int band)
 

Variables

static const float CF [EQ_BANDS]
 
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER
 
static bool_t active
 
static int channels
 
static int rate
 
static float a [EQ_BANDS][2]
 
static float b [EQ_BANDS][2]
 
static float wqv [MAX_CHANNELS][EQ_BANDS][2]
 
static float gv [MAX_CHANNELS][EQ_BANDS]
 
static int K
 

Macro Definition Documentation

#define EQ_BANDS   AUD_EQUALIZER_NBANDS
#define MAX_CHANNELS   10

Definition at line 39 of file equalizer.c.

Referenced by eq_set_bands_real().

#define Q   1.2247449

Definition at line 43 of file equalizer.c.

Referenced by eq_set_format().

Function Documentation

static void bp2 ( float *  a,
float *  b,
float  fc,
float  q 
)
static

Definition at line 62 of file equalizer.c.

Referenced by eq_set_format().

void eq_cleanup ( void  )

Definition at line 176 of file equalizer.c.

Referenced by shut_down().

void eq_filter ( float *  data,
int  samples 
)

Definition at line 109 of file equalizer.c.

Referenced by write_output_raw().

double eq_get_band ( int  band)

Definition at line 208 of file equalizer.c.

Referenced by audacious_rc_get_eq_band().

void eq_get_bands ( double *  values)

Definition at line 191 of file equalizer.c.

Referenced by audacious_rc_get_eq(), eq_get_band(), eq_set_band(), and eq_update().

void eq_init ( void  )

Definition at line 168 of file equalizer.c.

Referenced by init_two().

void eq_set_band ( int  band,
double  value 
)

Definition at line 199 of file equalizer.c.

Referenced by audacious_rc_set_eq_band().

void eq_set_bands ( const double *  values)

Definition at line 183 of file equalizer.c.

Referenced by audacious_rc_set_eq(), and eq_set_band().

static void eq_set_bands_real ( double  preamp,
double *  values 
)
static

Definition at line 98 of file equalizer.c.

Referenced by eq_update().

void eq_set_format ( int  new_channels,
int  new_rate 
)

Definition at line 73 of file equalizer.c.

Referenced by setup_output().

static void eq_update ( void *  data,
void *  user 
)
static

Definition at line 155 of file equalizer.c.

Referenced by eq_cleanup(), and eq_init().

Variable Documentation

float a[EQ_BANDS][2]
static
bool_t active
static

Definition at line 53 of file equalizer.c.

Referenced by eq_filter(), eq_update(), and on_toggle_button_toggled().

float b[EQ_BANDS][2]
static
const float CF[EQ_BANDS]
static
Initial value:
= {31.25, 62.5, 125, 250, 500, 1000, 2000,
4000, 8000, 16000}

Definition at line 49 of file equalizer.c.

Referenced by eq_set_format().

int channels
static
float gv[MAX_CHANNELS][EQ_BANDS]
static

Definition at line 58 of file equalizer.c.

Referenced by eq_filter(), and eq_set_bands_real().

int K
static

Definition at line 59 of file equalizer.c.

Referenced by eq_filter(), and eq_set_format().

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER
static

Definition at line 52 of file equalizer.c.

Referenced by eq_filter(), eq_set_format(), and eq_update().

int rate
static
float wqv[MAX_CHANNELS][EQ_BANDS][2]
static

Definition at line 57 of file equalizer.c.

Referenced by eq_filter(), and eq_set_format().