VST 3 Examples VST 3.7
SDK for developing VST plug-in
Loading...
Searching...
No Matches
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
 
IPlugViewcreateView (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
 
IControllercreateSubController (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)
 
ProgramListgetProgramList (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 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 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 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::EventLogDataBrowserSourcemDataSource
 
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< ThreadCheckerthreadChecker {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< IComponentHandler2componentHandler2
 
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< IConnectionPointpeerConnection
 
- 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

◆ EditFromHostMap

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

◆ ScoreMap

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

Constructor & Destructor Documentation

◆ 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

◆ 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

◆ getNoteExpressionInfo()

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

◆ getNoteExpressionStringByValue()

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

◆ getNoteExpressionValueByString()

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

◆ getPhysicalUIMapping()

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

◆ 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

◆ endEditFromHost()

tresult endEditFromHost ( ParamID paramID)
virtual

◆ getParameterIDFromFunctionName()

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

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