Line data Source code
1 : #pragma once
2 :
3 : namespace Amplitron {
4 :
5 586 : class IProcessor {
6 : public:
7 1251 : virtual ~IProcessor() = default;
8 :
9 : // Process a mono buffer in place.
10 : virtual void process(float* buffer, int num_samples) = 0;
11 :
12 : // Stereo processing.
13 : virtual void process_stereo(float* left, float* right, int num_samples) = 0;
14 :
15 : // Update the processing sample rate.
16 : virtual void set_sample_rate(int sample_rate) = 0;
17 :
18 : // Clear dynamic states.
19 : virtual void reset() = 0;
20 : };
21 :
22 : } // namespace Amplitron
|