#ifndef IW_VACORE_BINAURALSOUNDSOURCE #define IW_VACORE_BINAURALSOUNDSOURCE // VA includes #include #include #include "../../../../../Motion/VAMotionModelBase.h" #include "../../../../../Motion/VASharedMotionModel.h" #include "../../../../../Scene/VAScene.h" // ITA includes #include class VABinauralSoundSource : public CVAPoolObject { public: struct config_t { bool motionModelLogInput; bool motionModelLogEstimated; double motionModelWindowSize; double motionModelWindowDelay; int motionModelNumHistoryKeys; double sampleRate; int blockLength; }; const config_t conf; CVASoundSourceDesc* data; CVASharedMotionModel* motionModel; CITAVariableDelayLine* vdlChL; CITAVariableDelayLine* vdlChR; VAVec3 predPos; VAVec3 prefView; VAVec3 predUp; VABinauralSoundSource(const config_t& conf); ~VABinauralSoundSource(); void PreRequest(); void PreRelease(); private: double _dCreationTimeStamp; }; #endif // IW_VACORE_BINAURALSOUNDSOURCE