HART  0.2.0
High level Audio Regression and Testing
Loading...
Searching...
No Matches
hart_envelope.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <vector>
5
6namespace hart
7{
8
9/// @defgroup Envelopes Envelopes
10/// @brief DSP Parameter automation
11
12/// @brief Represents an Envelope curve for DSP parameters
14{
15public:
16 virtual ~Envelope() = default;
17 virtual void renderNextBlock (size_t blockSize, std::vector<double>& valuesOutput) = 0;
18 virtual void prepare (double sampleRateHz, size_t maxBlockSizeFrames) = 0;
19 virtual void reset() = 0;
20 virtual std::unique_ptr<Envelope> copy() const = 0;
21};
22
23} // namespace hart
24
25/// @private
26#define HART_ENVELOPE_DECLARE_ALIASES_FOR(ClassName)
27 namespace aliases_float{
28 using ClassName = hart::ClassName;
29 }
30 namespace aliases_double{
31 using ClassName = hart::ClassName;
32 }
Represents an Envelope curve for DSP parameters.
virtual ~Envelope()=default
virtual void reset()=0
virtual void renderNextBlock(size_t blockSize, std::vector< double > &valuesOutput)=0
virtual void prepare(double sampleRateHz, size_t maxBlockSizeFrames)=0
virtual std::unique_ptr< Envelope > copy() const =0