JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
Steinberg::Vst::EditController Class Reference

Default implementation for a VST 3 edit controller. More...

#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

tresult PLUGIN_API setComponentState (IBStream *state) SMTG_OVERRIDE
 Receives the component state.
 
tresult PLUGIN_API setState (IBStream *state) SMTG_OVERRIDE
 Sets the controller state.
 
tresult PLUGIN_API getState (IBStream *state) SMTG_OVERRIDE
 Gets the controller state.
 
int32 PLUGIN_API getParameterCount () SMTG_OVERRIDE
 Returns the number of parameters exported.
 
tresult PLUGIN_API getParameterInfo (int32 paramIndex, ParameterInfo &info) SMTG_OVERRIDE
 Gets for a given index the parameter information.
 
tresult PLUGIN_API getParamStringByValue (ParamID tag, ParamValue valueNormalized, String128 string) SMTG_OVERRIDE
 Gets for a given paramID and normalized value its associated string representation.
 
tresult PLUGIN_API getParamValueByString (ParamID tag, TChar *string, ParamValue &valueNormalized) SMTG_OVERRIDE
 Gets for a given paramID and string its normalized value.
 
ParamValue PLUGIN_API normalizedParamToPlain (ParamID tag, ParamValue valueNormalized) SMTG_OVERRIDE
 Returns for a given paramID and a normalized value its plain representation (for example -6 for -6dB - see vst3AutomationIntro).
 
ParamValue PLUGIN_API plainParamToNormalized (ParamID tag, ParamValue plainValue) SMTG_OVERRIDE
 Returns for a given paramID and a plain value its normalized value.
 
ParamValue PLUGIN_API getParamNormalized (ParamID tag) SMTG_OVERRIDE
 Returns the normalized value of the parameter associated to the paramID.
 
tresult PLUGIN_API setParamNormalized (ParamID tag, ParamValue value) SMTG_OVERRIDE
 Sets the normalized value to the parameter associated to the paramID.
 
tresult PLUGIN_API setComponentHandler (IComponentHandler *handler) SMTG_OVERRIDE
 Gets from host a handler which allows the Plugin-in to communicate with the host.
 
IPlugView *PLUGIN_API createView (FIDString) SMTG_OVERRIDE
 Creates the editor view of the plug-in, currently only "editor" is supported, see ViewType.
 
tresult PLUGIN_API setKnobMode (KnobMode mode) SMTG_OVERRIDE
 Host could set the Knob Mode for the plug-in.
 
tresult PLUGIN_API openHelp (TBool) SMTG_OVERRIDE
 Host could ask to open the plug-in help (could be: opening a PDF document or link to a web page).
 
tresult PLUGIN_API openAboutBox (TBool) SMTG_OVERRIDE
 Host could ask to open the plug-in about box.
 
tresult PLUGIN_API initialize (FUnknown *context) SMTG_OVERRIDE
 The host passes a number of interfaces as context to initialize the plug-in class.
 
tresult PLUGIN_API terminate () SMTG_OVERRIDE
 This function is called before the plug-in is unloaded and can be used for cleanups.
 
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)
 Gets for a given tag the parameter object.
 
virtual tresult getParameterInfoByTag (ParamID tag, ParameterInfo &info)
 Gets for a given tag the parameter information.
 
virtual tresult setDirty (TBool state)
 Calls IComponentHandler2::setDirty (state) if host supports it.
 
virtual tresult requestOpenEditor (FIDString name=ViewType::kEditor)
 Calls IComponentHandler2::requestOpenEditor (name) if host supports it.
 
IComponentHandlergetComponentHandler () const
 
- Public Member Functions inherited from Steinberg::Vst::ComponentBase
FUnknowngetHostContext () const
 Returns the hostContext (set by the host during initialize call).
 
IConnectionPointgetPeer () const
 Returns the peer for the messaging communication (you can only use IConnectionPoint::notify for communicate between peers, do not try to cast peerConnection.
 
IMessageallocateMessage () const
 Allocates a message instance (do not forget to release it).
 
tresult sendMessage (IMessage *message) const
 Sends the given message to the peer.
 
tresult sendTextMessage (const char8 *text) const
 Sends a simple text message to the peer (max 255 characters).
 
tresult sendMessageID (const char8 *messageID) const
 Sends a message with a given ID without any other payload.
 
virtual tresult receiveText (const char8 *text)
 Receives a simple text message from the peer (max 255 characters).
 
tresult PLUGIN_API connect (IConnectionPoint *other) SMTG_OVERRIDE
 Connects this instance with another connection point.
 
tresult PLUGIN_API disconnect (IConnectionPoint *other) SMTG_OVERRIDE
 Disconnects a given connection point from this.
 
tresult PLUGIN_API notify (IMessage *message) SMTG_OVERRIDE
 Called when a message has been sent from the connection point to this.
 
- Public Member Functions inherited from Steinberg::FObject
 FObject ()=default
 default constructor...
 
 FObject (const FObject &)
 
FObjectoperator= (const FObject &)
 overloads operator "=" as the reference assignment
 
virtual ~FObject ()
 destructor...
 
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

IPtr< IComponentHandlercomponentHandler
 
IPtr< 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
 
- Static Protected Attributes inherited from Steinberg::FObject
static IUpdateHandlergUpdateHandler
 

Additional Inherited Members

- Public Types inherited from Steinberg::IDependent
enum  ChangeMessage {
  kWillChange , kChanged , kDestroyed , kWillDestroy ,
  kStdChangeMessageLast
}
 
- Static Public Attributes inherited from Steinberg::FObject
static const FUID iid
 Special UID that is used to cast an FUnknown pointer to a FObject.
 
- 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

Definition at line 61 of file vsteditcontroller.h.

Constructor & Destructor Documentation

◆ EditController()

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

Definition at line 51 of file vsteditcontroller.cpp.

Member Function Documentation

◆ beginEdit()

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

to be called before a serie of performEdit

Definition at line 195 of file vsteditcontroller.cpp.

◆ createView()

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

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.

Definition at line 80 of file vsteditcontroller.h.

◆ editorAttached()

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

called from EditorView if it was attached to a parent

Definition at line 99 of file vsteditcontroller.h.

◆ editorDestroyed()

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

called from EditorView if it was destroyed

Definition at line 98 of file vsteditcontroller.h.

◆ editorRemoved()

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

called from EditorView if it was removed from a parent

Definition at line 100 of file vsteditcontroller.h.

◆ endEdit()

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

to be called after a serie of performEdit

Definition at line 215 of file vsteditcontroller.cpp.

◆ finishGroupEdit()

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

calls IComponentHandler2::finishGroupEdit() if host supports it

Definition at line 235 of file vsteditcontroller.cpp.

◆ getComponentHandler()

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

Definition at line 117 of file vsteditcontroller.h.

◆ getHostKnobMode()

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

return host knob mode

Definition at line 102 of file vsteditcontroller.h.

◆ getParameterCount()

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

Returns the number of parameters exported.

Implements Steinberg::Vst::IEditController.

Definition at line 91 of file vsteditcontroller.cpp.

◆ 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.

Definition at line 97 of file vsteditcontroller.cpp.

◆ getParameterInfoByTag()

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

Gets for a given tag the parameter information.

Definition at line 245 of file vsteditcontroller.cpp.

◆ getParameterObject()

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

Gets for a given tag the parameter object.

Definition at line 105 of file vsteditcontroller.h.

◆ 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.

Definition at line 155 of file vsteditcontroller.cpp.

◆ 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.

Definition at line 108 of file vsteditcontroller.cpp.

◆ 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.

Definition at line 120 of file vsteditcontroller.cpp.

◆ getState()

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

Gets the controller state.

Implements Steinberg::Vst::IEditController.

Definition at line 85 of file vsteditcontroller.cpp.

◆ 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.

Parameters
context,passedby the host, is mandatory and should implement IHostApplication
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.

Definition at line 56 of file vsteditcontroller.cpp.

◆ 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.

Definition at line 134 of file vsteditcontroller.cpp.

◆ openAboutBox()

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

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.

Definition at line 85 of file vsteditcontroller.h.

◆ openHelp()

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

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.

Definition at line 84 of file vsteditcontroller.h.

◆ performEdit()

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

will inform the host about the value change

Definition at line 205 of file vsteditcontroller.cpp.

◆ 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.

Definition at line 145 of file vsteditcontroller.cpp.

◆ requestOpenEditor()

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

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

Definition at line 266 of file vsteditcontroller.cpp.

◆ 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.

Definition at line 176 of file vsteditcontroller.cpp.

◆ setComponentState()

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

Receives the component state.

Implements Steinberg::Vst::IEditController.

Definition at line 73 of file vsteditcontroller.cpp.

◆ setDirty()

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

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

Definition at line 256 of file vsteditcontroller.cpp.

◆ setKnobMode()

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

Host could set the Knob Mode for the plug-in.

Return kResultFalse means not supported mode.

See also
KnobModes.

Implements Steinberg::Vst::IEditController2.

Definition at line 83 of file vsteditcontroller.h.

◆ 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.

Definition at line 165 of file vsteditcontroller.cpp.

◆ setState()

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

Sets the controller state.

Implements Steinberg::Vst::IEditController.

Definition at line 79 of file vsteditcontroller.cpp.

◆ startGroupEdit()

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

calls IComponentHandler2::startGroupEdit() if host supports it

Definition at line 225 of file vsteditcontroller.cpp.

◆ 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.

Definition at line 62 of file vsteditcontroller.cpp.

Member Data Documentation

◆ componentHandler

IPtr<IComponentHandler> Steinberg::Vst::EditController::componentHandler
protected

Definition at line 128 of file vsteditcontroller.h.

◆ componentHandler2

IPtr<IComponentHandler2> Steinberg::Vst::EditController::componentHandler2
protected

Definition at line 129 of file vsteditcontroller.h.

◆ hostKnobMode

KnobMode Steinberg::Vst::EditController::hostKnobMode
staticprotected

Definition at line 133 of file vsteditcontroller.h.

◆ parameters

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

Definition at line 131 of file vsteditcontroller.h.


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