Magic numbers and casts

This commit is contained in:
Atlante45 2014-11-07 14:41:59 +01:00
parent 81888b9f83
commit 011e531971

View file

@ -574,11 +574,11 @@ void Audio::addReverb(int16_t* samplesData, int numSamples, QAudioFormat& audioF
for (unsigned int j = sample; j < sample + audioFormat.channelCount(); j++) { for (unsigned int j = sample; j < sample + audioFormat.channelCount(); j++) {
if (j == sample) { if (j == sample) {
// left channel // left channel
int lResult = glm::clamp((int)(samplesData[j] * dryFraction + lValue * wetFraction), -32768, 32767); int lResult = glm::clamp((int)(samplesData[j] * dryFraction + lValue * wetFraction), MIN_SAMPLE_VALUE, MAX_SAMPLE_VALUE);
samplesData[j] = (int16_t)lResult; samplesData[j] = (int16_t)lResult;
} else if (j == (sample + 1)) { } else if (j == (sample + 1)) {
// right channel // right channel
int rResult = glm::clamp((int)(samplesData[j] * dryFraction + rValue * wetFraction), -32768, 32767); int rResult = glm::clamp((int)(samplesData[j] * dryFraction + rValue * wetFraction), MIN_SAMPLE_VALUE, MAX_SAMPLE_VALUE);
samplesData[j] = (int16_t)rResult; samplesData[j] = (int16_t)rResult;
} else { } else {
// ignore channels above 2 // ignore channels above 2
@ -610,7 +610,8 @@ void Audio::handleLocalEchoAndReverb(QByteArray& inputByteArray) {
(_outputFormat.channelCount() / _inputFormat.channelCount()); (_outputFormat.channelCount() / _inputFormat.channelCount());
loopBackByteArray.resize(inputByteArray.size() * loopbackOutputToInputRatio); loopBackByteArray.resize(inputByteArray.size() * loopbackOutputToInputRatio);
loopBackByteArray.fill(0); loopBackByteArray.fill(0);
linearResampling((int16_t*)inputByteArray.data(), (int16_t*)loopBackByteArray.data(), linearResampling(reinterpret_cast<int16_t*>(inputByteArray.data()),
reinterpret_cast<int16_t*>(loopBackByteArray.data()),
inputByteArray.size() / sizeof(int16_t), loopBackByteArray.size() / sizeof(int16_t), inputByteArray.size() / sizeof(int16_t), loopBackByteArray.size() / sizeof(int16_t),
_inputFormat, _outputFormat); _inputFormat, _outputFormat);
} }
@ -621,16 +622,16 @@ void Audio::handleLocalEchoAndReverb(QByteArray& inputByteArray) {
loopbackCopy = loopBackByteArray; loopbackCopy = loopBackByteArray;
} }
int16_t* loopbackSamples = (int16_t*) loopBackByteArray.data(); int16_t* loopbackSamples = reinterpret_cast<int16_t*>(loopBackByteArray.data());
int numLoopbackSamples = loopBackByteArray.size() / sizeof(int16_t); int numLoopbackSamples = loopBackByteArray.size() / sizeof(int16_t);
updateGverbOptions(); updateGverbOptions();
addReverb(loopbackSamples, numLoopbackSamples, _outputFormat); addReverb(loopbackSamples, numLoopbackSamples, _outputFormat);
if (!hasEcho) { if (!hasEcho) {
int16_t* loopbackCopySamples = (int16_t*) loopbackCopy.data(); int16_t* loopbackCopySamples = reinterpret_cast<int16_t*>(loopbackCopy.data());
for (int i = 0; i < numLoopbackSamples; ++i) { for (int i = 0; i < numLoopbackSamples; ++i) {
loopbackSamples[i] = glm::clamp((int)loopbackSamples[i] - loopbackCopySamples[i], loopbackSamples[i] = glm::clamp((int)loopbackSamples[i] - loopbackCopySamples[i],
-32768, 32767); MIN_SAMPLE_VALUE, MAX_SAMPLE_VALUE);
} }
} }
} }