diff options
Diffstat (limited to 'src/synth_engine_v2.c')
| -rw-r--r-- | src/synth_engine_v2.c | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/src/synth_engine_v2.c b/src/synth_engine_v2.c index 95ed61b..e15df85 100644 --- a/src/synth_engine_v2.c +++ b/src/synth_engine_v2.c @@ -1,7 +1,6 @@ #include "synth_engine.h" #include "synth_math.h" #include "lowpass.h" -#include "filter.h" #include "control.h" #include "sound.h" #include "midi.h" @@ -12,63 +11,56 @@ #include <time.h> float -gen0(float f, midi_note_t * midi_note, float x, unsigned int sample_rate) +gen0(float f, midi_note_t * midi_note) { - (void)x; (void)sample_rate; float sample = osc_sin(midi_note->wvt_index); midi_note->wvt_index = osc_sin_next(f, midi_note->wvt_index); return sample; } float -gen1(float f, midi_note_t * midi_note, float x, unsigned int sample_rate) +gen1(float f, midi_note_t * midi_note) { - (void)x; (void)sample_rate; float sample = osc_saw(midi_note->wvt_index); midi_note->wvt_index = osc_saw_next(f, midi_note->wvt_index); return sample; } float -gen2(float f, midi_note_t * midi_note, float x, unsigned int sample_rate) +gen2(float f, midi_note_t * midi_note) { - (void)x; (void)sample_rate; float sample = osc_weird(midi_note->wvt_index); midi_note->wvt_index = osc_weird_next(f, midi_note->wvt_index); return sample; } float -gen3(float f, midi_note_t * midi_note, float x, unsigned int sample_rate) +gen3(float f, midi_note_t * midi_note) { - (void)x; (void)sample_rate; float sample = osc_tri(midi_note->wvt_index); midi_note->wvt_index = osc_tri_next(f, midi_note->wvt_index); return sample; } float -gen4(float f, midi_note_t * midi_note, float x, unsigned int sample_rate) +gen4(float f, midi_note_t * midi_note) { - (void)x; (void)sample_rate; float sample = osc_sound(midi_note->wvt_index); midi_note->wvt_index = osc_sound_next(f, midi_note->wvt_index); return sample; } float -gen5(float f, midi_note_t * midi_note, float x, unsigned int sample_rate) +gen5(float f, midi_note_t * midi_note) { - (void)x; (void)sample_rate; float sample = osc_digisaw(midi_note->wvt_index); midi_note->wvt_index = osc_digisaw_next(f, midi_note->wvt_index); return sample; } float -gen6(float f, midi_note_t * midi_note, float x, unsigned int sample_rate) +gen6(float f, midi_note_t * midi_note) { - (void)x; (void)sample_rate; float sample = osc_sqr(midi_note->wvt_index); midi_note->wvt_index = osc_sqr_next(f, midi_note->wvt_index); return sample; @@ -196,7 +188,7 @@ get_max_sample(synth_t *synth, int test_size) note_dup.adsr = note->adsr; note_dup.active = note->active; for (int i = 0; i < test_size; i++) { - osc_wave[i] += synth->gen[synth->geni](note_dup.freq * 3, ¬e_dup, synth->x, SAMPLE_RATE); + osc_wave[i] += synth->gen[synth->geni](note_dup.freq * 3, ¬e_dup); } } @@ -220,9 +212,9 @@ float Q_rsqrt(float number) } float -make_single_sample(synth_t *synth, float freq, midi_note_t * note, unsigned int sample_rate) +make_single_sample(synth_t *synth, float freq, midi_note_t * note) { - return synth->gen[synth->geni](freq, note, synth->x, sample_rate); + return synth->gen[synth->geni](freq, note); } /** @@ -275,8 +267,7 @@ make_sample(synth_t * synth, unsigned int sample_rate, int frame) sample += rms * note->velocity * adsr * make_single_sample(synth, targ_freq, - note, - sample_rate); + note); } /* filter */ @@ -540,8 +531,6 @@ init_synth(void) // synth->modi = 0; synth->autogain = 1; - synth->x = 1; - synth->adsr.a = 0.00001f; synth->adsr.peak = 1.0f; synth->adsr.d = 0.3; |
