Audacity 3.2.0
VST3Effect.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 @file VST3Effect.h
6
7 @author Vitaly Sverchinsky
8
9 @brief Part of Audacity VST3 module
10
11**********************************************************************/
12
13
14#pragma once
15
16#include "VST3EffectBase.h"
18
19#include <wx/wx.h>
20
21namespace Steinberg
22{
23 namespace Vst
24 {
25 class IEditController;
26 }
27}
28
29class NumericTextCtrl;
30class VST3Instance;
31
33
37class VST3Effect final
39 , public VST3EffectBase
40{
41public:
42 ~VST3Effect() override;
43
45
46 int ShowClientInterface(const EffectPlugin &plugin, wxWindow &parent,
47 wxDialog &dialog, EffectEditor *pEditor, bool forceModal)
48 const override;
49
50 std::unique_ptr<EffectEditor> PopulateUI(const EffectPlugin &plugin,
52 const EffectOutputs *pOutputs) const override;
53
54 void ExportPresets(
55 const EffectPlugin &plugin, const EffectSettings &settings)
56 const override;
58 const EffectPlugin &plugin, EffectSettings &settings) const override;
59
60 void ShowOptions(const EffectPlugin &plugin) const override;
61
62private:
64 virtual std::unique_ptr<EffectEditor> MakeEditor(
65 ShuttleGui & S, EffectInstance &instance, EffectSettingsAccess &access,
66 const EffectOutputs *pOutputs) const final;
67};
std::optional< std::unique_ptr< EffectSettingsAccess::Message > > OptionalMessage
#define S(N)
Definition: ToChars.cpp:64
static Settings & settings()
Definition: TrackInfo.cpp:47
Performs effect computation.
Hold values to send to effect output meters.
Factory of instances of an effect.
Definition: EffectPlugin.h:36
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:640
Objects of this class connect Audacity with VST3 effects.
VST3EffectBase(std::shared_ptr< VST3::Hosting::Module > module, VST3::Hosting::ClassInfo effectClassInfo)
Objects of this class connect Audacity with VST3 effects.
Definition: VST3Effect.h:40
std::unique_ptr< EffectEditor > PopulateUI(const EffectPlugin &plugin, ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const override
Adds controls to a panel that is given as the parent window of S
Definition: VST3Effect.cpp:61
virtual std::unique_ptr< EffectEditor > MakeEditor(ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const final
Will never be called.
Definition: VST3Effect.cpp:77
void ExportPresets(const EffectPlugin &plugin, const EffectSettings &settings) const override
Definition: VST3Effect.cpp:86
OptionalMessage ImportPresets(const EffectPlugin &plugin, EffectSettings &settings) const override
Definition: VST3Effect.cpp:113
void ShowOptions(const EffectPlugin &plugin) const override
Definition: VST3Effect.cpp:137
int ShowClientInterface(const EffectPlugin &plugin, wxWindow &parent, wxDialog &dialog, EffectEditor *pEditor, bool forceModal) const override
Definition: VST3Effect.cpp:41
~VST3Effect() override
Definition: VST3Effect.cpp:34
"Plain" plugin UI, contains a list of parameter controls and values.
Externalized state of a plug-in.