summaryrefslogblamecommitdiffstats
path: root/src/wavetable.h
blob: 46174b496ffbca7ec97d2b9cf6a098d494fd3af7 (plain) (tree)























                                                                                                       
#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 */