VST 3 Examples: HostCheckerController Class Reference
Author: Steinberg

VST 3 Examples VST 3.8 SDK for developing VST plug-in

Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
HostCheckerController Class Reference

`#include <hostcheckercontroller.h>`

Inheritance diagram for HostCheckerController:

## Classes
struct | ScoreEntry

## Public Types
using | UTF8StringPtr = VSTGUI::UTF8StringPtr
using | IController = VSTGUI::IController
using | IUIDescription = VSTGUI::IUIDescription
using | VST3Editor = VSTGUI::VST3Editor
Public Types inherited from EditControllerEx1
typedef std::map< ProgramListID, ProgramListVector::size_type > | ProgramIndexMap
typedef std::vector< IPtr< Unit > > | UnitVector
Public Types inherited from IAutomationState
enum | AutomationStates

## Public Member Functions
| HostCheckerController ()
tresult | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
tresult | setComponentState (IBStream *state) SMTG_OVERRIDE
tresult | getUnitByBus (MediaType type, BusDirection dir, int32 busIndex, int32 channel, UnitID &unitId) SMTG_OVERRIDE
tresult | setComponentHandler (IComponentHandler *handler) SMTG_OVERRIDE
int32 | getUnitCount () SMTG_OVERRIDE
tresult | setParamNormalized (ParamID tag, ParamValue value) SMTG_OVERRIDE
tresult | beginEdit (ParamID tag) SMTG_OVERRIDE
tresult | endEdit (ParamID tag) SMTG_OVERRIDE
IPlugView * | createView (FIDString name) SMTG_OVERRIDE
tresult | notify (IMessage *message) SMTG_OVERRIDE
tresult | connect (IConnectionPoint *other) SMTG_OVERRIDE
VSTGUI::CView * | createCustomView (VSTGUI::UTF8StringPtr name, const VSTGUI::UIAttributes &attributes, const VSTGUI::IUIDescription *description, VSTGUI::VST3Editor *editor) SMTG_OVERRIDE
void | willClose (VSTGUI::VST3Editor *editor) SMTG_OVERRIDE
tresult | setKnobMode (KnobMode mode) SMTG_OVERRIDE
tresult | openHelp (TBool) SMTG_OVERRIDE
tresult | openAboutBox (TBool) SMTG_OVERRIDE
tresult | setState (IBStream *state) SMTG_OVERRIDE
tresult | getState (IBStream *state) SMTG_OVERRIDE
tresult | setChannelContextInfos (IAttributeList *list) SMTG_OVERRIDE
tresult | getXmlRepresentationStream (RepresentationInfo &info, IBStream *stream) SMTG_OVERRIDE
tresult | getMidiControllerAssignment (int32 busIndex, int16 channel, CtrlNumber midiControllerNumber, ParamID &id) SMTG_OVERRIDE
tresult | onLiveMIDIControllerInput (int32 busIndex, int16 channel, CtrlNumber midiCC) SMTG_OVERRIDE
int32 | getNoteExpressionCount (int32 busIndex, int16 channel) SMTG_OVERRIDE
tresult | getNoteExpressionInfo (int32 busIndex, int16 channel, int32 noteExpressionIndex, NoteExpressionTypeInfo &info) SMTG_OVERRIDE
tresult | getNoteExpressionStringByValue (int32 busIndex, int16 channel, NoteExpressionTypeID id, NoteExpressionValue valueNormalized, String128 string) SMTG_OVERRIDE
tresult | getNoteExpressionValueByString (int32 busIndex, int16 channel, NoteExpressionTypeID id, const TChar *string, NoteExpressionValue &valueNormalized) SMTG_OVERRIDE
tresult | getPhysicalUIMapping (int32 busIndex, int16 channel, PhysicalUIMapList &list) SMTG_OVERRIDE
int32 | getKeyswitchCount (int32 busIndex, int16 channel) SMTG_OVERRIDE
tresult | getKeyswitchInfo (int32 busIndex, int16 channel, int32 keySwitchIndex, KeyswitchInfo &info) SMTG_OVERRIDE
tresult | setAutomationState (int32 state) SMTG_OVERRIDE
tresult | beginEditFromHost (ParamID paramID) SMTG_OVERRIDE
tresult | endEditFromHost (ParamID paramID) SMTG_OVERRIDE
tresult | getParameterIDFromFunctionName (UnitID unitID, FIDString functionName, ParamID &paramID) SMTG_OVERRIDE
void | queueOpened (DataExchangeUserContextID userContextID, uint32 blockSize, TBool &dispatchOnBackgroundThread) override
void | queueClosed (DataExchangeUserContextID userContextID) override
void | onDataExchangeBlocksReceived (DataExchangeUserContextID userContextID, uint32 numBlocks, DataExchangeBlock *block, TBool onBackgroundThread) override
tresult | getCompatibleParamID (const TUID pluginToReplaceUID, Vst::ParamID oldParamID, Vst::ParamID &newParamID) override
void | editorAttached (EditorView *editor) SMTG_OVERRIDE
void | editorRemoved (EditorView *editor) SMTG_OVERRIDE
void | editorDestroyed (EditorView *editor) SMTG_OVERRIDE
IController * | createSubController (UTF8StringPtr name, const IUIDescription *description, VST3Editor *editor) override
tresult | queryInterface (const Steinberg::TUID iid, void **obj) override
| REFCOUNT_METHODS (EditControllerEx1) static FUnknown *createInstance(void *)
void | addFeatureLog (int64 iD, int32 count=1, bool addToLastCount=true)
bool | getSavedSize (ViewRect &size) const
Public Member Functions inherited from EditControllerEx1
| EditControllerEx1 ()
| ~EditControllerEx1 () override
bool | addUnit (Unit *unit)
bool | addProgramList (ProgramList *list)
ProgramList * | getProgramList (ProgramListID listId) const
tresult | notifyProgramListChange (ProgramListID listId, int32 programIndex=kAllProgramInvalid)
tresult | getUnitInfo (int32 unitIndex, UnitInfo &info) SMTG_OVERRIDE
int32 | getProgramListCount () SMTG_OVERRIDE
tresult | getProgramListInfo (int32 listIndex, ProgramListInfo &info) SMTG_OVERRIDE
tresult | getProgramName (ProgramListID listId, int32 programIndex, String128 name) SMTG_OVERRIDE
tresult | getProgramInfo (ProgramListID listId, int32 programIndex, CString attributeId, String128 attributeValue) SMTG_OVERRIDE
tresult | hasProgramPitchNames (ProgramListID listId, int32 programIndex) SMTG_OVERRIDE
tresult | getProgramPitchName (ProgramListID listId, int32 programIndex, int16 midiPitch, String128 name) SMTG_OVERRIDE
virtual tresult | setProgramName (ProgramListID listId, int32 programIndex, const String128 name)
UnitID | getSelectedUnit () SMTG_OVERRIDE
tresult | selectUnit (UnitID unitId) SMTG_OVERRIDE
tresult | setUnitProgramData (int32, int32, IBStream *) SMTG_OVERRIDE
virtual tresult | notifyUnitSelection ()
void | update (FUnknown *changedUnknown, int32 message) SMTG_OVERRIDE
Public Member Functions inherited from EditController
| EditController ()
int32 | getParameterCount () SMTG_OVERRIDE
tresult | getParameterInfo (int32 paramIndex, ParameterInfo &info) SMTG_OVERRIDE
tresult | getParamStringByValue (ParamID tag, ParamValue valueNormalized, String128 string) SMTG_OVERRIDE
tresult | getParamValueByString (ParamID tag, TChar *string, ParamValue &valueNormalized) SMTG_OVERRIDE
ParamValue | normalizedParamToPlain (ParamID tag, ParamValue valueNormalized) SMTG_OVERRIDE
ParamValue | plainParamToNormalized (ParamID tag, ParamValue plainValue) SMTG_OVERRIDE
ParamValue | getParamNormalized (ParamID tag) SMTG_OVERRIDE
virtual tresult | performEdit (ParamID tag, ParamValue valueNormalized)
virtual tresult | startGroupEdit ()
virtual tresult | finishGroupEdit ()
virtual Parameter * | getParameterObject (ParamID tag)
virtual tresult | getParameterInfoByTag (ParamID tag, ParameterInfo &info)
virtual tresult | setDirty (TBool state)
virtual tresult | requestOpenEditor (FIDString name=ViewType::kEditor)
IComponentHandler * | getComponentHandler () const
Public Member Functions inherited from ComponentBase
| ComponentBase ()
| ~ComponentBase () override
FUnknown * | getHostContext () const
IConnectionPoint * | getPeer () const
IMessage * | allocateMessage () 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 | disconnect (IConnectionPoint *other) SMTG_OVERRIDE
Public Member Functions inherited from FUnknown
virtual uint32 | addRef ()=0
virtual uint32 | release ()=0

## Protected Types
using | EditorVector = std::vector<Steinberg::Vst::EditorView*>
using | EditorMap = std::map<Steinberg::Vst::EditorView*, EditorSizeController*>
using | EditFromHostMap = std::map<Steinberg::Vst::ParamID, int32>
using | ScoreMap = std::map<int64, ScoreEntry>

## Protected Member Functions
void | extractCurrentInfo (EditorView *editor)
float | updateScoring (int64 iD)
void | onProgressTimer (VSTGUI::CVSTGUITimer *)

## Protected Attributes
std::map< VSTGUI::VST3Editor *, VSTGUI::SharedPointer< VSTGUI::CDataBrowser > > | mDataBrowserMap
VSTGUI::SharedPointer< VSTGUI::EventLogDataBrowserSource > | mDataSource
bool | mLatencyInEdit {false}
ParamValue | mWantedLatency {0.0}
EditorVector | editors
EditorMap | editorsSubCtlerMap
uint32 | width {0}
uint32 | height {0}
double | sizeFactor {0}
EditFromHostMap | mEditFromHost
std::unique_ptr< ThreadChecker > | threadChecker {ThreadChecker::create ()}
int32 | mNumKeyswitch {1}
DataExchangeReceiverHandler | dataExchange {this}
ScoreMap | mScoreMap
VSTGUI::CVSTGUITimer * | mProgressTimer {nullptr}
IProgress::ID | mProgressID
bool | mInProgress {false}

## Additional Inherited Members
Static Public Member Functions inherited from EditController
static KnobMode | getHostKnobMode ()
Public Attributes inherited from EditControllerEx1
UnitVector | units
ProgramListVector | programLists
ProgramIndexMap | programIndexMap
UnitID | selectedUnit
Public Attributes inherited from EditController
OBJ_METHODS(EditController, ComponentBase) DEFINE_INTERFACES DEF_INTERFACE(IEditController) DEF_INTERFACE(IEditController2) END_DEFINE_INTERFACES(ComponentBase) REFCOUNT_METHODS(ComponentBase) protected IPtr< IComponentHandler2 > | componentHandler2
ParameterContainer | parameters
Public Attributes inherited from ComponentBase
OBJ_METHODS(ComponentBase, FObject) DEFINE_INTERFACES DEF_INTERFACE(IPluginBase) DEF_INTERFACE(IConnectionPoint) END_DEFINE_INTERFACES(FObject) REFCOUNT_METHODS(FObject) protected IPtr< IConnectionPoint > | peerConnection
Public Attributes inherited from IAutomationState
| kNoAutomation
| kReadState
| kWriteState
| kReadWriteState
Static Public Attributes inherited from EditController
static KnobMode | hostKnobMode
Static Public Attributes inherited from IPluginBase
static const FUID | iid
Static Public Attributes inherited from FUnknown
static const FUID | iid
Static Public Attributes inherited from IConnectionPoint
static const FUID | iid
Static Public Attributes inherited from IEditController
static const FUID | iid
Static Public Attributes inherited from IEditController2
static const FUID | iid
Static Public Attributes inherited from IUnitInfo
static const FUID | iid
Static Public Attributes inherited from IInfoListener
static const FUID | iid
Static Public Attributes inherited from IXmlRepresentationController
static const FUID | iid
Static Public Attributes inherited from IAutomationState
static const FUID | iid
Static Public Attributes inherited from IEditControllerHostEditing
static const FUID | iid
Static Public Attributes inherited from IMidiMapping
static const FUID | iid
Static Public Attributes inherited from IMidiLearn
static const FUID | iid
Static Public Attributes inherited from INoteExpressionController
static const FUID | iid
Static Public Attributes inherited from INoteExpressionPhysicalUIMapping
static const FUID | iid
Static Public Attributes inherited from IKeyswitchController
static const FUID | iid
Static Public Attributes inherited from IParameterFunctionName
static const FUID | iid
Static Public Attributes inherited from IDataExchangeReceiver
static const FUID | iid
Static Public Attributes inherited from IRemapParamID
static const FUID | iid

## Member Typedef Documentation

## ◆ UTF8StringPtr

using UTF8StringPtr = VSTGUI::UTF8StringPtr

## ◆ IController

using IController = VSTGUI::IController

## ◆ IUIDescription

using IUIDescription = VSTGUI::IUIDescription

## ◆ VST3Editor

using VST3Editor = VSTGUI::VST3Editor

## ◆ EditorVector

using EditorVector = std::vector<Steinberg::Vst::EditorView*>
| protected

## ◆ EditorMap

using EditorMap = std::map<Steinberg::Vst::EditorView*, EditorSizeController*>
| protected

## ◆ EditFromHostMap

using EditFromHostMap = std::map<Steinberg::Vst::ParamID, int32>
| protected

## ◆ ScoreMap

using ScoreMap = std::map<int64, ScoreEntry>
| protected

## Constructor & Destructor Documentation

## ◆ HostCheckerController()

HostCheckerController | ( |  | ) |

## Member Function Documentation

## ◆ initialize()

tresult initialize | ( | FUnknown * | context | ) |
| virtual

Reimplemented from EditController.

## ◆ terminate()

tresult terminate | ( |  | ) |
| virtual

Reimplemented from EditControllerEx1.

## ◆ setComponentState()

tresult setComponentState | ( | IBStream * | state | ) |
| virtual

Reimplemented from EditController.

## ◆ getUnitByBus()

tresult getUnitByBus | ( | MediaType | type,
|  | BusDirection | dir,
|  | int32 | busIndex,
|  | int32 | channel,
|  | UnitID & | unitId )
| virtual

Reimplemented from EditControllerEx1.

## ◆ setComponentHandler()

tresult setComponentHandler | ( | IComponentHandler * | handler | ) |
| virtual

Reimplemented from EditController.

## ◆ getUnitCount()

int32 getUnitCount | ( |  | ) |
| virtual

Reimplemented from EditControllerEx1.

## ◆ setParamNormalized()

tresult setParamNormalized | ( | ParamID | tag,
|  | ParamValue | value )
| virtual

Reimplemented from EditController.

## ◆ beginEdit()

tresult beginEdit | ( | ParamID | tag | ) |
| virtual

Reimplemented from EditController.

## ◆ endEdit()

tresult endEdit | ( | ParamID | tag | ) |
| virtual

Reimplemented from EditController.

## ◆ createView()

IPlugView * createView | ( | FIDString | name | ) |
| virtual

Reimplemented from EditController.

## ◆ notify()

tresult notify | ( | IMessage * | message | ) |
| virtual

Reimplemented from ComponentBase.

## ◆ connect()

tresult connect | ( | IConnectionPoint * | other | ) |
| virtual

Reimplemented from ComponentBase.

## ◆ createCustomView()

CView * createCustomView | ( | VSTGUI::UTF8StringPtr | name,
|  | const VSTGUI::UIAttributes & | attributes,
|  | const VSTGUI::IUIDescription * | description,
|  | VSTGUI::VST3Editor * | editor )

## ◆ willClose()

void willClose | ( | VSTGUI::VST3Editor * | editor | ) |

## ◆ setKnobMode()

tresult setKnobMode | ( | KnobMode | mode | ) |
| virtual

Reimplemented from EditController.

## ◆ openHelp()

tresult openHelp | ( | TBool | onlyCheck | ) |
| virtual

Reimplemented from EditController.

## ◆ openAboutBox()

tresult openAboutBox | ( | TBool | onlyCheck | ) |
| virtual

Reimplemented from EditController.

## ◆ setState()

tresult setState | ( | IBStream * | state | ) |
| virtual

Reimplemented from EditController.

## ◆ getState()

tresult getState | ( | IBStream * | state | ) |
| virtual

Reimplemented from EditController.

## ◆ setChannelContextInfos()

tresult setChannelContextInfos | ( | IAttributeList * | list | ) |
| virtual

Implements IInfoListener.

## ◆ getXmlRepresentationStream()

tresult getXmlRepresentationStream | ( | RepresentationInfo & | info,
|  | IBStream * | stream )
| virtual

Implements IXmlRepresentationController.

## ◆ getMidiControllerAssignment()

tresult getMidiControllerAssignment | ( | int32 | busIndex,
|  | int16 | channel,
|  | CtrlNumber | midiControllerNumber,
|  | ParamID & | id )
| virtual

Implements IMidiMapping.

## ◆ onLiveMIDIControllerInput()

tresult onLiveMIDIControllerInput | ( | int32 | busIndex,
|  | int16 | channel,
|  | CtrlNumber | midiCC )
| virtual

Implements IMidiLearn.

## ◆ getNoteExpressionCount()

int32 getNoteExpressionCount | ( | int32 | busIndex,
|  | int16 | channel )
| virtual

Implements INoteExpressionController.

## ◆ getNoteExpressionInfo()

tresult getNoteExpressionInfo | ( | int32 | busIndex,
|  | int16 | channel,
|  | int32 | noteExpressionIndex,
|  | NoteExpressionTypeInfo & | info )
| virtual

Implements INoteExpressionController.

## ◆ getNoteExpressionStringByValue()

tresult getNoteExpressionStringByValue | ( | int32 | busIndex,
|  | int16 | channel,
|  | NoteExpressionTypeID | id,
|  | NoteExpressionValue | valueNormalized,
|  | String128 | string )
| virtual

Implements INoteExpressionController.

## ◆ getNoteExpressionValueByString()

tresult getNoteExpressionValueByString | ( | int32 | busIndex,
|  | int16 | channel,
|  | NoteExpressionTypeID | id,
|  | const TChar * | string,
|  | NoteExpressionValue & | valueNormalized )
| virtual

Implements INoteExpressionController.

## ◆ getPhysicalUIMapping()

tresult getPhysicalUIMapping | ( | int32 | busIndex,
|  | int16 | channel,
|  | PhysicalUIMapList & | list )
| virtual

Implements INoteExpressionPhysicalUIMapping.

## ◆ getKeyswitchCount()

int32 getKeyswitchCount | ( | int32 | busIndex,
|  | int16 | channel )
| virtual

Implements IKeyswitchController.

## ◆ getKeyswitchInfo()

tresult getKeyswitchInfo | ( | int32 | busIndex,
|  | int16 | channel,
|  | int32 | keySwitchIndex,
|  | KeyswitchInfo & | info )
| virtual

Implements IKeyswitchController.

## ◆ setAutomationState()

tresult setAutomationState | ( | int32 | state | ) |
| virtual

Implements IAutomationState.

## ◆ beginEditFromHost()

tresult beginEditFromHost | ( | ParamID | paramID | ) |
| virtual

Implements IEditControllerHostEditing.

## ◆ endEditFromHost()

tresult endEditFromHost | ( | ParamID | paramID | ) |
| virtual

Implements IEditControllerHostEditing.

## ◆ getParameterIDFromFunctionName()

tresult getParameterIDFromFunctionName | ( | UnitID | unitID,
|  | FIDString | functionName,
|  | ParamID & | paramID )
| virtual

Implements IParameterFunctionName.

## ◆ queueOpened()

void queueOpened | ( | DataExchangeUserContextID | userContextID,
|  | uint32 | blockSize,
|  | TBool & | dispatchOnBackgroundThread )
| overridevirtual

Implements IDataExchangeReceiver.

## ◆ queueClosed()

void queueClosed | ( | DataExchangeUserContextID | userContextID | ) |
| overridevirtual

Implements IDataExchangeReceiver.

## ◆ onDataExchangeBlocksReceived()

void onDataExchangeBlocksReceived | ( | DataExchangeUserContextID | userContextID,
|  | uint32 | numBlocks,
|  | DataExchangeBlock * | block,
|  | TBool | onBackgroundThread )
| overridevirtual

Implements IDataExchangeReceiver.

## ◆ getCompatibleParamID()

tresult getCompatibleParamID | ( | const TUID | pluginToReplaceUID,
|  | Vst::ParamID | oldParamID,
|  | Vst::ParamID & | newParamID )
| overridevirtual

Implements IRemapParamID.

## ◆ editorAttached()

void editorAttached | ( | EditorView * | editor | ) |
| virtual

Reimplemented from EditController.

## ◆ editorRemoved()

void editorRemoved | ( | EditorView * | editor | ) |
| virtual

Reimplemented from EditController.

## ◆ editorDestroyed()

void editorDestroyed | ( | EditorView * | editor | ) |
| virtual

Reimplemented from EditController.

## ◆ createSubController()

VSTGUI::IController * createSubController | ( | UTF8StringPtr | name,
|  | const IUIDescription * | description,
|  | VST3Editor * | editor )
| override

## ◆ queryInterface()

tresult queryInterface | ( | const Steinberg::TUID | iid,
|  | void ** | obj )
| overridevirtual

Implements FUnknown.

## ◆ REFCOUNT_METHODS()

REFCOUNT_METHODS | ( | EditControllerEx1 |  | ) |
| inline

## ◆ addFeatureLog()

void addFeatureLog | ( | int64 | iD,
|  | int32 | count = 1,
|  | bool | addToLastCount = true )

## ◆ getSavedSize()

bool getSavedSize | ( | ViewRect & | size | ) | const
| inline

## ◆ extractCurrentInfo()

void extractCurrentInfo | ( | EditorView * | editor | ) |
| protected

## ◆ updateScoring()

float updateScoring | ( | int64 | iD | ) |
| protected

## ◆ onProgressTimer()

void onProgressTimer | ( | VSTGUI::CVSTGUITimer * |  | ) |
| protected

## Member Data Documentation

## ◆ mDataBrowserMap

std::map<VSTGUI::VST3Editor*, VSTGUI::SharedPointer<VSTGUI::CDataBrowser> > mDataBrowserMap
| protected

## ◆ mDataSource

VSTGUI::SharedPointer<VSTGUI::EventLogDataBrowserSource> mDataSource
| protected

## ◆ mLatencyInEdit

bool mLatencyInEdit {false}
| protected

## ◆ mWantedLatency

ParamValue mWantedLatency {0.0}
| protected

## ◆ editors

EditorVector editors
| protected

## ◆ editorsSubCtlerMap

EditorMap editorsSubCtlerMap
| protected

## ◆ width

uint32 width {0}
| protected

## ◆ height

uint32 height {0}
| protected

## ◆ sizeFactor

double sizeFactor {0}
| protected

## ◆ mEditFromHost

EditFromHostMap mEditFromHost
| protected

## ◆ threadChecker

std::unique_ptr<ThreadChecker> threadChecker {ThreadChecker::create ()}
| protected

## ◆ mNumKeyswitch

int32 mNumKeyswitch {1}
| protected

## ◆ dataExchange

DataExchangeReceiverHandler dataExchange {this}
| protected

## ◆ mScoreMap

ScoreMap mScoreMap
| protected

## ◆ mProgressTimer

VSTGUI::CVSTGUITimer* mProgressTimer {nullptr}
| protected

## ◆ mProgressID

IProgress::ID mProgressID
| protected

## ◆ mInProgress

bool mInProgress {false}
| protected

Empty

Copyright © Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.