Audacity 3.2.0
LV2InstanceFeaturesList.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 @file LV2InstanceFeaturesList.h
6
7 Paul Licameli split from LV2Effect.h
8
9 Audacity(R) is copyright (c) 1999-2013 Audacity Team.
10 License: GPL v2 or later. See License.txt.
11
12*********************************************************************/
13
14#ifndef __AUDACITY_LV2_INSTANCE_FEATURES_LIST__
15#define __AUDACITY_LV2_INSTANCE_FEATURES_LIST__
16
17#if USE_LV2
18
19#include "LV2FeaturesList.h"
20#include "lv2/options/options.h"
21#include "lv2/worker/worker.h"
22
25 const LV2FeaturesList &baseFeatures);
26
27 const LV2FeaturesList &Base() const {
28 return static_cast<const LV2FeaturesList&>(mBaseFeatures);
29 }
30
32 bool InitializeOptions();
33
35 const LV2_Options_Option *NominalBlockLengthOption() const;
36
37 size_t AddOption(LV2_URID, uint32_t size, LV2_URID, const void *value);
38
43 bool ValidateOptions(const LilvNode *subject);
44
50 bool CheckOptions(const LilvNode *subject, bool required);
51
52 std::vector<LV2_Options_Option> mOptions;
54
57
59
60 size_t mMinBlockSize{ 1 };
62 float mSampleRate{ 44100.0f };
63
64 const bool mOk;
65};
66
69 LV2InstanceFeaturesList &baseFeatures, float sampleRate = 44100.0f,
70 const LV2_Worker_Schedule *pWorkerSchedule = nullptr);
71
73 return static_cast<const LV2InstanceFeaturesList&>(mBaseFeatures);
74 }
75};
76
77#endif
78#endif
#define DEFAULT_SEQSIZE
Extends one (immutable) feature list (whose lifetime contains this one's)
const LV2FeaturesListBase & mBaseFeatures
constexpr auto DEFAULT_BLOCKSIZE
Maximum block size in number of samples (not bytes)
bool ValidateOptions(const LilvNode *subject)
bool CheckOptions(const LilvNode *subject, bool required)
size_t AddOption(LV2_URID, uint32_t size, LV2_URID, const void *value)
LV2InstanceFeaturesList(const LV2FeaturesList &baseFeatures)
const LV2_Options_Option * NominalBlockLengthOption() const
const LV2FeaturesList & Base() const
std::vector< LV2_Options_Option > mOptions
const LV2InstanceFeaturesList & Base() const
LV2WrapperFeaturesList(LV2InstanceFeaturesList &baseFeatures, float sampleRate=44100.0f, const LV2_Worker_Schedule *pWorkerSchedule=nullptr)