Audacity 3.2.0
ParameterValueQueue.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 @file ParameterValueQueue.h
6
7 @author Vitaly Sverchinsky
8
9 @brief Part of Audacity VST3 module
10
11**********************************************************************/
12
13#pragma once
14
15#include <vector>
16#include <pluginterfaces/vst/ivstparameterchanges.h>
17
18namespace internal {
19
23 class ParameterValueQueue final : public Steinberg::Vst::IParamValueQueue
24 {
25 struct Point
26 {
27 Steinberg::int32 sampleOffset;
28 Steinberg::Vst::ParamValue paramValue;
29
30 bool operator <(const Point& other) const;
31 };
32
33 bool mInitialized { false };
34 Steinberg::Vst::ParamID mId;
35 std::vector<Point> mPoints;
36
37 public:
38
40 virtual ~ParameterValueQueue();
41
42 void initialize(Steinberg::Vst::ParamID id);
43
44 bool isInitialized() const noexcept;
45
46 void dispose() noexcept;
47
48 Steinberg::Vst::ParamID PLUGIN_API getParameterId() override;
49
50 Steinberg::int32 PLUGIN_API getPointCount() override;
51
52 Steinberg::tresult PLUGIN_API getPoint(Steinberg::int32 index, Steinberg::int32& sampleOffset,
53 Steinberg::Vst::ParamValue& value) override;
54
55 Steinberg::tresult PLUGIN_API addPoint(Steinberg::int32 sampleOffset, Steinberg::Vst::ParamValue value,
56 Steinberg::int32& index) override;
57
58 DECLARE_FUNKNOWN_METHODS
59 };
60
61}
Steinberg::int32 PLUGIN_API getPointCount() override
bool isInitialized() const noexcept
Steinberg::tresult PLUGIN_API getPoint(Steinberg::int32 index, Steinberg::int32 &sampleOffset, Steinberg::Vst::ParamValue &value) override
Steinberg::Vst::ParamID PLUGIN_API getParameterId() override
void initialize(Steinberg::Vst::ParamID id)
Steinberg::Vst::ParamID mId
Steinberg::tresult PLUGIN_API addPoint(Steinberg::int32 sampleOffset, Steinberg::Vst::ParamValue value, Steinberg::int32 &index) override
Steinberg::Vst::ParamValue paramValue
bool operator<(const Point &other) const