LMMS
Loading...
Searching...
No Matches
Steinberg::Vst::EditController Class Reference

#include <vsteditcontroller.h>

Inheritance diagram for Steinberg::Vst::EditController:
Steinberg::Vst::ComponentBase Steinberg::Vst::IEditController Steinberg::Vst::IEditController2 Steinberg::FObject Steinberg::IPluginBase Steinberg::Vst::IConnectionPoint Steinberg::IPluginBase Steinberg::FUnknown Steinberg::IDependent Steinberg::FUnknown Steinberg::FUnknown Steinberg::FUnknown Steinberg::FUnknown Steinberg::Vst::EditControllerEx1

Public Member Functions

 EditController ()
tresult PLUGIN_API setComponentState (IBStream *state) SMTG_OVERRIDE
tresult PLUGIN_API setState (IBStream *state) SMTG_OVERRIDE
tresult PLUGIN_API getState (IBStream *state) SMTG_OVERRIDE
int32 PLUGIN_API getParameterCount () SMTG_OVERRIDE
tresult PLUGIN_API getParameterInfo (int32 paramIndex, ParameterInfo &info) SMTG_OVERRIDE
tresult PLUGIN_API getParamStringByValue (ParamID tag, ParamValue valueNormalized, String128 string) SMTG_OVERRIDE
tresult PLUGIN_API getParamValueByString (ParamID tag, TChar *string, ParamValue &valueNormalized) SMTG_OVERRIDE
ParamValue PLUGIN_API normalizedParamToPlain (ParamID tag, ParamValue valueNormalized) SMTG_OVERRIDE
ParamValue PLUGIN_API plainParamToNormalized (ParamID tag, ParamValue plainValue) SMTG_OVERRIDE
ParamValue PLUGIN_API getParamNormalized (ParamID tag) SMTG_OVERRIDE
tresult PLUGIN_API setParamNormalized (ParamID tag, ParamValue value) SMTG_OVERRIDE
tresult PLUGIN_API setComponentHandler (IComponentHandler *handler) SMTG_OVERRIDE
IPlugView *PLUGIN_API createView (FIDString) SMTG_OVERRIDE
tresult PLUGIN_API setKnobMode (KnobMode mode) SMTG_OVERRIDE
tresult PLUGIN_API openHelp (TBool) SMTG_OVERRIDE
tresult PLUGIN_API openAboutBox (TBool) SMTG_OVERRIDE
tresult PLUGIN_API initialize (FUnknown *context) SMTG_OVERRIDE
tresult PLUGIN_API terminate () SMTG_OVERRIDE
virtual tresult beginEdit (ParamID tag)
 to be called before a serie of performEdit
virtual tresult performEdit (ParamID tag, ParamValue valueNormalized)
 will inform the host about the value change
virtual tresult endEdit (ParamID tag)
 to be called after a serie of performEdit
virtual tresult startGroupEdit ()
 calls IComponentHandler2::startGroupEdit() if host supports it
virtual tresult finishGroupEdit ()
 calls IComponentHandler2::finishGroupEdit() if host supports it
virtual void editorDestroyed (EditorView *)
 called from EditorView if it was destroyed
virtual void editorAttached (EditorView *)
 called from EditorView if it was attached to a parent
virtual void editorRemoved (EditorView *)
 called from EditorView if it was removed from a parent
virtual ParametergetParameterObject (ParamID tag)
virtual tresult getParameterInfoByTag (ParamID tag, ParameterInfo &info)
virtual tresult setDirty (TBool state)
virtual tresult requestOpenEditor (FIDString name=ViewType::kEditor)
IComponentHandlergetComponentHandler () const
Public Member Functions inherited from Steinberg::Vst::ComponentBase
 ComponentBase ()
 ~ComponentBase () override
FUnknowngetHostContext () const
IConnectionPointgetPeer () const
IMessageallocateMessage () const
tresult sendMessage (IMessage *message) const
tresult sendTextMessage (const char8 *text) const
tresult sendMessageID (const char8 *messageID) const
virtual tresult receiveText (const char8 *text)
tresult PLUGIN_API connect (IConnectionPoint *other) SMTG_OVERRIDE
tresult PLUGIN_API disconnect (IConnectionPoint *other) SMTG_OVERRIDE
tresult PLUGIN_API notify (IMessage *message) SMTG_OVERRIDE
Public Member Functions inherited from Steinberg::FObject
 FObject ()
 default constructor...
 FObject (const FObject &)
 overloaded constructor...
virtual ~FObject ()
 destructor...
FObjectoperator= (const FObject &)
 overloads operator "=" as the reference assignment
virtual FClassID isA () const
 a local alternative to getFClassID ()
virtual bool isA (FClassID s) const
 evaluates if the passed ID is of the FObject type
virtual bool isTypeOf (FClassID s, bool=true) const
 evaluates if the passed ID is of the FObject type
int32 getRefCount ()
 returns the current interface reference count
FUnknownunknownCast ()
 get FUnknown interface from object
tresult PLUGIN_API queryInterface (const TUID _iid, void **obj) SMTG_OVERRIDE
 please refer to FUnknown::queryInterface ()
uint32 PLUGIN_API addRef () SMTG_OVERRIDE
 please refer to FUnknown::addref ()
uint32 PLUGIN_API release () SMTG_OVERRIDE
 please refer to FUnknown::release ()
void PLUGIN_API update (FUnknown *, int32) SMTG_OVERRIDE
 empty virtual method that should be overridden by derived classes for data updates upon changes
virtual void addDependent (IDependent *dep)
 adds dependency to the object
virtual void removeDependent (IDependent *dep)
 removes dependency from the object
virtual void changed (int32 msg=kChanged)
 Inform all dependents, that the object has changed.
virtual void deferUpdate (int32 msg=kChanged)
 Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates).
virtual void updateDone (int32)
 empty virtual method that should be overridden by derived classes
virtual bool isEqualInstance (FUnknown *d)

Static Public Member Functions

static KnobMode getHostKnobMode ()
 return host knob mode
Static Public Member Functions inherited from Steinberg::FObject
static FClassID getFClassID ()
 return Class ID as an ASCII string (statically)
static void setUpdateHandler (IUpdateHandler *handler)
 set method for the local attribute
static IUpdateHandlergetUpdateHandler ()
 get method for the local attribute
static bool classIDsEqual (FClassID ci1, FClassID ci2)
 compares (evaluates) 2 class IDs
static FObjectunknownToObject (FUnknown *unknown)
 pointer conversion from FUnknown to FObject

Protected Attributes

IComponentHandlercomponentHandler
IComponentHandler2componentHandler2
ParameterContainer parameters
Protected Attributes inherited from Steinberg::Vst::ComponentBase
IPtr< FUnknownhostContext
IPtr< IConnectionPointpeerConnection
Protected Attributes inherited from Steinberg::FObject
int32 refCount
 COM-model local reference count.

Static Protected Attributes

static KnobMode hostKnobMode = kCircularMode
Static Protected Attributes inherited from Steinberg::FObject
static IUpdateHandlergUpdateHandler = nullptr

Additional Inherited Members

Public Types inherited from Steinberg::IDependent
enum  ChangeMessage {
  kWillChange , kChanged , kDestroyed , kWillDestroy ,
  kStdChangeMessageLast = kWillDestroy
}
Static Public Attributes inherited from Steinberg::FObject
static const FUID iid
Static Public Attributes inherited from Steinberg::IDependent
static const FUID iid
Static Public Attributes inherited from Steinberg::FUnknown
static const FUID iid
Static Public Attributes inherited from Steinberg::IPluginBase
static const FUID iid
Static Public Attributes inherited from Steinberg::Vst::IConnectionPoint
static const FUID iid
Static Public Attributes inherited from Steinberg::Vst::IEditController
static const FUID iid
Static Public Attributes inherited from Steinberg::Vst::IEditController2
static const FUID iid

Detailed Description

Default implementation for a VST 3 edit controller.

Can be used as base class for a specific controller implementation

Constructor & Destructor Documentation

◆ EditController()

Steinberg::Vst::EditController::EditController ( )

Member Function Documentation

◆ beginEdit()

tresult Steinberg::Vst::EditController::beginEdit ( ParamID tag)
virtual

to be called before a serie of performEdit

◆ createView()

IPlugView *PLUGIN_API Steinberg::Vst::EditController::createView ( FIDString name)
inlinevirtual

Creates the editor view of the plug-in, currently only "editor" is supported, see ViewType. The life time of the editor view will never exceed the life time of this controller instance.

Implements Steinberg::Vst::IEditController.

◆ editorAttached()

virtual void Steinberg::Vst::EditController::editorAttached ( EditorView * )
inlinevirtual

called from EditorView if it was attached to a parent

◆ editorDestroyed()

virtual void Steinberg::Vst::EditController::editorDestroyed ( EditorView * )
inlinevirtual

called from EditorView if it was destroyed

◆ editorRemoved()

virtual void Steinberg::Vst::EditController::editorRemoved ( EditorView * )
inlinevirtual

called from EditorView if it was removed from a parent

◆ endEdit()

tresult Steinberg::Vst::EditController::endEdit ( ParamID tag)
virtual

to be called after a serie of performEdit

◆ finishGroupEdit()

tresult Steinberg::Vst::EditController::finishGroupEdit ( )
virtual

calls IComponentHandler2::finishGroupEdit() if host supports it

◆ getComponentHandler()

IComponentHandler * Steinberg::Vst::EditController::getComponentHandler ( ) const
inline

◆ getHostKnobMode()

KnobMode Steinberg::Vst::EditController::getHostKnobMode ( )
inlinestatic

return host knob mode

◆ getParameterCount()

int32 PLUGIN_API Steinberg::Vst::EditController::getParameterCount ( )
virtual

Returns the number of parameters exported.

Implements Steinberg::Vst::IEditController.

◆ getParameterInfo()

tresult PLUGIN_API Steinberg::Vst::EditController::getParameterInfo ( int32 paramIndex,
ParameterInfo & info )
virtual

Gets for a given index the parameter information.

Implements Steinberg::Vst::IEditController.

◆ getParameterInfoByTag()

tresult Steinberg::Vst::EditController::getParameterInfoByTag ( ParamID tag,
ParameterInfo & info )
virtual

Gets for a given tag the parameter information.

◆ getParameterObject()

virtual Parameter * Steinberg::Vst::EditController::getParameterObject ( ParamID tag)
inlinevirtual

Gets for a given tag the parameter object.

◆ getParamNormalized()

ParamValue PLUGIN_API Steinberg::Vst::EditController::getParamNormalized ( ParamID id)
virtual

Returns the normalized value of the parameter associated to the paramID.

Implements Steinberg::Vst::IEditController.

◆ getParamStringByValue()

tresult PLUGIN_API Steinberg::Vst::EditController::getParamStringByValue ( ParamID id,
ParamValue valueNormalized,
String128 string )
virtual

Gets for a given paramID and normalized value its associated string representation.

Implements Steinberg::Vst::IEditController.

◆ getParamValueByString()

tresult PLUGIN_API Steinberg::Vst::EditController::getParamValueByString ( ParamID id,
TChar * string,
ParamValue & valueNormalized )
virtual

Gets for a given paramID and string its normalized value.

Implements Steinberg::Vst::IEditController.

◆ getState()

tresult PLUGIN_API Steinberg::Vst::EditController::getState ( IBStream * state)
virtual

Gets the controller state.

Implements Steinberg::Vst::IEditController.

◆ initialize()

tresult PLUGIN_API Steinberg::Vst::EditController::initialize ( FUnknown * context)
virtual

The host passes a number of interfaces as context to initialize the plug-in class.

Note
Extensive memory allocations etc. should be performed in this method rather than in the class' constructor! If the method does NOT return kResultOk, the object is released immediately. In this case terminate is not called!

Reimplemented from Steinberg::Vst::ComponentBase.

◆ normalizedParamToPlain()

ParamValue PLUGIN_API Steinberg::Vst::EditController::normalizedParamToPlain ( ParamID id,
ParamValue valueNormalized )
virtual

Returns for a given paramID and a normalized value its plain representation (for example -6 for -6dB - see vst3AutomationIntro).

Implements Steinberg::Vst::IEditController.

◆ openAboutBox()

tresult PLUGIN_API Steinberg::Vst::EditController::openAboutBox ( TBool onlyCheck)
inlinevirtual

Host could ask to open the plug-in about box. The host could call it with onlyCheck set to true for testing support of open AboutBox. Return kResultFalse means not supported function.

Implements Steinberg::Vst::IEditController2.

◆ openHelp()

tresult PLUGIN_API Steinberg::Vst::EditController::openHelp ( TBool onlyCheck)
inlinevirtual

Host could ask to open the plug-in help (could be: opening a PDF document or link to a web page). The host could call it with onlyCheck set to true for testing support of open Help. Return kResultFalse means not supported function.

Implements Steinberg::Vst::IEditController2.

◆ performEdit()

tresult Steinberg::Vst::EditController::performEdit ( ParamID tag,
ParamValue valueNormalized )
virtual

will inform the host about the value change

◆ plainParamToNormalized()

ParamValue PLUGIN_API Steinberg::Vst::EditController::plainParamToNormalized ( ParamID id,
ParamValue plainValue )
virtual

Returns for a given paramID and a plain value its normalized value. (see vst3AutomationIntro)

Implements Steinberg::Vst::IEditController.

◆ requestOpenEditor()

tresult Steinberg::Vst::EditController::requestOpenEditor ( FIDString name = ViewType::kEditor)
virtual

Calls IComponentHandler2::requestOpenEditor (name) if host supports it.

◆ setComponentHandler()

tresult PLUGIN_API Steinberg::Vst::EditController::setComponentHandler ( IComponentHandler * handler)
virtual

Gets from host a handler which allows the Plugin-in to communicate with the host. Note: This is mandatory if the host is using the IEditController!

Implements Steinberg::Vst::IEditController.

◆ setComponentState()

tresult PLUGIN_API Steinberg::Vst::EditController::setComponentState ( IBStream * state)
virtual

Receives the component state.

Implements Steinberg::Vst::IEditController.

◆ setDirty()

tresult Steinberg::Vst::EditController::setDirty ( TBool state)
virtual

Calls IComponentHandler2::setDirty (state) if host supports it.

◆ setKnobMode()

tresult PLUGIN_API Steinberg::Vst::EditController::setKnobMode ( KnobMode mode)
inlinevirtual

Host could set the Knob Mode for the plug-in. Return kResultFalse means not supported mode.

See also
KnobModes.

Implements Steinberg::Vst::IEditController2.

◆ setParamNormalized()

tresult PLUGIN_API Steinberg::Vst::EditController::setParamNormalized ( ParamID id,
ParamValue value )
virtual

Sets the normalized value to the parameter associated to the paramID. The controller must never pass this value-change back to the host via the IComponentHandler. It should update the according GUI element(s) only!

Implements Steinberg::Vst::IEditController.

◆ setState()

tresult PLUGIN_API Steinberg::Vst::EditController::setState ( IBStream * state)
virtual

Sets the controller state.

Implements Steinberg::Vst::IEditController.

◆ startGroupEdit()

tresult Steinberg::Vst::EditController::startGroupEdit ( )
virtual

calls IComponentHandler2::startGroupEdit() if host supports it

◆ terminate()

tresult PLUGIN_API Steinberg::Vst::EditController::terminate ( )
virtual

This function is called before the plug-in is unloaded and can be used for cleanups. You have to release all references to any host application interfaces.

Reimplemented from Steinberg::Vst::ComponentBase.

Reimplemented in Steinberg::Vst::EditControllerEx1.

Member Data Documentation

◆ componentHandler

IComponentHandler* Steinberg::Vst::EditController::componentHandler
protected

◆ componentHandler2

IComponentHandler2* Steinberg::Vst::EditController::componentHandler2
protected

◆ hostKnobMode

KnobMode Steinberg::Vst::EditController::hostKnobMode = kCircularMode
staticprotected

◆ parameters

ParameterContainer Steinberg::Vst::EditController::parameters
protected

The documentation for this class was generated from the following files: