Skip to content

Commit

Permalink
Merge pull request #4 from flucoma/fix/onsetslice_reset
Browse files Browse the repository at this point in the history
Fix/onsetslice reset
  • Loading branch information
g-roma committed Jun 5, 2020
2 parents ba40825 + f75f1ab commit 4eb7c57
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 8 deletions.
3 changes: 2 additions & 1 deletion include/algorithms/public/OnsetSegmentation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,12 @@ class OnsetSegmentation

OnsetSegmentation(index maxSize) : mFFT(maxSize), mWindowStorage(maxSize) {}

void init(index windowSize, index fftSize)
void init(index windowSize, index fftSize,index filterSize)
{
makeWindow(windowSize);
prevFrame = ArrayXcd::Zero(fftSize / 2 + 1);
prevPrevFrame = ArrayXcd::Zero(fftSize / 2 + 1);
mFilter.init(filterSize);
mFFT.resize(fftSize);
mDebounceCount = 1;
mPrevFuncVal = 0;
Expand Down
2 changes: 2 additions & 0 deletions include/algorithms/util/MedianFilter.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ class MedianFilter
mMiddle = (mFilterSize - 1) / 2;
mUnsorted.resize(asUnsigned(mFilterSize), 0);
mSorted.resize(asUnsigned(mFilterSize), 0);
std::fill(mUnsorted.begin(), mUnsorted.end(),0);
std::fill(mSorted.begin(), mSorted.end(),0);
mInitialized = true;
}

Expand Down
7 changes: 6 additions & 1 deletion include/clients/common/BufferedProcess.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,12 @@ class BufferedProcess
index channelsIn() const noexcept { return mSource.channels(); }
index channelsOut() const noexcept { return mSink.channels(); }

void reset() { mFrameTime = 0; }
void reset()
{
mSource.reset();
mSink.reset();
mFrameTime = 0;
}

private:
index mFrameTime = 0;
Expand Down
4 changes: 2 additions & 2 deletions include/clients/common/FluidSink.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,9 @@ class FluidSink
if (matrix.cols() != bufferSize() || matrix.rows() != channels)
{
matrix.resize(mChannels, bufferSize());
matrix.fill(0);
mCounter = 0;
}
matrix.fill(0);
mCounter = 0;
}

void setSize(index n) { mSize = n; }
Expand Down
4 changes: 2 additions & 2 deletions include/clients/common/FluidSource.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -148,9 +148,9 @@ class FluidSource //: public FluidTensor<T,2>
if (matrix.cols() != bufferSize() || matrix.rows() != channels)
{
matrix.resize(mChannels, bufferSize());
matrix.fill(0);
mCounter = 0;
}
matrix.fill(0);
mCounter = 0;
}

void setSize(index n) { mSize = n; }
Expand Down
6 changes: 4 additions & 2 deletions include/clients/rt/OnsetSliceClient.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,9 @@ class OnsetSliceClient
FluidBaseClient::audioChannelsOut());
}
if (mParamsTracker.changed(get<kFFT>().fftSize(), get<kFFT>().winSize()))
{ mAlgorithm.init(get<kFFT>().winSize(), get<kFFT>().fftSize()); }
{
mAlgorithm.init(get<kFFT>().winSize(), get<kFFT>().fftSize(),get<kFilterSize>());
}
RealMatrix in(1, hostVecSize);
in.row(0) = input[0];
RealMatrix out(1, hostVecSize);
Expand All @@ -105,7 +107,7 @@ class OnsetSliceClient
void reset()
{
mBufferedProcess.reset();
mAlgorithm.init(get<kFFT>().winSize(), get<kFFT>().fftSize());
mAlgorithm.init(get<kFFT>().winSize(), get<kFFT>().fftSize(),get<kFilterSize>());
}

private:
Expand Down

0 comments on commit 4eb7c57

Please sign in to comment.