From d27b7373fc003ebb3bb34ff003da3d47aea4d81f Mon Sep 17 00:00:00 2001 From: Paul Fd Date: Sun, 15 Mar 2020 23:32:28 +0100 Subject: [PATCH] Rename multiSize --- src/sfizz/Wavetables.cpp | 10 +++++----- src/sfizz/Wavetables.h | 7 ++++--- tests/PlotWavetables.cpp | 6 +++--- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/sfizz/Wavetables.cpp b/src/sfizz/Wavetables.cpp index fe19a4b6..cab84574 100644 --- a/src/sfizz/Wavetables.cpp +++ b/src/sfizz/Wavetables.cpp @@ -221,11 +221,11 @@ WavetableMulti WavetableMulti::createForHarmonicProfile( const HarmonicProfile& hp, double amplitude, unsigned tableSize, double refSampleRate) { WavetableMulti wm; - constexpr unsigned multiSize = WavetableMulti::multiSize(); + constexpr unsigned numTables = WavetableMulti::numTables(); wm.allocateStorage(tableSize); - for (unsigned m = 0; m < multiSize; ++m) { + for (unsigned m = 0; m < numTables; ++m) { WavetableRange range = WavetableRange::getRangeForOctave(m); double freq = range.maxFrequency; @@ -256,7 +256,7 @@ WavetableMulti WavetableMulti::createSilence() void WavetableMulti::allocateStorage(unsigned tableSize) { - _multiData.reset(new float[(tableSize + _tableExtra) * multiSize()]()); + _multiData.resize((tableSize + _tableExtra) * numTables()); _tableSize = tableSize; } @@ -264,9 +264,9 @@ void WavetableMulti::fillExtra() { unsigned tableSize = _tableSize; constexpr unsigned tableExtra = _tableExtra; - constexpr unsigned multiSize = WavetableMulti::multiSize(); + constexpr unsigned numTables = WavetableMulti::numTables(); - for (unsigned m = 0; m < multiSize; ++m) { + for (unsigned m = 0; m < numTables; ++m) { float* ptr = const_cast(getTablePointer(m)); for (unsigned i = 0; i < tableExtra; ++i) ptr[tableSize + i] = ptr[i % tableSize]; diff --git a/src/sfizz/Wavetables.h b/src/sfizz/Wavetables.h index eeac8b81..90bd55f0 100644 --- a/src/sfizz/Wavetables.h +++ b/src/sfizz/Wavetables.h @@ -7,6 +7,7 @@ #pragma once #include "Config.h" #include "LeakDetector.h" +#include "Buffer.h" #include #include #include @@ -131,7 +132,7 @@ public: unsigned tableSize() const { return _tableSize; } // number of tables in the multisample - static constexpr unsigned multiSize() { return WavetableRange::countOctaves; } + static constexpr unsigned numTables() { return WavetableRange::countOctaves; } // get the N-th table in the multisample absl::Span getTable(unsigned index) const @@ -158,7 +159,7 @@ private: // get a pointer to the beginning of the N-th table const float* getTablePointer(unsigned index) const { - return &_multiData[index * (_tableSize + _tableExtra)]; + return _multiData.data() + index * (_tableSize + _tableExtra); } // allocate the internal data for tables of the given size @@ -174,7 +175,7 @@ private: static constexpr unsigned _tableExtra = 4; // internal storage, having `multiSize` rows and `tableSize` columns. - std::unique_ptr _multiData; + sfz::Buffer _multiData; LEAK_DETECTOR(WavetableMulti); }; diff --git a/tests/PlotWavetables.cpp b/tests/PlotWavetables.cpp index b495f5ae..1ce71f49 100644 --- a/tests/PlotWavetables.cpp +++ b/tests/PlotWavetables.cpp @@ -68,11 +68,11 @@ int main(int argc, char* argv[]) } else { sfz::WavetableMulti multi = sfz::WavetableMulti::createForHarmonicProfile( *hp, 1.0, tableSize); - unsigned multiSize = multi.multiSize(); + unsigned numTables = multi.numTables(); if (true) { // print all tables one after another - for (unsigned m = 0; m < multiSize; ++m) { + for (unsigned m = 0; m < numTables; ++m) { absl::Span table = multi.getTable(m); for (size_t i = 0; i < tableSize; ++i) { std::cout << ((i + m * tableSize) * (1.0 / tableSize)) @@ -83,7 +83,7 @@ int main(int argc, char* argv[]) // print all tables separately for (size_t i = 0; i < tableSize; ++i) { std::cout << (i * (1.0 / tableSize)); - for (unsigned m = 0; m < multiSize; ++m) { + for (unsigned m = 0; m < numTables; ++m) { absl::Span table = multi.getTable(m); std::cout << ' ' << table[i]; }