Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Modules/SoundControl/GT2005SoundControl.h

Go to the documentation of this file.
00001 /**
00002  * @file GT2005SoundControl.h
00003  * 
00004  * Implementation of class GT2005SoundControl.
00005  *
00006  * @author <a href="mailto:Oliver.Giese@uni-dortmund.de">Oliver Giese</a>
00007  * @author <a href="mailto:matthias.hebbel@uni-dortmund.de">Matthias Hebbel</a>
00008  */
00009 
00010 #ifndef __GT2005SoundControl_h_
00011 #define __GT2005SoundControl_h_
00012 
00013 #include "SoundControl.h"
00014 
00015 /** 
00016 * @class GT2005SoundControl
00017 *
00018 * The default solution of the SoundControl module
00019  * @author <a href="mailto:Oliver.Giese@uni-dortmund.de">Oliver Giese</a>
00020  * @author <a href="mailto:matthias.hebbel@uni-dortmund.de">Matthias Hebbel</a>
00021 */
00022 class GT2005SoundControl : public SoundControl
00023 {
00024   public:
00025   /** 
00026   * Constructor.
00027   * @param interfaces The paramters of the HeadControl module.
00028   */
00029     GT2005SoundControl(const SoundControlInterfaces& interfaces);
00030 
00031     /** Destructor */
00032     virtual ~GT2005SoundControl();
00033     virtual void execute();
00034     
00035     bool playingWave;
00036   
00037   protected:
00038     bool loadWavefile(const char* filename, int index);
00039     bool checkWaveHeader(const char* filename, int index);
00040     void playWave(SoundData* soundData, int index);
00041     void fillWaveBuffer(SoundData* soundData, int index);
00042 
00043     char* waveData[SoundRequest::numOfSoundIDs];
00044     char waveHeader[100];
00045     unsigned long actWavePosition;
00046     unsigned long startWavePosition[SoundRequest::numOfSoundIDs];
00047     unsigned long waveLength[SoundRequest::numOfSoundIDs];
00048     
00049     unsigned long lastTransmittedMessageTimestamp;
00050 
00051     SoundRequest::SoundID lastSound;
00052 };
00053 
00054 #endif// __GT2005SoundControl_h_

Generated on Mon Mar 20 21:59:57 2006 for GT2005 by doxygen 1.3.6