Fixes #6401: Reload Lv2 plugin on SR change
This also includes banning blop's wavedata plugins, because they crash on reloading. Reference: https://gitlab.com/drobilla/blop-lv2/-/issues/3
This commit is contained in:
committed by
Johannes Lorenz
parent
7649f5ed24
commit
f48dd0fb1f
@@ -77,6 +77,9 @@ public:
|
||||
static Plugin::PluginTypes check(const LilvPlugin* m_plugin,
|
||||
std::vector<PluginIssue> &issues);
|
||||
|
||||
void shutdown();
|
||||
void init(Model* meAsModel);
|
||||
|
||||
const LilvPlugin* getPlugin() const { return m_plugin; }
|
||||
|
||||
Lv2Proc *control(std::size_t idx) { return m_procs[idx].get(); }
|
||||
@@ -95,6 +98,7 @@ protected:
|
||||
Lv2ControlBase(class Model *that, const QString& uri);
|
||||
Lv2ControlBase(const Lv2ControlBase&) = delete;
|
||||
~Lv2ControlBase() override;
|
||||
void reload();
|
||||
|
||||
Lv2ControlBase& operator=(const Lv2ControlBase&) = delete;
|
||||
|
||||
@@ -129,8 +133,6 @@ protected:
|
||||
void saveSettings(QDomDocument &doc, QDomElement &that);
|
||||
void loadSettings(const QDomElement &that);
|
||||
void loadFile(const QString &file);
|
||||
//! TODO: not implemented
|
||||
void reloadPlugin();
|
||||
|
||||
/*
|
||||
more functions that must be called from virtuals
|
||||
|
||||
@@ -69,6 +69,8 @@ public:
|
||||
{
|
||||
return m_featurePointers.data();
|
||||
}
|
||||
//! Clear everything
|
||||
void clear();
|
||||
|
||||
private:
|
||||
//! feature storage
|
||||
|
||||
@@ -68,10 +68,12 @@ public:
|
||||
std::vector<PluginIssue> &issues);
|
||||
|
||||
/*
|
||||
ctor/dtor
|
||||
ctor/dtor/reload
|
||||
*/
|
||||
Lv2Proc(const LilvPlugin* plugin, Model *parent);
|
||||
~Lv2Proc() override;
|
||||
void reload();
|
||||
void onSampleRateChanged();
|
||||
//! Must be checked after ctor or reload
|
||||
bool isValid() const { return m_valid; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user