| 775 | } |
| 776 | |
| 777 | void Processor::reset() { |
| 778 | mSignalConditioner.reset(); |
| 779 | mNoiseFloorTracker.reset(); |
| 780 | mContext->clearCache(); |
| 781 | |
| 782 | for (auto& d : mActiveDetectors) { |
| 783 | d->reset(); |
| 784 | } |
| 785 | mActiveDetectors.clear(); |
| 786 | |
| 787 | // Null out all typed pointers so re-registration works on next use |
| 788 | mBeatDetector.reset(); |
| 789 | mFrequencyBands.reset(); |
| 790 | mEnergyAnalyzer.reset(); |
| 791 | mTempoAnalyzer.reset(); |
| 792 | mTransientDetector.reset(); |
| 793 | mSilenceDetector.reset(); |
| 794 | mDynamicsAnalyzer.reset(); |
| 795 | mPitchDetector.reset(); |
| 796 | mNoteDetector.reset(); |
| 797 | mDownbeatDetector.reset(); |
| 798 | mBackbeatDetector.reset(); |
| 799 | mVocalDetector.reset(); |
| 800 | mPercussionDetector.reset(); |
| 801 | mChordDetector.reset(); |
| 802 | mKeyDetector.reset(); |
| 803 | mMoodAnalyzer.reset(); |
| 804 | mBuildupDetector.reset(); |
| 805 | mDropDetector.reset(); |
| 806 | mEqualizerDetector.reset(); |
| 807 | mVibeDetector.reset(); |
| 808 | } |
| 809 | |
| 810 | shared_ptr<detector::Beat> Processor::getBeatDetector() { |
| 811 | if (!mBeatDetector) { |
nothing calls this directly
no test coverage detected