LMMS
Loading...
Searching...
No Matches
revsc.c File Reference
#include <math.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include "base.h"
#include "revsc.h"

Macros

#define DEFAULT_SRATE   44100.f
#define MIN_SRATE   5000.0
#define MAX_SRATE   1000000.0
#define MAX_PITCHMOD   20.0
#define DELAYPOS_SHIFT   28
#define DELAYPOS_SCALE   0x10000000
#define DELAYPOS_MASK   0x0FFFFFFF
#define M_PI   3.14159265358979323846 /* pi */

Functions

static int delay_line_max_samples (SPFLOAT sr, SPFLOAT iPitchMod, int n)
static int init_delay_line (sp_revsc *p, sp_revsc_dl *lp, int n)
static int delay_line_bytes_alloc (SPFLOAT sr, SPFLOAT iPitchMod, int n)
int sp_revsc_create (sp_revsc **p)
int sp_revsc_init (sp_data *sp, sp_revsc *p)
int sp_revsc_destroy (sp_revsc **p)
static void next_random_lineseg (sp_revsc *p, sp_revsc_dl *lp, int n)
int sp_revsc_compute (sp_data *sp, sp_revsc *p, SPFLOAT *in1, SPFLOAT *in2, SPFLOAT *out1, SPFLOAT *out2)

Variables

static const SPFLOAT reverbParams [8][4]
static const SPFLOAT outputGain = 0.35f
static const SPFLOAT jpScale = 0.25

Macro Definition Documentation

◆ DEFAULT_SRATE

#define DEFAULT_SRATE   44100.f

◆ DELAYPOS_MASK

#define DELAYPOS_MASK   0x0FFFFFFF

◆ DELAYPOS_SCALE

#define DELAYPOS_SCALE   0x10000000

◆ DELAYPOS_SHIFT

#define DELAYPOS_SHIFT   28

◆ M_PI

#define M_PI   3.14159265358979323846 /* pi */

◆ MAX_PITCHMOD

#define MAX_PITCHMOD   20.0

◆ MAX_SRATE

#define MAX_SRATE   1000000.0

◆ MIN_SRATE

#define MIN_SRATE   5000.0

Function Documentation

◆ delay_line_bytes_alloc()

int delay_line_bytes_alloc ( SPFLOAT sr,
SPFLOAT iPitchMod,
int n )
static

◆ delay_line_max_samples()

int delay_line_max_samples ( SPFLOAT sr,
SPFLOAT iPitchMod,
int n )
static

◆ init_delay_line()

int init_delay_line ( sp_revsc * p,
sp_revsc_dl * lp,
int n )
static

◆ next_random_lineseg()

void next_random_lineseg ( sp_revsc * p,
sp_revsc_dl * lp,
int n )
static

◆ sp_revsc_compute()

int sp_revsc_compute ( sp_data * sp,
sp_revsc * p,
SPFLOAT * in1,
SPFLOAT * in2,
SPFLOAT * out1,
SPFLOAT * out2 )

◆ sp_revsc_create()

int sp_revsc_create ( sp_revsc ** p)

◆ sp_revsc_destroy()

int sp_revsc_destroy ( sp_revsc ** p)

◆ sp_revsc_init()

int sp_revsc_init ( sp_data * sp,
sp_revsc * p )

Variable Documentation

◆ jpScale

const SPFLOAT jpScale = 0.25
static

◆ outputGain

const SPFLOAT outputGain = 0.35f
static

◆ reverbParams

const SPFLOAT reverbParams[8][4]
static
Initial value:
= {
{ (2473.f / DEFAULT_SRATE), 0.0010f, 3.100f, 1966.f },
{ (2767.f / DEFAULT_SRATE), 0.0011f, 3.500f, 29491.f },
{ (3217.f / DEFAULT_SRATE), 0.0017f, 1.110f, 22937.f },
{ (3557.f / DEFAULT_SRATE), 0.0006f, 3.973f, 9830.f },
{ (3907.f / DEFAULT_SRATE), 0.0010f, 2.341f, 20643.f },
{ (4127.f / DEFAULT_SRATE), 0.0011f, 1.897f, 22937.f },
{ (2143.f / DEFAULT_SRATE), 0.0017f, 0.891f, 29491.f },
{ (1933.f / DEFAULT_SRATE), 0.0006f, 3.221f, 14417.f }
}
#define DEFAULT_SRATE
Definition revsc.c:19