diff options
Diffstat (limited to 'audio/softsynth/mt32/Partial.h')
-rw-r--r-- | audio/softsynth/mt32/Partial.h | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/audio/softsynth/mt32/Partial.h b/audio/softsynth/mt32/Partial.h index 358cb9d2d9..05c1c740c4 100644 --- a/audio/softsynth/mt32/Partial.h +++ b/audio/softsynth/mt32/Partial.h @@ -25,24 +25,22 @@ class Part; class TVA; struct ControlROMPCMStruct; -struct StereoVolume { - float leftVol; - float rightVol; -}; - // A partial represents one of up to four waveform generators currently playing within a poly. class Partial { private: Synth *synth; const int debugPartialNum; // Only used for debugging - // Number of the sample currently being rendered by generateSamples(), or 0 if no run is in progress + // Number of the sample currently being rendered by produceOutput(), or 0 if no run is in progress // This is only kept available for debugging purposes. unsigned long sampleNum; + // Actually, this is a 4-bit register but we abuse this to emulate inverted mixing. + // Also we double the value to enable INACCURATE_SMOOTH_PAN, with respect to MoK. + Bit32s leftPanValue, rightPanValue; + int ownerPart; // -1 if unassigned int mixType; int structurePosition; // 0 or 1 of a structure pair - StereoVolume stereoVolume; // Only used for PCM partials int pcmNum; @@ -103,9 +101,6 @@ public: // This function (unlike the one below it) returns processed stereo samples // made from combining this single partial with its pair, if it has one. bool produceOutput(Sample *leftBuf, Sample *rightBuf, unsigned long length); - - // This function writes mono sample output to the provided buffer, and returns the number of samples written - unsigned long generateSamples(Sample *partialBuf, unsigned long length); }; } |