1
0
mirror of https://github.com/sjlongland/atinysynth.git synced 2025-09-13 10:03:15 +10:00

- Fix for fixed-point usage in waveform generation

This commit is contained in:
Luciano Martorella 2021-05-22 14:32:37 +02:00
parent b46f9864e7
commit 48c641c15a

View File

@ -53,9 +53,8 @@ int8_t voice_wf_next(struct voice_wf_gen_t* const wf_gen) {
/* Swap value */
wf_gen->sample = -wf_gen->sample;
wf_gen->period_remain += wf_gen->period;
} else {
wf_gen->period_remain -= (1 << PERIOD_FP_SCALE);
}
wf_gen->period_remain -= (1 << PERIOD_FP_SCALE);
_DPRINTF("wf=%p mode=SQUARE amp=%d rem=%d "
"→ sample=%d\n",
wf_gen, wf_gen->amplitude,
@ -69,8 +68,8 @@ int8_t voice_wf_next(struct voice_wf_gen_t* const wf_gen) {
wf_gen->period_remain += wf_gen->period;
} else {
wf_gen->sample += wf_gen->step;
wf_gen->period_remain -= (1 << PERIOD_FP_SCALE);
}
wf_gen->period_remain -= (1 << PERIOD_FP_SCALE);
_DPRINTF("wf=%p mode=SAWTOOTH amp=%d rem=%d step=%d "
"→ sample=%d\n",
wf_gen, wf_gen->amplitude,
@ -88,8 +87,8 @@ int8_t voice_wf_next(struct voice_wf_gen_t* const wf_gen) {
wf_gen->period_remain += wf_gen->period;
} else {
wf_gen->sample += wf_gen->step;
wf_gen->period_remain -= (1 << PERIOD_FP_SCALE);
}
wf_gen->period_remain -= (1 << PERIOD_FP_SCALE);
_DPRINTF("wf=%p mode=TRIANGLE amp=%d rem=%d step=%d "
"→ sample=%d\n",
wf_gen, wf_gen->amplitude,