Loading...
Searching...
No Matches
PluginTab.hpp
1#pragma once
2
3// Reusable UI for the per-format plug-in settings tabs (VST / VST3 / CLAP /
4// LV2): an editable search-path list, a Rescan button and the two
5// working / faulty plug-in tables. Each format supplies its data source and
6// actions through PluginTabSpec and gets an identical tab in the "Effects"
7// settings page.
8
9#include <score_plugin_media_export.h>
10
11#include <QString>
12#include <QStringList>
13
14#include <functional>
15#include <vector>
16
17class QWidget;
18class QObject;
19
20namespace Media::Settings
21{
23{
24 QString name;
25 QString path;
26 bool valid{};
27};
28
30{
32 QString pathsLabel;
33
35 std::function<QStringList()> getPaths;
39 std::function<void(QStringList)> commitPaths;
42 std::function<void(QObject*, std::function<void(QStringList)>)> onPathsChanged;
43
45 std::function<std::vector<PluginTabRow>()> rows;
48 std::function<void(QObject*, std::function<void()>)> onPluginsChanged;
49
51 std::function<void()> rescan;
52};
53
54SCORE_PLUGIN_MEDIA_EXPORT
55QWidget* makePluginSettingsWidget(PluginTabSpec spec);
56}
Definition PluginTab.hpp:23
Definition PluginTab.hpp:30
std::function< void(QObject *, std::function< void()>)> onPluginsChanged
Definition PluginTab.hpp:48
std::function< QStringList()> getPaths
Current search paths from the settings model.
Definition PluginTab.hpp:35
std::function< std::vector< PluginTabRow >()> rows
Current plug-in list of the format's application plug-in.
Definition PluginTab.hpp:45
std::function< void()> rescan
Forget everything and scan the current paths again.
Definition PluginTab.hpp:51
std::function< void(QObject *, std::function< void(QStringList)>)> onPathsChanged
Definition PluginTab.hpp:42
QString pathsLabel
Label of the paths editor, e.g. "VST3 paths".
Definition PluginTab.hpp:32
std::function< void(QStringList)> commitPaths
Definition PluginTab.hpp:39