Audacity 3.2.0
ParameterQueuePool.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 @file ParameterQueuePool.h
6
7 @author Vitaly Sverchinsky
8
9 @brief Part of Audacity VST3 module
10
11**********************************************************************/
12
13#pragma once
14
15#include <memory>
16#include <vector>
17#include <functional>
18#include <pluginterfaces/base/smartpointer.h>
19#include <pluginterfaces/vst/vsttypes.h>
20
21#include "ParameterValueQueue.h"
22
23namespace internal
24{
25
26 class ParameterValueQueue;
27
31 {
32 std::vector<Steinberg::IPtr<ParameterValueQueue>> mPool;
33 public:
34
36 public:
38 };
39
40 using ParameterValueQueuePtr = std::unique_ptr<
43 >;
44
46
47 ParameterValueQueuePtr Get(Steinberg::Vst::ParamID id);
48
49 //Cleanup
50 void Reset() noexcept;
51
52 };
53
54}
void operator()(ParameterValueQueue *queue)
static ParameterQueuePool & Instance()
std::unique_ptr< ParameterValueQueue, QueueCleanup > ParameterValueQueuePtr
std::vector< Steinberg::IPtr< ParameterValueQueue > > mPool
ParameterValueQueuePtr Get(Steinberg::Vst::ParamID id)