15 SCORE_CONCRETE(
"1d6ca523-628b-431a-9f70-87df92a63551")
17 void registerVSTClass(
19 const VST3::Hosting::ClassInfo& cls)
23 auto name = QString::fromStdString(cls.name());
24 auto uid = QString::fromStdString(cls.ID().toString());
27 if(vst.classInfo.size() == 1)
28 parent.customData = uid;
29 Library::addToLibrary(parent, std::move(classdata));
37 QModelIndex node = model.find(key);
38 if(node == QModelIndex{})
47 auto reset_plugs = [
this, &plug, &parent] {
48 for(
const auto& vst : plug.vst_infos)
54 const int numClasses = vst.classInfo.size();
58 auto& node = Library::addToLibrary(parent, std::move(parent_data));
60 for(
const auto& cls : vst.classInfo)
62 registerVSTClass(node, vst, cls);
67 registerVSTClass(parent, vst, vst.classInfo[0]);
79 con(plug, &vst3::ApplicationPlugin::vstChanged,
this,
80 [&plug, &model, node, &parent, reset_plugs] {
81 if(parent.childCount() > 0)
83 model.beginRemoveRows(node, 0, parent.childCount() - 1);
85 model.endRemoveRows();
89 for(
const auto& vst : plug.vst_infos)
94 model.beginInsertRows(node, 0, k - 1);
96 model.endInsertRows();
Specializes ApplicationContext with the QMainWindow.
Definition GUIApplicationContext.hpp:15
T & applicationPlugin() const
Access a specific application plug-in instance.
Definition GUIApplicationContext.hpp:69