14#ifndef __AUDACITY_LV2_INSTANCE_FEATURES_LIST__
15#define __AUDACITY_LV2_INSTANCE_FEATURES_LIST__
22#include "lv2/options/options.h"
23#include "lv2/worker/worker.h"
28 Callable::Constantly<true, const LilvPlugin &, LV2InstanceFeaturesList &>
40 bool InitializeOptions();
43 const LV2_Options_Option *NominalBlockLengthOption()
const;
45 size_t AddOption(LV2_URID, uint32_t
size, LV2_URID,
const void *value);
51 bool ValidateOptions(
const LilvNode *subject);
58 bool CheckOptions(
const LilvNode *subject,
bool required);
61 size_t mBlockSizeOption{};
66 bool mSupportsNominalBlockLength{
false };
68 size_t mMinBlockSize{ 1 };
69 size_t mMaxBlockSize{ mBlockSize };
70 float mSampleRate{ 44100.0f };
78 const LV2_Worker_Schedule *pWorkerSchedule =
nullptr);
Functions and classes that generate callable objects.
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)
constexpr auto sampleRate
Perform extra initialization-time checks.
const LV2FeaturesList & Base() const
std::vector< LV2_Options_Option > mOptions
const LV2InstanceFeaturesList & Base() const