VST getTimeInfo() in AudioProcessor


#1

Is there a way to access VstTimeInfo struct using the getTimeInfo() call when using the VST Wrapper ? I can’t find a way to do this. I’d like to access the samplesToNextClock member of that struct (witch i see you’re fetching but not adding to the CurrentPositionInfo struct). I can fetch it myslef (though it’s a second call to the same method) i just don’t know how or if it’s even possible.


#2

I didn’t provide any ways to get vst-specific data through the wrapper, though if you need to just call the function again to get the time I think that’ll generally execute pretty fast. On a most hosts I doubt if it would have to do anything other than just return a pointer to the vsttimeinfo struct.


#3

could you tell me how to do this call inside the process() method of my AudioProcessor ?

this seems to hang the host

((AudioEffectX *)this)->getTimeInfo(0);

this does not work at all (the compiler looks for the static method)

AudioEffectX::getTimeInfo();

including the VST sdk code gives me warnings about re-definitions

1>juce_VST_Wrapper.obj : warning LNK4006: "public: __thiscall AudioEffectX::AudioEffectX(int (__cdecl*)(struct AEffect *,int,int,int,void *,float),int,int)" (??0AudioEffectX@@QAE@P6AHPAUAEffect@@HHHPAXM@ZHH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::dispatcher(int,int,int,void *,float)" (?dispatcher@AudioEffectX@@UAEHHHHPAXM@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffectX::resume(void)" (?resume@AudioEffectX@@UAEXXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffectX::__wantEventsDeprecated(int)" (?__wantEventsDeprecated@AudioEffectX@@UAEXH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual struct VstTimeInfo * __thiscall AudioEffectX::getTimeInfo(int)" (?getTimeInfo@AudioEffectX@@UAEPAUVstTimeInfo@@H@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::__tempoAtDeprecated(int)" (?__tempoAtDeprecated@AudioEffectX@@UAEHH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: bool __thiscall AudioEffectX::sendVstEventsToHost(struct VstEvents *)" (?sendVstEventsToHost@AudioEffectX@@QAE_NPAUVstEvents@@@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::__getNumAutomatableParametersDeprecated(void)" (?__getNumAutomatableParametersDeprecated@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::__getParameterQuantizationDeprecated(void)" (?__getParameterQuantizationDeprecated@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::ioChanged(void)" (?ioChanged@AudioEffectX@@UAE_NXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::__needIdleDeprecated(void)" (?__needIdleDeprecated@AudioEffectX@@UAE_NXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::sizeWindow(int,int)" (?sizeWindow@AudioEffectX@@UAE_NHH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual double __thiscall AudioEffectX::updateSampleRate(void)" (?updateSampleRate@AudioEffectX@@UAENXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::updateBlockSize(void)" (?updateBlockSize@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::getInputLatency(void)" (?getInputLatency@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::getOutputLatency(void)" (?getOutputLatency@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual struct AEffect * __thiscall AudioEffectX::__getPreviousPlugDeprecated(int)" (?__getPreviousPlugDeprecated@AudioEffectX@@UAEPAUAEffect@@H@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual struct AEffect * __thiscall AudioEffectX::__getNextPlugDeprecated(int)" (?__getNextPlugDeprecated@AudioEffectX@@UAEPAUAEffect@@H@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual enum VstPlugCategory __thiscall AudioEffectX::getPlugCategory(void)" (?getPlugCategory@AudioEffectX@@UAE?AW4VstPlugCategory@@XZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::__willProcessReplacingDeprecated(void)" (?__willProcessReplacingDeprecated@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::getCurrentProcessLevel(void)" (?getCurrentProcessLevel@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::getAutomationState(void)" (?getAutomationState@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffectX::__wantAsyncOperationDeprecated(bool)" (?__wantAsyncOperationDeprecated@AudioEffectX@@UAEX_N@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffectX::__hasExternalBufferDeprecated(bool)" (?__hasExternalBufferDeprecated@AudioEffectX@@UAEX_N@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::offlineRead(struct VstOfflineTask *,enum VstOfflineOption,bool)" (?offlineRead@AudioEffectX@@UAE_NPAUVstOfflineTask@@W4VstOfflineOption@@_N@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::offlineWrite(struct VstOfflineTask *,enum VstOfflineOption)" (?offlineWrite@AudioEffectX@@UAE_NPAUVstOfflineTask@@W4VstOfflineOption@@@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::offlineStart(struct VstAudioFile *,int,int)" (?offlineStart@AudioEffectX@@UAE_NPAUVstAudioFile@@HH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::offlineGetCurrentPass(void)" (?offlineGetCurrentPass@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::offlineGetCurrentMetaPass(void)" (?offlineGetCurrentMetaPass@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffectX::__setOutputSamplerateDeprecated(float)" (?__setOutputSamplerateDeprecated@AudioEffectX@@UAEXM@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual struct VstSpeakerArrangement * __thiscall AudioEffectX::__getInputSpeakerArrangementDeprecated(void)" (?__getInputSpeakerArrangementDeprecated@AudioEffectX@@UAEPAUVstSpeakerArrangement@@XZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual struct VstSpeakerArrangement * __thiscall AudioEffectX::__getOutputSpeakerArrangementDeprecated(void)" (?__getOutputSpeakerArrangementDeprecated@AudioEffectX@@UAEPAUVstSpeakerArrangement@@XZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::getHostVendorString(char *)" (?getHostVendorString@AudioEffectX@@UAE_NPAD@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::getHostProductString(char *)" (?getHostProductString@AudioEffectX@@UAE_NPAD@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::getHostVendorVersion(void)" (?getHostVendorVersion@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::hostVendorSpecific(int,int,void *,float)" (?hostVendorSpecific@AudioEffectX@@UAEHHHPAXM@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::canHostDo(char *)" (?canHostDo@AudioEffectX@@UAEHPAD@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffectX::isSynth(bool)" (?isSynth@AudioEffectX@@UAEX_N@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffectX::noTail(bool)" (?noTail@AudioEffectX@@UAEX_N@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffectX::getHostLanguage(void)" (?getHostLanguage@AudioEffectX@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void * __thiscall AudioEffectX::__openWindowDeprecated(struct __VstWindowDeprecated *)" (?__openWindowDeprecated@AudioEffectX@@UAEPAXPAU__VstWindowDeprecated@@@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::__closeWindowDeprecated(struct __VstWindowDeprecated *)" (?__closeWindowDeprecated@AudioEffectX@@UAE_NPAU__VstWindowDeprecated@@@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void * __thiscall AudioEffectX::getDirectory(void)" (?getDirectory@AudioEffectX@@UAEPAXXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::updateDisplay(void)" (?updateDisplay@AudioEffectX@@UAE_NXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::beginEdit(int)" (?beginEdit@AudioEffectX@@UAE_NH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::endEdit(int)" (?endEdit@AudioEffectX@@UAE_NH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::openFileSelector(struct VstFileSelect *)" (?openFileSelector@AudioEffectX@@UAE_NPAUVstFileSelect@@@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::closeFileSelector(struct VstFileSelect *)" (?closeFileSelector@AudioEffectX@@UAE_NPAUVstFileSelect@@@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::__getChunkFileDeprecated(void *)" (?__getChunkFileDeprecated@AudioEffectX@@UAE_NPAX@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::allocateArrangement(struct VstSpeakerArrangement * *,int)" (?allocateArrangement@AudioEffectX@@UAE_NPAPAUVstSpeakerArrangement@@H@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::deallocateArrangement(struct VstSpeakerArrangement * *)" (?deallocateArrangement@AudioEffectX@@UAE_NPAPAUVstSpeakerArrangement@@@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::copySpeaker(struct VstSpeakerProperties *,struct VstSpeakerProperties *)" (?copySpeaker@AudioEffectX@@UAE_NPAUVstSpeakerProperties@@0@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffectX::matchArrangement(struct VstSpeakerArrangement * *,struct VstSpeakerArrangement *)" (?matchArrangement@AudioEffectX@@UAE_NPAPAUVstSpeakerArrangement@@PAU2@@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "protected: static int __cdecl AudioEffect::dispatchEffectClass(struct AEffect *,int,int,int,void *,float)" (?dispatchEffectClass@AudioEffect@@KAHPAUAEffect@@HHHPAXM@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "protected: static float __cdecl AudioEffect::getParameterClass(struct AEffect *,int)" (?getParameterClass@AudioEffect@@KAMPAUAEffect@@H@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "protected: static void __cdecl AudioEffect::setParameterClass(struct AEffect *,int,float)" (?setParameterClass@AudioEffect@@KAXPAUAEffect@@HM@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "protected: static void __cdecl AudioEffect::__processClassDeprecated(struct AEffect *,float * *,float * *,int)" (?__processClassDeprecated@AudioEffect@@KAXPAUAEffect@@PAPAM1H@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "protected: static void __cdecl AudioEffect::processClassReplacing(struct AEffect *,float * *,float * *,int)" (?processClassReplacing@AudioEffect@@KAXPAUAEffect@@PAPAM1H@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "protected: static void __cdecl AudioEffect::processClassDoubleReplacing(struct AEffect *,double * *,double * *,int)" (?processClassDoubleReplacing@AudioEffect@@KAXPAUAEffect@@PAPAN1H@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: __thiscall AudioEffect::AudioEffect(int (__cdecl*)(struct AEffect *,int,int,int,void *,float),int,int)" (??0AudioEffect@@QAE@P6AHPAUAEffect@@HHHPAXM@ZHH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual __thiscall AudioEffect::~AudioEffect(void)" (??1AudioEffect@@UAE@XZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: void __thiscall AudioEffect::setEditor(class AEffEditor *)" (?setEditor@AudioEffect@@QAEXPAVAEffEditor@@@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffect::dispatcher(int,int,int,void *,float)" (?dispatcher@AudioEffect@@UAEHHHHPAXM@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffect::getMasterVersion(void)" (?getMasterVersion@AudioEffect@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual int __thiscall AudioEffect::getCurrentUniqueId(void)" (?getCurrentUniqueId@AudioEffect@@UAEHXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::masterIdle(void)" (?masterIdle@AudioEffect@@UAEXXZ) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffect::__isInputConnectedDeprecated(int)" (?__isInputConnectedDeprecated@AudioEffect@@UAE_NH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual bool __thiscall AudioEffect::__isOutputConnectedDeprecated(int)" (?__isOutputConnectedDeprecated@AudioEffect@@UAE_NH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::setParameterAutomated(int,float)" (?setParameterAutomated@AudioEffect@@UAEXHM@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::__hasVuDeprecated(bool)" (?__hasVuDeprecated@AudioEffect@@UAEX_N@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::__hasClipDeprecated(bool)" (?__hasClipDeprecated@AudioEffect@@UAEX_N@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::__canMonoDeprecated(bool)" (?__canMonoDeprecated@AudioEffect@@UAEX_N@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::canProcessReplacing(bool)" (?canProcessReplacing@AudioEffect@@UAEX_N@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::canDoubleReplacing(bool)" (?canDoubleReplacing@AudioEffect@@UAEX_N@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::programsAreChunks(bool)" (?programsAreChunks@AudioEffect@@UAEX_N@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::__setRealtimeQualitiesDeprecated(int)" (?__setRealtimeQualitiesDeprecated@AudioEffect@@UAEXH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::__setOfflineQualitiesDeprecated(int)" (?__setOfflineQualitiesDeprecated@AudioEffect@@UAEXH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::setInitialDelay(int)" (?setInitialDelay@AudioEffect@@UAEXH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::dB2string(float,char *,int)" (?dB2string@AudioEffect@@UAEXMPADH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::Hz2string(float,char *,int)" (?Hz2string@AudioEffect@@UAEXMPADH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::ms2string(float,char *,int)" (?ms2string@AudioEffect@@UAEXMPADH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::float2string(float,char *,int)" (?float2string@AudioEffect@@UAEXMPADH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "public: virtual void __thiscall AudioEffect::int2string(int,char *,int)" (?int2string@AudioEffect@@UAEXHPADH@Z) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoSendVstEvents" (?canDoSendVstEvents@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoSendVstMidiEvent" (?canDoSendVstMidiEvent@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoSendVstTimeInfo" (?canDoSendVstTimeInfo@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoReceiveVstEvents" (?canDoReceiveVstEvents@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoReceiveVstMidiEvent" (?canDoReceiveVstMidiEvent@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoReportConnectionChanges" (?canDoReportConnectionChanges@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoAcceptIOChanges" (?canDoAcceptIOChanges@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoSizeWindow" (?canDoSizeWindow@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoOffline" (?canDoOffline@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoOpenFileSelector" (?canDoOpenFileSelector@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoCloseFileSelector" (?canDoCloseFileSelector@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoStartStopProcess" (?canDoStartStopProcess@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoShellCategory" (?canDoShellCategory@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const HostCanDos::canDoSendVstMidiEventFlagIsRealtime" (?canDoSendVstMidiEventFlagIsRealtime@HostCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const PlugCanDos::canDoSendVstEvents" (?canDoSendVstEvents@PlugCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const PlugCanDos::canDoSendVstMidiEvent" (?canDoSendVstMidiEvent@PlugCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const PlugCanDos::canDoReceiveVstEvents" (?canDoReceiveVstEvents@PlugCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const PlugCanDos::canDoReceiveVstMidiEvent" (?canDoReceiveVstMidiEvent@PlugCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const PlugCanDos::canDoReceiveVstTimeInfo" (?canDoReceiveVstTimeInfo@PlugCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const PlugCanDos::canDoOffline" (?canDoOffline@PlugCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const PlugCanDos::canDoMidiProgramNames" (?canDoMidiProgramNames@PlugCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>juce_VST_Wrapper.obj : warning LNK4006: "char const * const PlugCanDos::canDoBypass" (?canDoBypass@PlugCanDos@@3PBDB) already defined in IonController.obj; second definition ignored
1>   Creating library c:\devel\ctrlr\Controllers\Ion\Build\Win\/../../../../Bin/Temp/IonController_Debug-VST.lib and object c:\devel\ctrlr\Controllers\Ion\Build\Win\/../../../../Bin/Temp/IonController_Debug-VST.exp
1>c:\devel\ctrlr\Controllers\Ion\Build\Win\/../../../../Bin/VST/IonController_VST_Debug_Win32.dll : warning LNK4088: image being generated due to /FORCE option; image may not run

so i don’t know how to access this call.


#4

I’ve no idea how you’d do it, I didn’t design the wrapper to let you get access to VST stuff directly!