From 48bd0ca1fa6e90a779e03b6fd75bf233a570991a Mon Sep 17 00:00:00 2001 From: "Dipl.-Ing. Jonas Stienen" Date: Thu, 12 Oct 2017 18:08:58 +0200 Subject: [PATCH] Minor fixes and more doxy comments --- include/VAInterface.h | 93 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 86 insertions(+), 7 deletions(-) diff --git a/include/VAInterface.h b/include/VAInterface.h index 53a2257..55a89ef 100644 --- a/include/VAInterface.h +++ b/include/VAInterface.h @@ -29,6 +29,22 @@ class VABASE_API IVAEventHandler; class VABASE_API IVAAudioSignalSource; //! Interface of the VA +/** + * This mostly abstract interface to VA describes all relevant functions and methods + * that have to be implemented to comply with a VA controller instance or core instance. + * + * The VACore will implement all these methods. The VANet library will wrap and transmit + * methods and data classes to make the VA interface completely transparent through a network + * connection using TCP/IP. All binding classes provide similar named methods in the script + * language fashion and can use the networked connection or an internal core. + * + * There are a lot of prototyping methods using CVAStruct, an associative container for any + * kind of value. + * + * Events can be propagated to event handlers (including network clients) and help to detect + * core changes and updates. + * + */ class VABASE_API IVAInterface { public: @@ -193,13 +209,13 @@ public: //! Detaches a handler for core events from the core instance /** - * @oaram[in] pEventHandler Event handler pointer + * @oaram[in] pEventHandler Event handler pointer * @note Detaching event handlers it always possible, * regardless of the state of the core. * This method can therefore be called anytime, * also before initialization and after finalization. * - * \note When the method returns, it is guaranteed that the handler will not + * @note When the method returns, it is guaranteed that the handler will not * receive any further core events and may safely be destroyed. */ virtual void DetachEventHandler( IVAEventHandler* pEventHandler ) = 0; @@ -448,15 +464,78 @@ public: oParams[ "filepath" ] = sFilePath; return CreateGeometryMeshFromParameters( oParams, sName ); }; - + + //! Delete a geometry mesh + /** + * @param[in] iID Geometry mesh identifier + * + * @return True if mesh could be removed + */ virtual bool DeleteGeometryMesh( const int iID ) = 0; + + //! Get a geometry mesh from identifeir + /** + * @param[in] iID Geometry mesh identifier + * + * @return Geometry mesh + */ virtual CVAGeometryMesh GetGeometryMesh( const int iID ) const = 0; + + //! Get geometry mesh ids + /** + * @param[out] viID All available geometry mesh identifiers + * + */ virtual void GetGeometryMeshIDs( std::vector< int >& viIDs ) const = 0; + + //! Delete a geometry mesh + /** + * @param[in] iID Geometry mesh identifier + * @param[in] sName Geometry mesh verbatim name + * + * @return True if mesh could be removed + */ virtual void SetGeometryMeshName( const int iID, const std::string& sName ) = 0; + + //! Geometry mesh name getter + /** + * @param[in] iID Geometry mesh identifier + * + * @return Verbatim name + */ virtual std::string GetGeometryMeshName( const int iID ) const = 0; + + //! Geometry mesh parameter setter + /** + * @param[in] iID Geometry mesh identifier + * @param[in] oParams Geometry mesh magic parameters + * + * @return True if mesh could be removed + */ virtual void SetGeometryMeshParameters( const int iID, const CVAStruct& oParams ) = 0; + + //! Geometry mesh parameter getter + /** + * @param[in] iID Geometry mesh identifier + * @param[in] oParams Geometry mesh magic parameter request + * + * @return Magic parameters + */ virtual CVAStruct GetGeometryMeshParameters( const int iID, const CVAStruct& oParams ) const = 0; + + //! Geometry mesh enabled setter + /** + * @param[in] iID Geometry mesh identifier + * @param[in] bEnabled If true, sets enabled, if false geo mesh is disabled + */ virtual void SetGeometryMeshEnabled( const int iID, const bool bEnabled = true ) = 0; + + //! Geometry mesh enabled getter + /** + * @param[in] iID Geometry mesh identifier + * + * @return True if mesh is enabled, false otherwise + */ virtual bool GetGeometryMeshEnabled( const int iID ) const = 0; @@ -495,13 +574,15 @@ public: oParams[ "samples" ][ "ch1" ] = oSamples; return CreateSignalSourceBufferFromParameters( oParams, sName ); }; - virtual std::string CreateSignalSourceBufferMultichannelFromSamples( const std::vector< CVASampleBuffer >& voSamples, const std::string& sName = "" ) + + inline std::string CreateSignalSourceBufferMultichannelFromSamples( const std::vector< CVASampleBuffer >& voSamples, const std::string& sName = "" ) { CVAStruct oParams; for( size_t i = 0; i < voSamples.size(); i++ ) oParams[ "samples" ][ "ch" + std::to_string( long( i + 1 ) ) ] = voSamples[ i ]; return CreateSignalSourceBufferFromParameters( oParams, sName ); }; + virtual std::string CreateSignalSourceBufferFromParameters( const CVAStruct& oParams, const std::string& sName = "" ) = 0; //! Creates a text-to-speech (TTS) signal source @@ -736,9 +817,7 @@ public: oParams[ "value" ] = sFilePath; SetSignalSourceParameters( sSignalSourceID, oParams ); }; - - // TODO: AlterSoundPlayback? - + //! Set parameters for a signal source /** * This method sets parameters of a signal source. Behavior depends on type and -- GitLab