RetroArch
Classes | Macros | Functions | Variables
reverb.c File Reference
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <retro_inline.h>
#include <libretro_dspfilter.h>
Include dependency graph for reverb.c:

Classes

struct  comb
 
struct  allpass
 
struct  revmodel
 
struct  reverb_data
 

Macros

#define numcombs   8
 
#define numallpasses   4
 

Functions

static INLINE float comb_process (struct comb *c, float input)
 
static INLINE float allpass_process (struct allpass *a, float input)
 
static float revmodel_process (struct revmodel *rev, float in)
 
static void revmodel_update (struct revmodel *rev)
 
static void revmodel_setroomsize (struct revmodel *rev, float value)
 
static void revmodel_setdamp (struct revmodel *rev, float value)
 
static void revmodel_setwet (struct revmodel *rev, float value)
 
static void revmodel_setdry (struct revmodel *rev, float value)
 
static void revmodel_setwidth (struct revmodel *rev, float value)
 
static void revmodel_setmode (struct revmodel *rev, float value)
 
static void revmodel_init (struct revmodel *rev, int srate)
 
static void reverb_free (void *data)
 
static void reverb_process (void *data, struct dspfilter_output *output, const struct dspfilter_input *input)
 
static voidreverb_init (const struct dspfilter_info *info, const struct dspfilter_config *config, void *userdata)
 
const struct dspfilter_implementationdspfilter_get_implementation (dspfilter_simd_mask_t mask)
 

Variables

static const float muted = 0
 
static const float fixedgain = 0.015f
 
static const float scalewet = 3
 
static const float scaledry = 2
 
static const float scaledamp = 0.4f
 
static const float scaleroom = 0.28f
 
static const float offsetroom = 0.7f
 
static const float initialroom = 0.5f
 
static const float initialdamp = 0.5f
 
static const float initialwet = 1.0f / 3.0f
 
static const float initialdry = 0
 
static const float initialwidth = 1
 
static const float initialmode = 0
 
static const float freezemode = 0.5f
 
static const struct dspfilter_implementation reverb_plug
 

Macro Definition Documentation

◆ numallpasses

#define numallpasses   4

◆ numcombs

#define numcombs   8

Function Documentation

◆ allpass_process()

static INLINE float allpass_process ( struct allpass a,
float  input 
)
static
Here is the caller graph for this function:

◆ comb_process()

static INLINE float comb_process ( struct comb c,
float  input 
)
static
Here is the caller graph for this function:

◆ dspfilter_get_implementation()

const struct dspfilter_implementation* dspfilter_get_implementation ( dspfilter_simd_mask_t  mask)
Here is the call graph for this function:

◆ reverb_free()

static void reverb_free ( void data)
static
Here is the call graph for this function:

◆ reverb_init()

static void* reverb_init ( const struct dspfilter_info info,
const struct dspfilter_config config,
void userdata 
)
static
Here is the call graph for this function:

◆ reverb_process()

static void reverb_process ( void data,
struct dspfilter_output output,
const struct dspfilter_input input 
)
static
Here is the call graph for this function:

◆ revmodel_init()

static void revmodel_init ( struct revmodel rev,
int  srate 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ revmodel_process()

static float revmodel_process ( struct revmodel rev,
float  in 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ revmodel_setdamp()

static void revmodel_setdamp ( struct revmodel rev,
float  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ revmodel_setdry()

static void revmodel_setdry ( struct revmodel rev,
float  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ revmodel_setmode()

static void revmodel_setmode ( struct revmodel rev,
float  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ revmodel_setroomsize()

static void revmodel_setroomsize ( struct revmodel rev,
float  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ revmodel_setwet()

static void revmodel_setwet ( struct revmodel rev,
float  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ revmodel_setwidth()

static void revmodel_setwidth ( struct revmodel rev,
float  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ revmodel_update()

static void revmodel_update ( struct revmodel rev)
static
Here is the caller graph for this function:

Variable Documentation

◆ fixedgain

const float fixedgain = 0.015f
static

◆ freezemode

const float freezemode = 0.5f
static

◆ initialdamp

const float initialdamp = 0.5f
static

◆ initialdry

const float initialdry = 0
static

◆ initialmode

const float initialmode = 0
static

◆ initialroom

const float initialroom = 0.5f
static

◆ initialwet

const float initialwet = 1.0f / 3.0f
static

◆ initialwidth

const float initialwidth = 1
static

◆ muted

const float muted = 0
static

◆ offsetroom

const float offsetroom = 0.7f
static

◆ reverb_plug

const struct dspfilter_implementation reverb_plug
static
Initial value:
= {
"Reverb",
"reverb",
}
static void reverb_process(void *data, struct dspfilter_output *output, const struct dspfilter_input *input)
Definition: reverb.c:244
#define DSPFILTER_API_VERSION
Definition: libretro_dspfilter.h:61
static void * reverb_init(const struct dspfilter_info *info, const struct dspfilter_config *config, void *userdata)
Definition: reverb.c:264
static void reverb_free(void *data)
Definition: reverb.c:227

◆ scaledamp

const float scaledamp = 0.4f
static

◆ scaledry

const float scaledry = 2
static

◆ scaleroom

const float scaleroom = 0.28f
static

◆ scalewet

const float scalewet = 3
static