Page principale   Liste des namespaces   Hiérarchie des classes   Liste par ordre alphabétique   Liste des composants   Liste des fichiers   Membres des namespaces   Composants   Déclarations  

ExManagerSound.h

Aller à la documentation de ce fichier.
00001 /************************************************************************/
00002 /* Ex Nihlo Engine by Hermanns Christophe                                                               */
00003 /************************************************************************/
00004 /* This program is free software; you can redistribute it and/or                */
00005 /* modify it under the terms of the GNU General Public License                  */
00006 /* as published by the Free Software Foundation; either version 2               */
00007 /* of the License, or (at your option) any later version.                               */
00008 /*                                                                                                                                              */
00009 /* This program is distributed in the hope that it will be useful,              */
00010 /* but WITHOUT ANY WARRANTY; without even the implied warranty of               */
00011 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                                 */
00012 /*                                                                                                                                              */
00013 /* See the GNU General Public License for more details.                                 */
00014 /*                                                                                                                                              */
00015 /* You should have received a copy of the GNU General Public License    */
00016 /* along with this program; if not, write to the Free Software                  */
00017 /* Foundation, Inc., 59 Temple Place - Suite 330,                                               */
00018 /* Boston, MA  02111-1307, USA.                                                                                 */
00019 /*                                                                                                                                              */
00020 /* If you use a important part of this code please send me a mail               */
00021 /* I just want to see where my code go thks :)                                                  */
00022 /************************************************************************/
00023 
00024 /************************************************************************/
00025 /* Contact                                                              */  
00026 /************************************************************************/
00027 /* ExNihilo Website :www.ploksoftware.org                               */
00028 /*                                                                      */
00029 /* Hermanns Christophe ExNihilo creator and main programmer             */
00030 /*                                                                      */
00031 /* Mail             : Data@ploksoftware.org                                                             */
00032 /* ICQ              : 8030901                                                                                   */
00033 /* MSN Messenger    : Data_7@hotmail.com                                                                */
00034 /*                                                                      */
00035 /* Benjamin Michotte Linux port, webmaster                              */
00036 /*                                                                      */
00037 /* Mail             :binny@ploksoftware.org                             */
00038 /*                                                                      */
00039 /************************************************************************/
00040 
00041 /************************************************************************/
00042 /* File Description                                                                                             */
00043 /************************************************************************/
00044 /* File Name   :ExManagerSound.h                                                                                */
00045 /*                                                                                                                                              */
00046 /* Star Date   :03/15/2002                                                                                              */
00047 /*                                                                                                                                              */
00048 /* Last Update :                                                        */
00049 /* $Id: ExManagerSound.h,v 1.13 2002/12/08 17:57:03 data Exp $           */
00050 /*                                                                                                                                              */
00051 /* File Description :                                                                                                   */
00052 /*                                                                      */
00053 /* For update of this file check : www.ploksoftware.org                 */
00054 /************************************************************************/
00055 
00056 #ifndef __EXMANAGERSOUND_H__
00057 #define __EXMANAGERSOUND_H__
00058 
00059 //--------------------------------
00060 // File to include
00061 //--------------------------------
00062 #include "ExDefine.h"
00063 #include "ExManagerObject.h"
00064 #include "ExCSound.h"
00065 //--------------------------------
00066 #define MAX_SOUND 20
00067 #define MAX_BUFFER 100
00068 #define MAX_SOURCE 16
00069 
00070 //--------------------------------
00071 class ExManagerSound : public ExManagerObject<ExCSound> 
00072 {
00073 private:
00074 //--------------------------------
00075 // Variable
00076 //--------------------------------
00077         bool m_initok;
00078         ALCcontext *context;
00079         ALCdevice *device;
00080 
00081         //For buffer
00082     ALuint      buffer_index;
00083     ALuint      buffer[MAX_BUFFER];
00084         ALint       error;
00085         
00086 
00087           ALboolean   loop;
00088     ALuint      source_index;
00089     ALuint      source_available;
00090     ALuint      source[64];
00091         
00092 //--------------------------------
00093 // Singleton creation
00094 //--------------------------------
00095         static bool m_flag; 
00096         static ExManagerSound *m_instance;
00097         ExManagerSound(void);
00098         ~ExManagerSound(void);
00099 //--------------------------------
00100         
00101 public:
00102 //--------------------------------
00103 // Methode
00104 //--------------------------------
00105         static ExManagerSound*  CreateSingleton(void);
00106 //--------------------------------
00107 // Methode
00108 //--------------------------------   
00109         void Init (void);
00110         void Reset (void);
00111         ExCAction InputCommand(ExCCommand Command);
00112         ExCAction InputAction(ExCAction Action);
00113         
00114         void DisplayAviableInput (void);
00115         
00116         bool LoadSound (std::string);
00117         bool RemoveSound (std::string);
00118         void PlaySound (std::string);
00119         void StopSound (std::string);
00120         int GetSound (std::string);
00121 
00122 };
00123 #endif //__EXMANAGERSOUND_H__

Généré le Tue Dec 10 18:18:12 2002 pour ExNihilo par doxygen1.3-rc1