aboutsummaryrefslogtreecommitdiff
path: root/audio/softsynth/mt32/LA32FloatWaveGenerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'audio/softsynth/mt32/LA32FloatWaveGenerator.cpp')
-rw-r--r--audio/softsynth/mt32/LA32FloatWaveGenerator.cpp41
1 files changed, 20 insertions, 21 deletions
diff --git a/audio/softsynth/mt32/LA32FloatWaveGenerator.cpp b/audio/softsynth/mt32/LA32FloatWaveGenerator.cpp
index 824204e81b..42d820ebad 100644
--- a/audio/softsynth/mt32/LA32FloatWaveGenerator.cpp
+++ b/audio/softsynth/mt32/LA32FloatWaveGenerator.cpp
@@ -1,5 +1,5 @@
/* Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009 Dean Beeler, Jerome Fisher
- * Copyright (C) 2011-2016 Dean Beeler, Jerome Fisher, Sergey V. Mikayev
+ * Copyright (C) 2011, 2012, 2013, 2014 Dean Beeler, Jerome Fisher, Sergey V. Mikayev
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -15,11 +15,10 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef MT32EMU_LA32_WAVE_GENERATOR_CPP
-#error This file should be included from LA32WaveGenerator.cpp only.
-#endif
-
+//#include <cmath>
+#include "mt32emu.h"
#include "mmath.h"
+#include "internals.h"
namespace MT32Emu {
@@ -39,10 +38,10 @@ float LA32WaveGenerator::getPCMSample(unsigned int position) {
return ((pcmSample & 32768) == 0) ? sampleValue : -sampleValue;
}
-void LA32WaveGenerator::initSynth(const bool useSawtoothWaveform, const Bit8u usePulseWidth, const Bit8u useResonance) {
- sawtoothWaveform = useSawtoothWaveform;
- pulseWidth = usePulseWidth;
- resonance = useResonance;
+void LA32WaveGenerator::initSynth(const bool sawtoothWaveform, const Bit8u pulseWidth, const Bit8u resonance) {
+ this->sawtoothWaveform = sawtoothWaveform;
+ this->pulseWidth = pulseWidth;
+ this->resonance = resonance;
wavePos = 0.0f;
lastFreq = 0.0f;
@@ -51,24 +50,24 @@ void LA32WaveGenerator::initSynth(const bool useSawtoothWaveform, const Bit8u us
active = true;
}
-void LA32WaveGenerator::initPCM(const Bit16s * const usePCMWaveAddress, const Bit32u usePCMWaveLength, const bool usePCMWaveLooped, const bool usePCMWaveInterpolated) {
- pcmWaveAddress = usePCMWaveAddress;
- pcmWaveLength = usePCMWaveLength;
- pcmWaveLooped = usePCMWaveLooped;
- pcmWaveInterpolated = usePCMWaveInterpolated;
+void LA32WaveGenerator::initPCM(const Bit16s * const pcmWaveAddress, const Bit32u pcmWaveLength, const bool pcmWaveLooped, const bool pcmWaveInterpolated) {
+ this->pcmWaveAddress = pcmWaveAddress;
+ this->pcmWaveLength = pcmWaveLength;
+ this->pcmWaveLooped = pcmWaveLooped;
+ this->pcmWaveInterpolated = pcmWaveInterpolated;
pcmPosition = 0.0f;
active = true;
}
-// ampVal - Logarithmic amp of the wave generator
-// pitch - Logarithmic frequency of the resulting wave
-// cutoffRampVal - Composed of the base cutoff in range [78..178] left-shifted by 18 bits and the TVF modifier
float LA32WaveGenerator::generateNextSample(const Bit32u ampVal, const Bit16u pitch, const Bit32u cutoffRampVal) {
if (!active) {
return 0.0f;
}
+ this->amp = amp;
+ this->pitch = pitch;
+
float sample = 0.0f;
// SEMI-CONFIRMED: From sample analysis:
@@ -285,9 +284,9 @@ bool LA32WaveGenerator::isPCMWave() const {
return pcmWaveAddress != NULL;
}
-void LA32PartialPair::init(const bool useRingModulated, const bool useMixed) {
- ringModulated = useRingModulated;
- mixed = useMixed;
+void LA32PartialPair::init(const bool ringModulated, const bool mixed) {
+ this->ringModulated = ringModulated;
+ this->mixed = mixed;
masterOutputSample = 0.0f;
slaveOutputSample = 0.0f;
}
@@ -355,4 +354,4 @@ bool LA32PartialPair::isActive(const PairType useMaster) const {
return useMaster == MASTER ? master.isActive() : slave.isActive();
}
-} // namespace MT32Emu
+}