Skip to content

Commit 39f35e7

Browse files
committed
Fix issue writing tests from unsigned samples
1 parent 1fa5d56 commit 39f35e7

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

tests/FileWritingTests.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,12 @@ void writeTestAudioFile (int numChannels, int sampleRate, int bitDepth, AudioFil
4444

4545
for (int i = 0; i < audioFileWriter.getNumSamplesPerChannel(); i++)
4646
{
47-
T sample = (T)(sinf (2. * M_PI * ((double) i / sampleRateAsFloat) * 440.) * maxValue);
47+
T sample;
48+
49+
if constexpr (std::numeric_limits<T>::is_integer && std::is_unsigned_v<T>)
50+
sample = (T)(((sinf (2. * M_PI * ((double) i / sampleRateAsFloat) * 440.) + 1.) / 2.) * maxValue);
51+
else
52+
sample = (T)(sinf (2. * M_PI * ((double) i / sampleRateAsFloat) * 440.) * maxValue);
4853

4954
for (int k = 0; k < audioFileWriter.getNumChannels(); k++)
5055
audioFileWriter.samples[k][i] = sample * 0.5f;

0 commit comments

Comments
 (0)