AudiClean
NoiseFilter.h
Go to the documentation of this file.
1 //
2 // Created by ross on 30/04/2022.
3 //
4 
5 #ifndef AUDICLEAN_NOISEFILTER_H
6 #define AUDICLEAN_NOISEFILTER_H
7 
8 #include <thread>
9 #include <mutex>
10 #include <condition_variable>
11 
12 #include "SampleLink.h"
13 #include "BlockingQueue.h"
14 #include "BlockingQueue.cpp"
15 
20 class NoiseFilter: public SampleLink{
21 public:
22  void RunFilter();
23  std::thread * Start();
24  void Stop();
25  virtual double Filter(double dirtySample, double noiseSample) = 0;
26  void NextSignalSample(double sample);
27  void NextNoiseSample(double noise);
28  void SetOn(bool state);
29  bool GetOn();
30 
31 protected:
34  std::thread worker;
35  bool isOn = true;
36 };
37 
38 
39 #endif //AUDICLEAN_FIRFILTER_H
NoiseFilter::Start
std::thread * Start()
Definition: NoiseFilter.cpp:15
NoiseFilter::worker
std::thread worker
Definition: NoiseFilter.h:34
NoiseFilter::Filter
virtual double Filter(double dirtySample, double noiseSample)=0
BlockingQueue.cpp
NoiseFilter::NextNoiseSample
void NextNoiseSample(double noise)
Definition: NoiseFilter.cpp:40
NoiseFilter::Stop
void Stop()
Definition: NoiseFilter.cpp:20
BlockingQueue< double >
NoiseFilter::RunFilter
void RunFilter()
Definition: NoiseFilter.cpp:4
BlockingQueue.h
NoiseFilter::isOn
bool isOn
Definition: NoiseFilter.h:35
NoiseFilter::NextSignalSample
void NextSignalSample(double sample)
Definition: NoiseFilter.cpp:36
NoiseFilter::GetOn
bool GetOn()
Definition: NoiseFilter.cpp:28
NoiseFilter::noiseSamples
BlockingQueue< double > noiseSamples
Definition: NoiseFilter.h:33
NoiseFilter::SetOn
void SetOn(bool state)
Definition: NoiseFilter.cpp:32
NoiseFilter::signalSamples
BlockingQueue< double > signalSamples
Definition: NoiseFilter.h:32
NoiseFilter
Definition: NoiseFilter.h:20