On Wednesday, 24 February 2016 at 10:33:56 UTC, Tanel Tagaväli
wrote:
Hello!
I've been making some progress on the native D audio front:
https://github.com/clinei/daud/tree/28ac042a16ae6785605a9a501b5f867c8f962055
It's a continuous waveform generator, currently outputting a
saw wave that changes pitch every 1K frames.
I have a slight problem, however.
Due to the frequency changing in the middle of a wave, I have
to patch the new waveform together with the last, which I've
done with `countUntil` at daud/gen.d:211 (I don't need to call
popFrontN because the range is a reference type).
However, when calling `RepeatingGenerator.frequency`, the value
of `_repeat.front` is not the value of the last frame.
app.d:61 is a temporary hack.
How could I get the value currently passed through `cont` from
`_repeat`?
So the buffer holds one period of the waveform?
I'm assuming that you are nowhere near the Niquist limit.
What is your harmonic distortion rate like?
If it's just for audio how much additional distortion would you
gain from just resetting the wave from the beginning?
Also your static if (false) for debugging ... debug(statement) is
a thing for a reason :)
Nic