|
| VST3Editor (Steinberg::Vst::EditController *controller, UTF8StringPtr templateName, UTF8StringPtr xmlFile) |
|
| VST3Editor (UIDescription *desc, Steinberg::Vst::EditController *controller, UTF8StringPtr templateName, UTF8StringPtr xmlFile=0) |
|
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) |
|
Steinberg::tresult PLUGIN_API | queryInterface (const ::Steinberg::TUID iid, void **obj) |
|
virtual int32_t | getTagForName (UTF8StringPtr name, int32_t registeredTag) const |
|
virtual IControlListener * | getControlListener (UTF8StringPtr controlTagName) |
|
virtual | ~IControlListener () |
|
virtual int32_t | controlModifierClicked (CControl *pControl, CButtonState button) |
| return 1 if you want the control to not handle it, otherwise 0 More...
|
|
virtual | ~IViewAddedRemovedObserver () |
|
virtual | ~IMouseObserver () |
|
virtual | ~IKeyboardHook () |
|
|
| ~VST3Editor () |
|
void | init () |
|
double | getAbsScaleFactor () const |
|
ParameterChangeListener * | getParameterChangeListener (int32_t tag) const |
|
void | recreateView () |
|
void | syncParameterTags () |
|
void | save (bool saveAs=false) |
|
bool | enableEditing (bool state) |
|
bool PLUGIN_API | open (void *parent, const PlatformType &type) |
|
void PLUGIN_API | close () |
|
void | beginEdit (int32_t index) |
|
void | endEdit (int32_t index) |
|
CView * | createView (const UIAttributes &attributes, const IUIDescription *description) |
|
CView * | verifyView (CView *view, const UIAttributes &attributes, const IUIDescription *description) |
|
IController * | createSubController (UTF8StringPtr name, const IUIDescription *description) |
|
CMessageResult | notify (CBaseObject *sender, IdStringPtr message) |
|
bool | beforeSizeChange (const CRect &newSize, const CRect &oldSize) |
|
Steinberg::tresult PLUGIN_API | onSize (Steinberg::ViewRect *newSize) |
|
Steinberg::tresult PLUGIN_API | canResize () |
|
Steinberg::tresult PLUGIN_API | checkSizeConstraint (Steinberg::ViewRect *rect) |
|
Steinberg::tresult PLUGIN_API | findParameter (Steinberg::int32 xPos, Steinberg::int32 yPos, Steinberg::Vst::ParamID &resultTag) |
|
virtual void | valueChanged (CControl *pControl) |
|
virtual void | controlBeginEdit (CControl *pControl) |
|
virtual void | controlEndEdit (CControl *pControl) |
|
virtual void | controlTagWillChange (CControl *pControl) |
|
virtual void | controlTagDidChange (CControl *pControl) |
|
void | onViewAdded (CFrame *frame, CView *view) |
|
void | onViewRemoved (CFrame *frame, CView *view) |
|
void | onMouseEntered (CView *view, CFrame *frame) |
|
void | onMouseExited (CView *view, CFrame *frame) |
|
CMouseEventResult | onMouseMoved (CFrame *frame, const CPoint &where, const CButtonState &buttons) |
| a mouse move event happend on the frame at position where. If the observer handles this, the event won't be propagated further More...
|
|
CMouseEventResult | onMouseDown (CFrame *frame, const CPoint &where, const CButtonState &buttons) |
| a mouse down event happend on the frame at position where. If the observer handles this, the event won't be propagated further More...
|
|
int32_t | onKeyDown (const VstKeyCode &code, CFrame *frame) |
| should return 1 if no further key down processing should apply, otherwise -1 More...
|
|
int32_t | onKeyUp (const VstKeyCode &code, CFrame *frame) |
| should return 1 if no further key up processing should apply, otherwise -1 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;
}
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 Editing for VST3 (WYSIWYG)