VST 3 Examples  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
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 (EditControllerEx1,
EditController)
DEFINE_INTERFACES
DEF_INTERFACE(IUnitInfo)
END_DEFINE_INTERFACES(EditController)
REFCOUNT_METHODS(EditController)
protected 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 IRemapParamID
virtual tresult getCompatibleParamID (const TUID pluginToReplaceUID, ParamID oldParamID, ParamID &newParamID)=0
 
- 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 IAutomationState
 kNoAutomation
 
 kReadState
 
 kWriteState
 
 kReadWriteState
 
- Static Public Attributes inherited from EditController
static KnobMode hostKnobMode
 
- 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

using UTF8StringPtr = VSTGUI::UTF8StringPtr
using IController = VSTGUI::IController
using IUIDescription = VSTGUI::IUIDescription
using VST3Editor = VSTGUI::VST3Editor
using EditorVector = std::vector<Steinberg::Vst::EditorView*>
protected
using EditFromHostMap = std::map<Steinberg::Vst::ParamID, int32>
protected
using ScoreMap = std::map<int64, ScoreEntry>
protected

Constructor & Destructor Documentation

Member Function Documentation

tresult initialize ( FUnknown context)
virtual

Reimplemented from EditController.

tresult terminate ( )
virtual

Reimplemented from EditControllerEx1.

tresult setComponentState ( IBStream state)
virtual

Reimplemented from EditController.

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

Reimplemented from EditControllerEx1.

tresult setComponentHandler ( IComponentHandler handler)
virtual

Reimplemented from EditController.

int32 getUnitCount ( )
virtual

Reimplemented from EditControllerEx1.

tresult setParamNormalized ( ParamID  tag,
ParamValue  value 
)
virtual

Reimplemented from EditController.

tresult beginEdit ( ParamID  tag)
virtual

Reimplemented from EditController.

tresult endEdit ( ParamID  tag)
virtual

Reimplemented from EditController.

IPlugView * createView ( FIDString  name)
virtual

Reimplemented from EditController.

tresult notify ( IMessage message)
virtual

Implements IConnectionPoint.

tresult connect ( IConnectionPoint other)
virtual

Implements IConnectionPoint.

CView * createCustomView ( VSTGUI::UTF8StringPtr  name,
const VSTGUI::UIAttributes &  attributes,
const VSTGUI::IUIDescription *  description,
VSTGUI::VST3Editor *  editor 
)
void willClose ( VSTGUI::VST3Editor *  editor)
tresult setKnobMode ( KnobMode  mode)
virtual

Reimplemented from EditController.

tresult openHelp ( TBool  onlyCheck)
virtual

Reimplemented from EditController.

tresult openAboutBox ( TBool  onlyCheck)
virtual

Reimplemented from EditController.

tresult setState ( IBStream state)
virtual

Reimplemented from EditController.

tresult getState ( IBStream state)
virtual

Reimplemented from EditController.

tresult setChannelContextInfos ( IAttributeList list)
virtual

Implements IInfoListener.

tresult getXmlRepresentationStream ( RepresentationInfo info,
IBStream stream 
)
virtual
tresult getMidiControllerAssignment ( int32  busIndex,
int16  channel,
CtrlNumber  midiControllerNumber,
ParamID id 
)
virtual

Implements IMidiMapping.

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

Implements IMidiLearn.

int32 getNoteExpressionCount ( int32  busIndex,
int16  channel 
)
virtual
tresult getNoteExpressionInfo ( int32  busIndex,
int16  channel,
int32  noteExpressionIndex,
NoteExpressionTypeInfo info 
)
virtual
tresult getNoteExpressionStringByValue ( int32  busIndex,
int16  channel,
NoteExpressionTypeID  id,
NoteExpressionValue  valueNormalized,
String128  string 
)
virtual
tresult getNoteExpressionValueByString ( int32  busIndex,
int16  channel,
NoteExpressionTypeID  id,
const TChar string,
NoteExpressionValue valueNormalized 
)
virtual
tresult getPhysicalUIMapping ( int32  busIndex,
int16  channel,
PhysicalUIMapList list 
)
virtual
int32 getKeyswitchCount ( int32  busIndex,
int16  channel 
)
virtual

Implements IKeyswitchController.

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

Implements IKeyswitchController.

tresult setAutomationState ( int32  state)
virtual

Implements IAutomationState.

tresult beginEditFromHost ( ParamID  paramID)
virtual
tresult endEditFromHost ( ParamID  paramID)
virtual
tresult getParameterIDFromFunctionName ( UnitID  unitID,
FIDString  functionName,
ParamID paramID 
)
virtual
void queueOpened ( DataExchangeUserContextID  userContextID,
uint32  blockSize,
TBool dispatchOnBackgroundThread 
)
overridevirtual

Implements IDataExchangeReceiver.

void queueClosed ( DataExchangeUserContextID  userContextID)
overridevirtual

Implements IDataExchangeReceiver.

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

Implements IDataExchangeReceiver.

tresult getCompatibleParamID ( const TUID  pluginToReplaceUID,
Vst::ParamID  oldParamID,
Vst::ParamID newParamID 
)
override
void editorAttached ( EditorView editor)
virtual

Reimplemented from EditController.

void editorRemoved ( EditorView editor)
virtual

Reimplemented from EditController.

void editorDestroyed ( EditorView editor)
virtual

Reimplemented from EditController.

VSTGUI::IController * createSubController ( UTF8StringPtr  name,
const IUIDescription description,
VST3Editor editor 
)
override
tresult queryInterface ( const Steinberg::TUID  iid,
void **  obj 
)
overridevirtual

Implements FUnknown.

REFCOUNT_METHODS ( EditControllerEx1  )
inline
void addFeatureLog ( int64  iD,
int32  count = 1,
bool  addToLastCount = true 
)
bool getSavedSize ( ViewRect size) const
inline
void extractCurrentInfo ( EditorView editor)
protected
float updateScoring ( int64  iD)
protected
void onProgressTimer ( VSTGUI::CVSTGUITimer *  )
protected

Member Data Documentation

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

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