From 77aff4b1df28df13d64efdc5bd5a4389121eb261 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Tue, 6 Apr 2021 20:45:37 +0200 Subject: [PATCH] Pass the type of plugin to editor --- plugins/editor/src/editor/DlgAbout.cpp | 5 +++++ plugins/editor/src/editor/DlgAbout.h | 3 +++ plugins/editor/src/editor/EditIds.h | 2 ++ plugins/editor/src/editor/Editor.cpp | 3 +++ plugins/lv2/sfizz_ui.cpp | 3 +++ plugins/vst/SfizzVstEditor.cpp | 3 +++ 6 files changed, 19 insertions(+) diff --git a/plugins/editor/src/editor/DlgAbout.cpp b/plugins/editor/src/editor/DlgAbout.cpp index 75392fab..95024388 100644 --- a/plugins/editor/src/editor/DlgAbout.cpp +++ b/plugins/editor/src/editor/DlgAbout.cpp @@ -136,6 +136,11 @@ SAboutDialog::SAboutDialog(const CRect& bounds) aboutView->setViewSize(aboutBounds); } +void SAboutDialog::setPluginFormat(const std::string& pluginFormat) +{ + // TODO +} + CMouseEventResult SAboutDialog::onMouseDown(CPoint& where, const CButtonState& buttons) { CMouseEventResult result = CViewContainer::onMouseDown(where, buttons); diff --git a/plugins/editor/src/editor/DlgAbout.h b/plugins/editor/src/editor/DlgAbout.h index e7d621d8..399e563c 100644 --- a/plugins/editor/src/editor/DlgAbout.h +++ b/plugins/editor/src/editor/DlgAbout.h @@ -9,6 +9,7 @@ #include "vstgui/lib/cviewcontainer.h" #include "vstgui/vstgui.h" #include "utility/vstgui_after.h" +#include using namespace VSTGUI; @@ -25,6 +26,8 @@ class SAboutDialog : public CViewContainer, public IControlListener { public: explicit SAboutDialog(const CRect& bounds); + void setPluginFormat(const std::string& pluginFormat); + protected: CMouseEventResult onMouseDown(CPoint& where, const CButtonState& buttons) override; diff --git a/plugins/editor/src/editor/EditIds.h b/plugins/editor/src/editor/EditIds.h index 19016456..2fc496eb 100644 --- a/plugins/editor/src/editor/EditIds.h +++ b/plugins/editor/src/editor/EditIds.h @@ -46,6 +46,8 @@ enum class EditId : int { // BackgroundImage, // + PluginFormat, + // #undef KEY_RANGE #undef CC_RANGE }; diff --git a/plugins/editor/src/editor/Editor.cpp b/plugins/editor/src/editor/Editor.cpp index 5134b533..436c5a91 100644 --- a/plugins/editor/src/editor/Editor.cpp +++ b/plugins/editor/src/editor/Editor.cpp @@ -403,6 +403,9 @@ void Editor::Impl::uiReceiveValue(EditId id, const EditValue& v) fallbackFilesDir_ = v.to_string(); break; } + case EditId::PluginFormat: + aboutDialog_->setPluginFormat(v.to_string()); + break; case EditId::UINumCurves: { const int value = static_cast(v.to_float()); diff --git a/plugins/lv2/sfizz_ui.cpp b/plugins/lv2/sfizz_ui.cpp index 581f373f..9627d7e1 100644 --- a/plugins/lv2/sfizz_ui.cpp +++ b/plugins/lv2/sfizz_ui.cpp @@ -256,6 +256,9 @@ instantiate(const LV2UI_Descriptor *descriptor, self->editor.reset(editor); editor->open(*uiFrame); + // let the editor know about plugin format + self->uiReceiveValue(EditId::PluginFormat, std::string("LV2")); + // user files dir is not relevant to LV2 (not yet?) // LV2 has its own path management mechanism self->uiReceiveValue(EditId::CanEditUserFilesDir, 0); diff --git a/plugins/vst/SfizzVstEditor.cpp b/plugins/vst/SfizzVstEditor.cpp index 8053e91a..98ba5ac6 100644 --- a/plugins/vst/SfizzVstEditor.cpp +++ b/plugins/vst/SfizzVstEditor.cpp @@ -97,6 +97,9 @@ bool PLUGIN_API SfizzVstEditor::open(void* parent, const VSTGUI::PlatformType& p for (FObject* update : continuousUpdates_) update->deferUpdate(); + // let the editor know about plugin format + uiReceiveValue(EditId::PluginFormat, std::string("VST3")); + absl::optional userFilesDir = SfizzPaths::getSfzConfigDefaultPath(); uiReceiveValue(EditId::CanEditUserFilesDir, 1); uiReceiveValue(EditId::UserFilesDir, userFilesDir.value_or(fs::path()).u8string());