25#ifndef LMMS_LV2_MANAGER_H
26#define LMMS_LV2_MANAGER_H
28#include "lmmsconfig.h"
#define nullptr
Definition DistrhoDefines.h:75
std::map< std::string, Lv2Info > Lv2InfoMap
Definition Lv2Manager.h:119
bool isSubclassOf(const LilvPluginClass *clvss, const char *uriStr)
Definition Lv2Manager.cpp:347
const Lv2UridCache & uridCache() const
Definition Lv2Manager.h:125
static bool wantUi()
Definition Lv2Manager.cpp:338
Lv2InfoMap m_lv2InfoMap
Definition Lv2Manager.h:156
bool isFeatureSupported(const char *featName) const
Definition Lv2Manager.cpp:321
static const std::set< std::string_view > unstablePluginsBuffersizeLessEqual32
Definition Lv2Manager.h:168
LilvWorld * m_world
Definition Lv2Manager.h:155
Iterator begin()
Definition Lv2Manager.h:121
UridMap & uridMap()
Definition Lv2Manager.h:124
std::set< std::string_view > m_supportedFeatureURIs
Definition Lv2Manager.h:157
static bool pluginIsOnlyUsefulWithUi(const char *pluginUri)
Definition Lv2Manager.h:138
Lv2InfoMap::iterator Iterator
Definition Lv2Manager.h:120
const LilvPlugin * getPlugin(const std::string &uri)
Return descriptor with URI uri or nullptr if none exists.
Definition Lv2Manager.cpp:220
static const std::set< std::string_view > pluginsOnlyUsefulWithUi
Definition Lv2Manager.h:167
const std::set< std::string_view > & supportedFeatureURIs() const
Definition Lv2Manager.h:126
Lv2Manager()
Definition Lv2Manager.cpp:168
static bool pluginIsUnstable(const char *pluginUri)
Definition Lv2Manager.h:134
UridMap m_uridMap
Definition Lv2Manager.h:160
bool m_debug
if set, debug output will be printed
Definition Lv2Manager.h:154
AutoLilvNode uri(const char *uriStr)
Definition Lv2Manager.cpp:212
Lv2UridCache m_uridCache
Definition Lv2Manager.h:163
Iterator end()
Definition Lv2Manager.h:122
static bool pluginIsUnstableWithBuffersizeLessEqual32(const char *pluginUri)
Definition Lv2Manager.h:142
void initPlugins()
Definition Lv2Manager.cpp:237
AutoLilvNodes findNodes(const LilvNode *subject, const LilvNode *predicate, const LilvNode *object)
Definition Lv2Manager.cpp:329
~Lv2Manager()
Definition Lv2Manager.cpp:204
static const std::set< std::string_view > unstablePlugins
Definition Lv2Manager.h:166
Cached URIDs for fast access (for use in real-time code).
Definition Lv2UridCache.h:41
Type
Definition Plugin.h:76
Definition Lv2UridMap.h:47
struct LilvWorldImpl LilvWorld
Definition lilv.h:88
struct LilvPluginClassImpl LilvPluginClass
Definition lilv.h:83
struct LilvPluginImpl LilvPlugin
Definition lilv.h:82
struct LilvNodeImpl LilvNode
Definition lilv.h:87
Definition AudioAlsa.cpp:35
std::unique_ptr< LilvNodes, LilvNodesDeleter > AutoLilvNodes
Definition Lv2Basics.h:64
std::unique_ptr< LilvNode, LilvNodeDeleter > AutoLilvNode
Definition Lv2Basics.h:63
bool m_valid
Definition Lv2Manager.h:111
bool isValid() const
Definition Lv2Manager.h:106
Plugin::Type type() const
Definition Lv2Manager.h:105
Lv2Info(Lv2Info &&other)=default
Plugin::Type m_type
Definition Lv2Manager.h:110
Lv2Info(const LilvPlugin *plug, Plugin::Type type, bool valid)
ctor used inside Lv2Manager
Definition Lv2Manager.h:99
Lv2Info()
use only for std::map internals
Definition Lv2Manager.h:97
Lv2Info & operator=(Lv2Info &&other)=default
const LilvPlugin * m_plugin
Definition Lv2Manager.h:109
const LilvPlugin * plugin() const
Definition Lv2Manager.h:104