aboutsummaryrefslogtreecommitdiff
path: root/audio/softsynth/mt32/Partial.h
diff options
context:
space:
mode:
Diffstat (limited to 'audio/softsynth/mt32/Partial.h')
-rw-r--r--audio/softsynth/mt32/Partial.h21
1 files changed, 7 insertions, 14 deletions
diff --git a/audio/softsynth/mt32/Partial.h b/audio/softsynth/mt32/Partial.h
index 5e250769ec..21b1bfe376 100644
--- a/audio/softsynth/mt32/Partial.h
+++ b/audio/softsynth/mt32/Partial.h
@@ -1,5 +1,5 @@
/* Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009 Dean Beeler, Jerome Fisher
- * Copyright (C) 2011 Dean Beeler, Jerome Fisher, Sergey V. Mikayev
+ * Copyright (C) 2011, 2012, 2013 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
@@ -44,12 +44,7 @@ private:
int structurePosition; // 0 or 1 of a structure pair
StereoVolume stereoVolume;
- // Distance in (possibly fractional) samples from the start of the current pulse
- float wavePos;
-
- float lastFreq;
-
- float myBuffer[MAX_SAMPLES_PER_RUN];
+ Bit16s myBuffer[MAX_SAMPLES_PER_RUN];
// Only used for PCM partials
int pcmNum;
@@ -60,17 +55,16 @@ private:
// Range: 0-255
int pulseWidthVal;
- float pcmPosition;
-
Poly *poly;
LA32Ramp ampRamp;
LA32Ramp cutoffModifierRamp;
- float *mixBuffersRingMix(float *buf1, float *buf2, unsigned long len);
- float *mixBuffersRing(float *buf1, float *buf2, unsigned long len);
+ // TODO: This should be owned by PartialPair
+ LA32PartialPair la32Pair;
- float getPCMSample(unsigned int position);
+ Bit32u getAmpValue();
+ Bit32u getCutoffValue();
public:
const PatchCache *patchCache;
@@ -90,7 +84,6 @@ public:
unsigned long debugGetSampleNum() const;
int getOwnerPart() const;
- int getKey() const;
const Poly *getPoly() const;
bool isActive() const;
void activate(int part);
@@ -111,7 +104,7 @@ public:
bool produceOutput(float *leftBuf, float *rightBuf, unsigned long length);
// This function writes mono sample output to the provided buffer, and returns the number of samples written
- unsigned long generateSamples(float *partialBuf, unsigned long length);
+ unsigned long generateSamples(Bit16s *partialBuf, unsigned long length);
};
}