LMMS
Loading...
Searching...
No Matches
lmms::Lv2Manager Class Reference

Class to keep track of all LV2 plugins. More...

#include <Lv2Manager.h>

Classes

struct  Lv2Info
 Class representing info for one plugin. More...

Public Types

using Lv2InfoMap = std::map<std::string, Lv2Info>
using Iterator = Lv2InfoMap::iterator

Public Member Functions

void initPlugins ()
 Lv2Manager ()
 ~Lv2Manager ()
AutoLilvNode uri (const char *uriStr)
const LilvPlugingetPlugin (const std::string &uri)
 Return descriptor with URI uri or nullptr if none exists.
const LilvPlugingetPlugin (const QString &uri)
 Return descriptor with URI uri or nullptr if none exists.
Iterator begin ()
Iterator end ()
UridMapuridMap ()
const Lv2UridCacheuridCache () const
const std::set< std::string_view > & supportedFeatureURIs () const
bool isFeatureSupported (const char *featName) const
AutoLilvNodes findNodes (const LilvNode *subject, const LilvNode *predicate, const LilvNode *object)

Static Public Member Functions

static bool pluginIsUnstable (const char *pluginUri)
static bool pluginIsOnlyUsefulWithUi (const char *pluginUri)
static bool pluginIsUnstableWithBuffersizeLessEqual32 (const char *pluginUri)
static bool wantUi ()

Private Member Functions

bool isSubclassOf (const LilvPluginClass *clvss, const char *uriStr)

Private Attributes

bool m_debug
 if set, debug output will be printed
LilvWorldm_world
Lv2InfoMap m_lv2InfoMap
std::set< std::string_view > m_supportedFeatureURIs
UridMap m_uridMap
Lv2UridCache m_uridCache

Static Private Attributes

static const std::set< std::string_view > unstablePlugins
static const std::set< std::string_view > pluginsOnlyUsefulWithUi
static const std::set< std::string_view > unstablePluginsBuffersizeLessEqual32

Detailed Description

Class to keep track of all LV2 plugins.

Member Typedef Documentation

◆ Iterator

using lmms::Lv2Manager::Iterator = Lv2InfoMap::iterator

◆ Lv2InfoMap

using lmms::Lv2Manager::Lv2InfoMap = std::map<std::string, Lv2Info>

Constructor & Destructor Documentation

◆ Lv2Manager()

lmms::Lv2Manager::Lv2Manager ( )

◆ ~Lv2Manager()

lmms::Lv2Manager::~Lv2Manager ( )

Member Function Documentation

◆ begin()

Iterator lmms::Lv2Manager::begin ( )
inline

◆ end()

Iterator lmms::Lv2Manager::end ( )
inline

◆ findNodes()

AutoLilvNodes lmms::Lv2Manager::findNodes ( const LilvNode * subject,
const LilvNode * predicate,
const LilvNode * object )

◆ getPlugin() [1/2]

const LilvPlugin * lmms::Lv2Manager::getPlugin ( const QString & uri)

Return descriptor with URI uri or nullptr if none exists.

◆ getPlugin() [2/2]

const LilvPlugin * lmms::Lv2Manager::getPlugin ( const std::string & uri)

Return descriptor with URI uri or nullptr if none exists.

◆ initPlugins()

void lmms::Lv2Manager::initPlugins ( )

◆ isFeatureSupported()

bool lmms::Lv2Manager::isFeatureSupported ( const char * featName) const

◆ isSubclassOf()

bool lmms::Lv2Manager::isSubclassOf ( const LilvPluginClass * clvss,
const char * uriStr )
private

◆ pluginIsOnlyUsefulWithUi()

bool lmms::Lv2Manager::pluginIsOnlyUsefulWithUi ( const char * pluginUri)
inlinestatic

◆ pluginIsUnstable()

bool lmms::Lv2Manager::pluginIsUnstable ( const char * pluginUri)
inlinestatic

◆ pluginIsUnstableWithBuffersizeLessEqual32()

bool lmms::Lv2Manager::pluginIsUnstableWithBuffersizeLessEqual32 ( const char * pluginUri)
inlinestatic

◆ supportedFeatureURIs()

const std::set< std::string_view > & lmms::Lv2Manager::supportedFeatureURIs ( ) const
inline

◆ uri()

AutoLilvNode lmms::Lv2Manager::uri ( const char * uriStr)

◆ uridCache()

const Lv2UridCache & lmms::Lv2Manager::uridCache ( ) const
inline

◆ uridMap()

UridMap & lmms::Lv2Manager::uridMap ( )
inline

◆ wantUi()

bool lmms::Lv2Manager::wantUi ( )
static

Whether the user generally wants a UI (and we generally support that) Since we do not generally support UI right now, this will always return false...

Member Data Documentation

◆ m_debug

bool lmms::Lv2Manager::m_debug
private

if set, debug output will be printed

◆ m_lv2InfoMap

Lv2InfoMap lmms::Lv2Manager::m_lv2InfoMap
private

◆ m_supportedFeatureURIs

std::set<std::string_view> lmms::Lv2Manager::m_supportedFeatureURIs
private

◆ m_uridCache

Lv2UridCache lmms::Lv2Manager::m_uridCache
private

◆ m_uridMap

UridMap lmms::Lv2Manager::m_uridMap
private

◆ m_world

LilvWorld* lmms::Lv2Manager::m_world
private

◆ pluginsOnlyUsefulWithUi

const std::set< std::string_view > lmms::Lv2Manager::pluginsOnlyUsefulWithUi
staticprivate

◆ unstablePlugins

const std::set< std::string_view > lmms::Lv2Manager::unstablePlugins
staticprivate
Initial value:
=
{
"http://calf.sourceforge.net/plugins/Analyzer",
"http://calf.sourceforge.net/plugins/BassEnhancer",
"http://calf.sourceforge.net/plugins/CompensationDelay",
"http://calf.sourceforge.net/plugins/Crusher",
"http://calf.sourceforge.net/plugins/Exciter",
"http://calf.sourceforge.net/plugins/Saturator",
"http://calf.sourceforge.net/plugins/StereoTools",
"http://calf.sourceforge.net/plugins/TapeSimulator",
"http://calf.sourceforge.net/plugins/TransientDesigner",
"http://calf.sourceforge.net/plugins/Vinyl",
"http://drobilla.net/plugins/blop/pulse",
"http://drobilla.net/plugins/blop/sawtooth",
"http://drobilla.net/plugins/blop/square",
"http://drobilla.net/plugins/blop/triangle",
"urn:juced:DrumSynth"
}

◆ unstablePluginsBuffersizeLessEqual32

const std::set< std::string_view > lmms::Lv2Manager::unstablePluginsBuffersizeLessEqual32
staticprivate
Initial value:
=
{
"http://moddevices.com/plugins/mod-devel/2Voices",
"http://moddevices.com/plugins/mod-devel/Capo",
"http://moddevices.com/plugins/mod-devel/Drop",
"http://moddevices.com/plugins/mod-devel/Harmonizer",
"http://moddevices.com/plugins/mod-devel/Harmonizer2",
"http://moddevices.com/plugins/mod-devel/HarmonizerCS",
"http://moddevices.com/plugins/mod-devel/SuperCapo",
"http://moddevices.com/plugins/mod-devel/SuperWhammy",
"http://moddevices.com/plugins/mod-devel/Gx2Voices",
"http://moddevices.com/plugins/mod-devel/GxCapo",
"http://moddevices.com/plugins/mod-devel/GxDrop",
"http://moddevices.com/plugins/mod-devel/GxHarmonizer",
"http://moddevices.com/plugins/mod-devel/GxHarmonizer2",
"http://moddevices.com/plugins/mod-devel/GxHarmonizerCS",
"http://moddevices.com/plugins/mod-devel/GxSuperCapo",
"http://moddevices.com/plugins/mod-devel/GxSuperWhammy"
}

The documentation for this class was generated from the following files: