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_