diff options
author | Colin Snover | 2016-11-25 12:24:08 -0600 |
---|---|---|
committer | Colin Snover | 2016-11-25 12:24:08 -0600 |
commit | df4a503622a524ad8ef47e1c325ac4a711549921 (patch) | |
tree | 29ac9e6d51fd4cd17e4ebe9d1f66ff93abd0cd9d /audio/softsynth/mt32/LA32FloatWaveGenerator.h | |
parent | b4dbd6d3c275097b4be964b7da4478ff930cbaa7 (diff) | |
download | scummvm-rg350-df4a503622a524ad8ef47e1c325ac4a711549921.tar.gz scummvm-rg350-df4a503622a524ad8ef47e1c325ac4a711549921.tar.bz2 scummvm-rg350-df4a503622a524ad8ef47e1c325ac4a711549921.zip |
Revert "MT32: Update Munt to 2.0.0"
This reverts commit b4dbd6d3c275097b4be964b7da4478ff930cbaa7.
Diffstat (limited to 'audio/softsynth/mt32/LA32FloatWaveGenerator.h')
-rw-r--r-- | audio/softsynth/mt32/LA32FloatWaveGenerator.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/audio/softsynth/mt32/LA32FloatWaveGenerator.h b/audio/softsynth/mt32/LA32FloatWaveGenerator.h index 89b6fe479a..329e5de258 100644 --- a/audio/softsynth/mt32/LA32FloatWaveGenerator.h +++ b/audio/softsynth/mt32/LA32FloatWaveGenerator.h @@ -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 @@ -16,15 +16,14 @@ */ #ifndef MT32EMU_LA32_WAVE_GENERATOR_H -#error This file should be included from LA32WaveGenerator.h only. -#endif +#define MT32EMU_LA32_WAVE_GENERATOR_H namespace MT32Emu { /** * LA32WaveGenerator is aimed to represent the exact model of LA32 wave generator. * The output square wave is created by adding high / low linear segments in-between - * the rising and falling cosine segments. Basically, it's very similar to the phase distortion synthesis. + * the rising and falling cosine segments. Basically, it’s very similar to the phase distortion synthesis. * Behaviour of a true resonance filter is emulated by adding decaying sine wave. * The beginning and the ending of the resonant sine is multiplied by a cosine window. * To synthesise sawtooth waves, the resulting square wave is multiplied by synchronous cosine wave. @@ -39,6 +38,12 @@ class LA32WaveGenerator { // True means the resulting square wave is to be multiplied by the synchronous cosine bool sawtoothWaveform; + // Logarithmic amp of the wave generator + Bit32u amp; + + // Logarithmic frequency of the resulting wave + Bit16u pitch; + // Values in range [1..31] // Value 1 correspong to the minimum resonance Bit8u resonance; @@ -48,6 +53,9 @@ class LA32WaveGenerator { // Value 255 corresponds to the maximum possible asymmetric of the resulting wave Bit8u pulseWidth; + // Composed of the base cutoff in range [78..178] left-shifted by 18 bits and the TVF modifier + Bit32u cutoffVal; + // Logarithmic PCM sample start address const Bit16s *pcmWaveAddress; @@ -88,7 +96,7 @@ public: // Return true if the WG engine generates PCM wave samples bool isPCMWave() const; -}; // class LA32WaveGenerator +}; // LA32PartialPair contains a structure of two partials being mixed / ring modulated class LA32PartialPair { @@ -127,6 +135,8 @@ public: // Return active state of the WG engine bool isActive(const PairType master) const; -}; // class LA32PartialPair +}; } // namespace MT32Emu + +#endif // #ifndef MT32EMU_LA32_WAVE_GENERATOR_H |