summaryrefslogtreecommitdiffstats
path: root/src/synth_engine_v2.c
diff options
context:
space:
mode:
authorgrm <grm@eyesin.space>2025-11-27 15:53:51 +0200
committergrm <grm@eyesin.space>2025-11-27 15:53:51 +0200
commit7828597e5f159010c168f9fe366828825fc75205 (patch)
treef03a7ca58230ae162a4bf3a6c9d2763a8c6364e4 /src/synth_engine_v2.c
parenta4acc4cd3a4ef237fb7238894336bbc4af659e07 (diff)
downloadsynth-project-7828597e5f159010c168f9fe366828825fc75205.tar.gz
synth-project-7828597e5f159010c168f9fe366828825fc75205.tar.bz2
synth-project-7828597e5f159010c168f9fe366828825fc75205.zip
chore: remove x value, tidy some code
Diffstat (limited to 'src/synth_engine_v2.c')
-rw-r--r--src/synth_engine_v2.c33
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, &note_dup, synth->x, SAMPLE_RATE);
+ osc_wave[i] += synth->gen[synth->geni](note_dup.freq * 3, &note_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;