source of the stream.
destination stream, it's length is also equals to how much samples are needed.
wave modulation workpad, storing information such as source position.
jump amount, might be moved to a template parameter later on.
Used for situations where not the whole waveform is decoded. Limits buffer size in a way, that it allows for double buffered decoding by allowing it to turn around at the end of one buffer.
Streches a buffer to the given amount using no interpolation. Amount decided by dest.length. Can be used to pitch the sample.