Fix LP24 filter with proper 2-stage cascade, thread-safe SliceManager, improve state save/load

This commit is contained in:
Armin 2026-07-21 23:15:37 +02:00
commit ac6f17d9ae
4 changed files with 109 additions and 58 deletions

View file

@ -36,9 +36,11 @@ public:
bool canUndo() const;
bool canRedo() const;
const std::vector<Slice>& getSlices() const { return slices; }
int getNumSlices() const { return static_cast<int>(slices.size()); }
const Slice& getSlice(int index) const { return slices[static_cast<size_t>(index)]; }
std::vector<Slice> getSlices() const;
int getNumSlices() const;
Slice getSlice(int index) const;
void setSlices(const std::vector<Slice>& newSlices);
int findSliceIndexForSample(int samplePos) const;
@ -50,6 +52,7 @@ private:
void pushHistory();
void truncateHistory();
mutable juce::CriticalSection mutex;
std::vector<Slice> slices;
std::vector<std::vector<Slice>> undoStack;
std::vector<std::vector<Slice>> redoStack;