summaryrefslogtreecommitdiff
path: root/src/inputprocessor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/inputprocessor.h')
-rw-r--r--src/inputprocessor.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/inputprocessor.h b/src/inputprocessor.h
index 83a4f5b..13ac4ad 100644
--- a/src/inputprocessor.h
+++ b/src/inputprocessor.h
@@ -28,17 +28,25 @@
#include <vector>
#include <list>
+#include <memory>
+
+#include <event.h>
#include "drumkit.h"
#include "events.h"
-#include <event.h>
+#include "inputfilter.h"
+
+class Settings;
class InputProcessor
{
public:
- InputProcessor(DrumKit& kit, std::list<Event*>* activeevents);
+ InputProcessor(Settings& settings,
+ DrumKit& kit,
+ std::list<Event*>* activeevents);
- bool process(const std::vector<event_t>& events, size_t pos,
+ bool process(std::vector<event_t>& events,
+ std::size_t pos,
double resample_ratio);
std::size_t getLatency() const;
@@ -48,6 +56,8 @@ private:
std::list<Event*>* activeevents;
bool is_stopping; ///< Is set to true when a TYPE_STOP event has been seen.
- bool processOnset(const event_t& event, size_t pos, double resample_ratio);
- bool processStop(const event_t& event);
+ bool processOnset(event_t& event, std::size_t pos, double resample_ratio);
+ bool processStop(event_t& event);
+
+ std::vector<std::unique_ptr<InputFilter>> filters;
};