Ardour  9.0-pre0-582-g084a23a80d
audiographer/general/limiter.h
Go to the documentation of this file.
1 #ifndef AUDIOGRAPHER_LIMITER_H
2 #define AUDIOGRAPHER_LIMITER_H
3 
5 
7 #include "audiographer/sink.h"
9 
11 
12 namespace AudioGrapher
13 {
14 
16  : public ListedSource<float>
17  , public Sink<float>
18  , public Throwing<>
19 {
20 public:
21  Limiter (float sample_rate, unsigned int channels, samplecnt_t);
23 
24  void set_input_gain (float dB);
25  void set_threshold (float dB);
26  void set_release (float s);
27 
30 
31  void process (ProcessContext<float> const& ctx);
33 
34 private:
36 
37  bool _enabled;
38  float* _buf;
41 
44  size_t _pos;
45 
48 };
49 
50 } // namespace
51 
52 #endif
ARDOUR::ExportAnalysisPtr _result
void set_input_gain(float dB)
void set_release(float s)
void set_result(ARDOUR::ExportAnalysisPtr)
Limiter(float sample_rate, unsigned int channels, samplecnt_t)
void set_threshold(float dB)
void process(ProcessContext< float > const &ctx)
void stats(samplecnt_t)
AudioGrapherDSP::Limiter _limiter
void set_duration(samplecnt_t)
An generic Source that uses a std::list for managing outputs.
Definition: listed_source.h:17
std::shared_ptr< ExportAnalysis > ExportAnalysisPtr