Ardour  9.0-pre0-582-g084a23a80d
sink.h
Go to the documentation of this file.
1 #ifndef AUDIOGRAPHER_SINK_H
2 #define AUDIOGRAPHER_SINK_H
3 
4 #include <memory>
5 
6 #include "process_context.h"
7 
9 
10 namespace AudioGrapher
11 {
12 
16 template <typename T>
17 class /*LIBAUDIOGRAPHER_API*/ Sink {
18  public:
19  virtual ~Sink () {}
20 
25  virtual void process (ProcessContext<T> const & context) = 0;
26 
38  inline virtual void process (ProcessContext<T> & context)
39  {
40  this->process (static_cast<ProcessContext<T> const &> (context));
41  }
42 };
43 
44 } // namespace
45 
46 #endif // AUDIOGRAPHER_SINK_H
47 
virtual void process(ProcessContext< T > const &context)=0
virtual ~Sink()
Definition: sink.h:19
virtual void process(ProcessContext< T > &context)
Definition: sink.h:38