summaryrefslogtreecommitdiffstats
path: root/src/archive/wavetable.h
blob: 46174b496ffbca7ec97d2b9cf6a098d494fd3af7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef WAVETABLE_H
#define WAVETABLE_H

#include "synth_engine.h"

#define WVT_MAX 44100

typedef struct wave_t {
  float * data;
  size_t size;
} wave_t;

float wvt_sine(float *, float, int);
float wvt_saw(float *, float, int);
float wvt_digisaw(float *, float, int);
float wvt_tri(float *, float, int);
float wvt_sqr(float *, float, int);
float wvt_sound(float *, float, int);

float wvt_next(float (* wvt_fun)(float *, float, int), float freq, int sample_rate, float * wvt_index);

void wvt_init();

#endif /* WAVETABLE_H */