Different static ways
This commit is contained in:
parent
d27b7373fc
commit
67451024a5
2 changed files with 35 additions and 18 deletions
|
|
@ -275,11 +275,36 @@ void WavetableMulti::fillExtra()
|
|||
|
||||
|
||||
WavetablePool::WavetablePool()
|
||||
: waveSin(WavetableMulti::createForHarmonicProfile(HarmonicProfile::getSine(), config::amplitudeSine))
|
||||
, waveTriangle(WavetableMulti::createForHarmonicProfile(HarmonicProfile::getTriangle(), config::amplitudeTriangle))
|
||||
, waveSaw(WavetableMulti::createForHarmonicProfile(HarmonicProfile::getSaw(), config::amplitudeSaw))
|
||||
, waveSquare(WavetableMulti::createForHarmonicProfile(HarmonicProfile::getSquare(), config::amplitudeSquare))
|
||||
{ }
|
||||
{
|
||||
getWaveSin();
|
||||
getWaveTriangle();
|
||||
getWaveSaw();
|
||||
getWaveSquare();
|
||||
}
|
||||
|
||||
const WavetableMulti* WavetablePool::getWaveSin()
|
||||
{
|
||||
static auto wave = WavetableMulti::createForHarmonicProfile(
|
||||
HarmonicProfile::getSine(), config::amplitudeSine);
|
||||
return &wave;
|
||||
}
|
||||
const WavetableMulti* WavetablePool::getWaveTriangle()
|
||||
{
|
||||
static auto wave = WavetableMulti::createForHarmonicProfile(
|
||||
HarmonicProfile::getTriangle(), config::amplitudeTriangle);
|
||||
return &wave;
|
||||
}
|
||||
const WavetableMulti* WavetablePool::getWaveSaw()
|
||||
{
|
||||
static auto wave = WavetableMulti::createForHarmonicProfile(
|
||||
HarmonicProfile::getSaw(), config::amplitudeSaw);
|
||||
return &wave;
|
||||
}
|
||||
const WavetableMulti* WavetablePool::getWaveSquare()
|
||||
{
|
||||
static auto wave = WavetableMulti::createForHarmonicProfile(
|
||||
HarmonicProfile::getSquare(), config::amplitudeSquare);
|
||||
return &wave;
|
||||
}
|
||||
|
||||
} // namespace sfz
|
||||
|
|
|
|||
|
|
@ -183,20 +183,12 @@ private:
|
|||
* @brief Holds predefined wavetables.
|
||||
*
|
||||
*/
|
||||
class WavetablePool {
|
||||
public:
|
||||
struct WavetablePool {
|
||||
WavetablePool();
|
||||
const WavetableMulti* getWaveSin() const { return &waveSin; }
|
||||
const WavetableMulti* getWaveTriangle() const { return &waveTriangle; }
|
||||
const WavetableMulti* getWaveSaw() const { return &waveSaw; }
|
||||
const WavetableMulti* getWaveSquare() const { return &waveSquare; };
|
||||
private:
|
||||
const WavetableMulti waveSin;
|
||||
const WavetableMulti waveTriangle;
|
||||
const WavetableMulti waveSaw;
|
||||
const WavetableMulti waveSquare;
|
||||
LEAK_DETECTOR(WavetablePool);
|
||||
|
||||
static const WavetableMulti* getWaveSin();
|
||||
static const WavetableMulti* getWaveTriangle();
|
||||
static const WavetableMulti* getWaveSaw();
|
||||
static const WavetableMulti* getWaveSquare();
|
||||
};
|
||||
|
||||
} // namespace sfz
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue