More doxy comments

parent cbc35ad4
......@@ -49,7 +49,7 @@ public:
VA_SS_NETSTREAM, //!< Sound source is a network stream receiver socket
VA_SS_ENGINE, //!< Sound source is an engine
VA_SS_MACHINE, //!< Sound source is a machine
VA_SS_TEXT_TO_SPEECH,
VA_SS_TEXT_TO_SPEECH, //!< Text-to-speech signal source
};
//! Destructor.
......
......@@ -27,6 +27,18 @@ class IVAInterface;
#define VA_BIT64( i ) ( ( ( const uint64_t ) 1 ) << i )
//! Data class encapsulating events of a VA
/**
* Events are emitted by the core and propagated to all atached event handlers.
* It is up to the event handlers to filter the corresponding types and react upon
* the data provided by the event. Therefore, the event data is not fixed but is
* related to the event type. Many of the provided slots are unused for simple
* events (like a gain change of the core).
*
* Use this events to synchronize your application if you are not controlling the
* core and can not intercept method calls. This way, you still receive information
* on updates e.g. from real world sound receiver head rotation and so on.
*
*/
class VABASE_API CVAEvent
{
public:
......@@ -87,7 +99,7 @@ public:
// Next free slot: 42
// Selector mask for signal source related events
//!< Selector mask for signal source related events
static const uint64_t VA_EVENT_SIGNALSOURCE_EVENT = VA_EVENT_SIGNALSOURCE_CREATED |
VA_EVENT_SIGNALSOURCE_DELETED |
VA_EVENT_SIGNALSOURCE_REGISTERED |
......@@ -95,7 +107,7 @@ public:
VA_EVENT_SIGNALSOURCE_STATE_CHANGED |
VA_EVENT_SOUND_SOURCE_CHANGED_SIGNALSOURCE;
// Selector mask for sound source related events
//!< Selector mask for sound source related events
static const uint64_t VA_EVENT_SOUNDSOURCE_EVENT = VA_EVENT_SOUND_SOURCE_CREATED |
VA_EVENT_SOUND_SOURCE_DELETED |
VA_EVENT_SOUND_SOURCE_CHANGED_NAME |
......@@ -106,7 +118,7 @@ public:
VA_EVENT_SOUND_SOURCE_CHANGED_POSE |
VA_EVENT_SOUND_SOURCE_CHANGED_DIRECTIVITY;
// Selector mask for sound receiver related events
//!< Selector mask for sound receiver related events
static const uint64_t VA_EVENT_SOUND_RECEIVER_EVENT = VA_EVENT_SOUND_RECEIVER_CREATED |
VA_EVENT_SOUND_RECEIVER_DELETED |
VA_EVENT_SOUND_RECEIVER_CHANGED_NAME |
......@@ -114,12 +126,12 @@ public:
VA_EVENT_SOUND_RECEIVER_CHANGED_DIRECTIVITY |
VA_EVENT_SOUND_RECEIVER_CHANGED_POSE;
// Selector mask for portal related events
//!< Selector mask for portal related events
static const uint64_t VA_EVENT_PORTAL_EVENT = VA_EVENT_PORTAL_CHANGED_NAME |
VA_EVENT_PORTAL_CHANGED_PARAMETER;
// Selector mask for sound source modification event
//!< Selector mask for sound source modification event
static const uint64_t VA_EVENT_SOUNDSOURCE_MODIFICATION = VA_EVENT_SOUND_SOURCE_CHANGED_NAME |
VA_EVENT_SOUND_SOURCE_CHANGED_SIGNALSOURCE |
VA_EVENT_SOUND_SOURCE_CHANGED_AURALIZATIONMODE |
......@@ -128,41 +140,43 @@ public:
VA_EVENT_SOUND_SOURCE_CHANGED_POSE |
VA_EVENT_SOUND_SOURCE_CHANGED_DIRECTIVITY;
// Selector mask for sound receiver modification event
//!< Selector mask for sound receiver modification event
static const uint64_t VA_EVENT_SOUND_RECEIVER_MODIFICATION = VA_EVENT_SOUND_RECEIVER_CHANGED_NAME |
VA_EVENT_SOUND_RECEIVER_CHANGED_AURALIZATIONMODE |
VA_EVENT_SOUND_RECEIVER_CHANGED_DIRECTIVITY |
VA_EVENT_SOUND_RECEIVER_CHANGED_POSE;
IVAInterface* pSender;
int iEventID;
uint64_t iEventType;
int iObjectID; // Integer-ID (Standard)
std::string sObjectID; // String-ID (z.B. fr Signalquellen)
int iParamID;
std::string sParam;
int iIndex;
int iAuralizationMode;
double dVolume;
double dState;
bool bMuted;
std::string sName;
std::string sFilename;
VAVec3 vPos, vView, vUp, qHATO;
VAQuat oOrientation;
std::vector< float > vfInputPeaks; // Peak values of the input channels [factor]
std::vector< float > vfInputRMSs; // RMS values of the input channels [factor]
std::vector< float > vfOutputPeaks; // Peak values of the output channels [factor]
std::vector< float > vfOutputRMSs; // RMS values of the output channels [factor]
float fSysLoad, fDSPLoad; // System and DSP load [percent]
double dCoreClock; // Current value of the core clock [s]
// Progress data
IVAInterface* pSender; //!< Sender interface
int iEventID; //!< Event identifier
uint64_t iEventType; //!< Event type (bit vector)
int iObjectID; //!< Integer-ID (Standard)
std::string sObjectID; //!< String-ID (z.B. für Signalquellen)
int iParamID; //!< Parameter identifier
std::string sParam; //!< Parameter string
int iIndex; //!< Index value
int iAuralizationMode; //!< Auralization mode
double dVolume; //!< Volume, gain, sound power
double dState; //!< Floating point state
bool bMuted; //!< Mute flag
std::string sName; //!< Name
std::string sFilenPath; //!< File path
VAVec3 vPos; //!< Position vector
VAVec3 vView; //!< View vector
VAVec3 vUp; //!< Up vector
VAQuat qHATO; //!< Head-above-torso quaternion orientation
VAQuat oOrientation; //!< Quaternion orientation
std::vector< float > vfInputPeaks; //!< Peak values of the input channels [factor]
std::vector< float > vfInputRMSs; //!< RMS values of the input channels [factor]
std::vector< float > vfOutputPeaks; //!< Peak values of the output channels [factor]
std::vector< float > vfOutputRMSs; //!< RMS values of the output channels [factor]
float fSysLoad, fDSPLoad; //!< System and DSP load [percent]
double dCoreClock; //!< Current value of the core clock [s]
//!< Progress data
CVAProgress oProgress;
// --= Methoden =--
//! Create empty event
inline CVAEvent()
: pSender( NULL )
, iEventID( 0 )
......@@ -176,22 +190,34 @@ public:
, bMuted( false )
{};
//! Destroy event
inline virtual ~CVAEvent() {};
//! Convert to string
/**
* @return String formatted event (for debugging output)
*/
virtual std::string ToString() const;
};
//! Event handler interface class
/**
* Diese rein abstrakte Klasse definiert eine Schnittstelle
* zur Behandlung von Ereignissen des VA-Kerns. Beispielsweise
* wird diese vom GUI implementiert, um sich ber nderungen
* der Szene informieren zu lassen.
* This purely abstract class defines an interface to receive
* core events, e.g. for a graphical user intface. Derive your
* class and implement the handler. Attach your instance to the VA
* class (also works with network connections, event will be transmitted).
*/
class VABASE_API IVAEventHandler
{
public:
//! Destructor
inline virtual ~IVAEventHandler() {};
//! Event handler hook
/**
* @param[in] pEvent Event pointer
*/
virtual void HandleVAEvent( const CVAEvent* pEvent ) = 0;
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment