|
| VST3Editor (Steinberg::Vst::EditController *controller, UTF8StringPtr templateName, UTF8StringPtr xmlFile) |
|
| VST3Editor (UIDescription *desc, Steinberg::Vst::EditController *controller, UTF8StringPtr templateName, UTF8StringPtr xmlFile=nullptr) |
|
bool | exchangeView (UTF8StringPtr templateName) |
|
void | enableTooltips (bool state) |
|
bool | setEditorSizeConstrains (const CPoint &newMinimumSize, const CPoint &newMaximumSize) |
|
void | getEditorSizeConstrains (CPoint &minimumSize, CPoint &maximumSize) const |
|
bool | requestResize (const CPoint &newSize) |
|
void | setZoomFactor (double factor) |
|
double | getZoomFactor () const |
|
void | setAllowedZoomFactors (std::vector< double > zoomFactors) |
|
void | setDelegate (IVST3EditorDelegate *delegate) |
| set the delegate of the editor. More...
|
|
IVST3EditorDelegate * | getDelegate () const |
|
UIDescription * | getUIDescription () const |
|
Steinberg::tresult PLUGIN_API | queryInterface (const ::Steinberg::TUID iid, void **obj) override |
|
virtual int32_t | getTagForName (UTF8StringPtr name, int32_t registeredTag) const |
|
virtual IControlListener * | getControlListener (UTF8StringPtr controlTagName) |
|
virtual CView * | createView (const UIAttributes &attributes, const IUIDescription *description) |
|
virtual CView * | verifyView (CView *view, const UIAttributes &attributes, const IUIDescription *description) |
|
virtual IController * | createSubController (UTF8StringPtr name, const IUIDescription *description) |
|
virtual | ~IControlListener () noexcept=default |
|
virtual void | valueChanged (CControl *pControl)=0 |
|
virtual int32_t | controlModifierClicked (CControl *pControl, CButtonState button) |
| return 1 if you want the control to not handle it, otherwise 0 More...
|
|
virtual void | controlBeginEdit (CControl *pControl) |
|
virtual void | controlEndEdit (CControl *pControl) |
|
virtual void | controlTagWillChange (CControl *pControl) |
|
virtual void | controlTagDidChange (CControl *pControl) |
|
virtual | ~IViewAddedRemovedObserver () noexcept=default |
|
virtual void | onViewAdded (CFrame *frame, CView *view)=0 |
|
virtual void | onViewRemoved (CFrame *frame, CView *view)=0 |
|
virtual | ~IMouseObserver () noexcept=default |
|
virtual void | onMouseEntered (CView *view, CFrame *frame)=0 |
|
virtual void | onMouseExited (CView *view, CFrame *frame)=0 |
|
virtual void | onMouseEvent (MouseEvent &event, CFrame *frame)=0 |
|
bool | validateCommandMenuItem (CCommandMenuItem *item) override |
| called before the item is shown to validate its state More...
|
|
bool | onCommandMenuItemSelected (CCommandMenuItem *item) override |
| called when the item was selected More...
|
|
virtual bool | validateCommandMenuItem (CCommandMenuItem *item)=0 |
| called before the item is shown to validate its state More...
|
|
virtual bool | onCommandMenuItemSelected (CCommandMenuItem *item)=0 |
| called when the item was selected More...
|
|
virtual void | forget ()=0 |
| decrease refcount and delete object if refcount == 0 More...
|
|
virtual void | remember ()=0 |
| increase refcount More...
|
|
|
| ~VST3Editor () override |
|
void | init () |
|
double | getAbsScaleFactor () const |
|
double | getContentScaleFactor () const |
|
ParameterChangeListener * | getParameterChangeListener (int32_t tag) const |
|
void | recreateView () |
|
void | requestRecreateView () |
|
void | syncParameterTags () |
|
void | save (bool saveAs=false) |
|
bool | enableEditing (bool state) |
|
void | saveScreenshot () |
|
bool | enableShowEditButton () const |
|
void | enableShowEditButton (bool state) |
|
void | showEditButton (bool state) |
|
bool | inEditMode () const |
|
bool PLUGIN_API | open (void *parent, const PlatformType &type) override |
|
void PLUGIN_API | close () override |
|
void | beginEdit (int32_t index) override |
|
void | endEdit (int32_t index) override |
|
CView * | createView (const UIAttributes &attributes, const IUIDescription *description) override |
|
CView * | verifyView (CView *view, const UIAttributes &attributes, const IUIDescription *description) override |
|
IController * | createSubController (UTF8StringPtr name, const IUIDescription *description) override |
|
bool | beforeSizeChange (const CRect &newSize, const CRect &oldSize) override |
|
Steinberg::tresult PLUGIN_API | onSize (Steinberg::ViewRect *newSize) override |
|
Steinberg::tresult PLUGIN_API | canResize () override |
|
Steinberg::tresult PLUGIN_API | checkSizeConstraint (Steinberg::ViewRect *rect) override |
|
Steinberg::tresult PLUGIN_API | findParameter (Steinberg::int32 xPos, Steinberg::int32 yPos, Steinberg::Vst::ParamID &resultTag) override |
|
virtual void | valueChanged (CControl *pControl) override |
|
virtual void | controlBeginEdit (CControl *pControl) override |
|
virtual void | controlEndEdit (CControl *pControl) override |
|
virtual void | controlTagWillChange (CControl *pControl) override |
|
virtual void | controlTagDidChange (CControl *pControl) override |
|
void | onViewAdded (CFrame *frame, CView *view) override |
|
void | onViewRemoved (CFrame *frame, CView *view) override |
|
void | onMouseEntered (CView *view, CFrame *frame) override |
|
void | onMouseExited (CView *view, CFrame *frame) override |
|
void | onMouseEvent (MouseEvent &event, CFrame *frame) override |
|
bool | validateCommandMenuItem (CCommandMenuItem *item) override |
| called before the item is shown to validate its state More...
|
|
bool | onCommandMenuItemSelected (CCommandMenuItem *item) override |
| called when the item was selected More...
|
|
VST3 Editor with automatic parameter binding.
The VST3Editor class represents the view for a VST3 plug-in. It automatically binds the VST3 parameters to VSTGUI control tags and it includes an inline UI editor for rapid development.
Setup
Add the following code to your Steinberg::Vst::EditController class:
IPlugView* PLUGIN_API MyEditController::createView (FIDString name)
{
if (strcmp (name, ViewType::kEditor) == 0)
{
return new VST3Editor (
this,
"view",
"myEditor.uidesc");
}
return 0;
}
VST3Editor(Steinberg::Vst::EditController *controller, UTF8StringPtr templateName, UTF8StringPtr xmlFile)
Definition: vst3editor.cpp:408
To activate the inline editor you need to define the preprocessor definition "VSTGUI_LIVE_EDITING=1". Rebuild your plug-in, start your prefered host, instanciate your plug-in, open the context menu inside your editor and choose "Enable Editing". Now you can define tags, colors, fonts, bitmaps and add views to your editor.
See Inline UI Editor for VST3 (WYSIWYG)