ASPiK SDK
uidescription test.h
1 // This file is part of VSTGUI. It is subject to the license terms
2 // in the LICENSE file found in the top-level directory of this
3 // distribution and at http://github.com/steinbergmedia/vstgui/LICENSE
4 
5 #ifndef __uidescription_test__
6 #define __uidescription_test__
7 
8 #include "public.sdk/source/vst/vstaudioeffect.h"
9 #include "vstgui/plugin-bindings/vst3editor.h"
10 #include "pluginterfaces/base/ustring.h"
11 
12 namespace VSTGUI {
13 
14 //------------------------------------------------------------------------
15 class UIDescriptionBaseController : public Steinberg::Vst::EditController, public VST3EditorDelegate
16 {
17 public:
18  Steinberg::tresult PLUGIN_API initialize (Steinberg::FUnknown* context) override;
19  Steinberg::tresult beginEdit (Steinberg::Vst::ParamID tag) override;
20  Steinberg::tresult performEdit (Steinberg::Vst::ParamID tag, Steinberg::Vst::ParamValue valueNormalized) override;
21  Steinberg::tresult endEdit (Steinberg::Vst::ParamID tag) override;
22  Steinberg::Vst::Parameter* getParameterObject (Steinberg::Vst::ParamID tag) override;
23 
24  bool isPrivateParameter (const Steinberg::Vst::ParamID paramID) override;
25 protected:
26  Steinberg::Vst::ParameterContainer uiParameters;
27 };
28 
29 //------------------------------------------------------------------------
30 class UIDescriptionTestProcessor : public Steinberg::Vst::AudioEffect
31 {
32 public:
34 
35  Steinberg::tresult PLUGIN_API initialize (Steinberg::FUnknown* context) override;
36  Steinberg::tresult PLUGIN_API setBusArrangements (Steinberg::Vst::SpeakerArrangement* inputs, Steinberg::int32 numIns, Steinberg::Vst::SpeakerArrangement* outputs, Steinberg::int32 numOuts) override;
37  Steinberg::tresult PLUGIN_API process (Steinberg::Vst::ProcessData& data) override;
38  Steinberg::tresult PLUGIN_API setProcessing (Steinberg::TBool state) override;
39 
40  static Steinberg::FUnknown* createInstance (void*) { return (Steinberg::Vst::IAudioProcessor*)new UIDescriptionTestProcessor; }
41  static Steinberg::FUID cid;
42 private:
43  float peak;
44 };
45 
46 //------------------------------------------------------------------------
48 {
49 public:
51 
52  Steinberg::tresult PLUGIN_API initialize (Steinberg::FUnknown* context) override;
53  Steinberg::IPlugView* PLUGIN_API createView (Steinberg::FIDString name) override;
54  void willClose (VST3Editor* editor) override;
55  COptionMenu* createContextMenu (const CPoint& pos, VST3Editor* editor) override;
56 
57  IController* createSubController (const char* name, const IUIDescription* description, VST3Editor* editor) override;
58  CView* createCustomView (UTF8StringPtr name, const UIAttributes& attributes, const IUIDescription* description, VST3Editor* editor) override;
59  CView* verifyView (CView* view, const UIAttributes& attributes, const IUIDescription* description, VST3Editor* editor) override;
60 
61  static Steinberg::FUnknown* createInstance (void*) { return (Steinberg::Vst::IEditController*)new UIDescriptionTestController; }
62  static Steinberg::FUID cid;
63 protected:
64  CBaseObject* splitViewController;
65 };
66 
67 } // namespace
68 
69 #endif // __uidescription_test__
VST3 Editor with automatic parameter binding.
Definition: vst3editor.h:51
a popup menu control
Definition: coptionmenu.h:137
COptionMenu * createContextMenu(const CPoint &pos, VST3Editor *editor) override
create the context menu for the editor, will be added to the host menu
Definition: uidescription test.cpp:639
Definition: iuidescription.h:19
Definition: xmlparse.c:181
Base Object with reference counter.
Definition: vstguibase.h:276
CView * verifyView(CView *view, const UIAttributes &attributes, const IUIDescription *description, VST3Editor *editor) override
verify a view after it was created
Definition: uidescription test.cpp:698
CView * createCustomView(UTF8StringPtr name, const UIAttributes &attributes, const IUIDescription *description, VST3Editor *editor) override
create a custom view
Definition: uidescription test.cpp:683
IController * createSubController(const char *name, const IUIDescription *description, VST3Editor *editor) override
create a sub controller
Definition: uidescription test.cpp:666
delegate extension to Steinberg::Vst::EditController for a VST3 Editor
Definition: vst3editor.h:29
Definition: uidescription test.h:47
Definition: customcontrols.cpp:8
Definition: uiattributes.h:21
bool isPrivateParameter(const Steinberg::Vst::ParamID paramID) override
check if parameter ID is private and should not be exposed to the host
Definition: uidescription test.cpp:127
Definition: uidescription test.h:15
extension to IControlListener used by UIDescription
Definition: icontroller.h:20
Base Class of all view objects.
Definition: cview.h:44
void willClose(VST3Editor *editor) override
called before the editor will close
Definition: uidescription test.cpp:718
Definition: uidescription test.h:30
Point structure.
Definition: cpoint.h:17