Browse Source

Encode/decode waveLen of WAV as sample rate of WAV.

tags/v2.0.1
Andrew Belt 3 years ago
parent
commit
7457142c57
1 changed files with 5 additions and 1 deletions
  1. +5
    -1
      src/Wavetable.hpp

+ 5
- 1
src/Wavetable.hpp View File

@@ -172,6 +172,10 @@ struct Wavetable {
samples.clear(); samples.clear();
samples.resize(len); samples.resize(len);


// If sample rate is a power of 2, set waveLen to it.
if ((wav.sampleRate & (wav.sampleRate - 1)) == 0)
waveLen = wav.sampleRate;

drwav_read_pcm_frames_f32(&wav, wav.totalPCMFrameCount, samples.data()); drwav_read_pcm_frames_f32(&wav, wav.totalPCMFrameCount, samples.data());
drwav_uninit(&wav); drwav_uninit(&wav);
} }
@@ -232,7 +236,7 @@ struct Wavetable {
format.container = drwav_container_riff; format.container = drwav_container_riff;
format.format = DR_WAVE_FORMAT_PCM; format.format = DR_WAVE_FORMAT_PCM;
format.channels = 1; format.channels = 1;
format.sampleRate = 44100;
format.sampleRate = waveLen;
format.bitsPerSample = 16; format.bitsPerSample = 16;


drwav wav; drwav wav;


Loading…
Cancel
Save