Main Page | Alphabetical List | Compound List | File List | Compound Members | File Members

Sound.h File Reference

Go to the source code of this file.

Typedefs

typedef geSound_System geSound_System
typedef geSound_Def geSound_Def
typedef geSound geSound

Functions

GENESISAPI void geSound_DestroySoundSystem (geSound_System *Sound)
GENESISAPI geSound_DefgeSound_LoadSoundDef (geSound_System *SoundS, geVFile *File)
GENESISAPI void geSound_FreeSoundDef (geSound_System *SoundS, geSound_Def *SoundDef)
GENESISAPI void geSound_FreeAllChannels (geSound_System *SoundS)
GENESISAPI geSoundgeSound_PlaySoundDef (geSound_System *SoundS, geSound_Def *SoundDef, geFloat Volume, geFloat Pan, geFloat Frequency, geBoolean Loop)
GENESISAPI geBoolean geSound_StopSound (geSound_System *SoundS, geSound *Sound)
GENESISAPI geBoolean geSound_ModifySound (geSound_System *SoundS, geSound *Sound, geFloat Volume, geFloat Pan, geFloat Frequency)
GENESISAPI geBoolean geSound_SoundIsPlaying (geSound_System *SoundS, geSound *Sound)
GENESISAPI geBoolean geSound_SetMasterVolume (geSound_System *SoundS, geFloat Volume)
GENESISAPI void * geSound_GetDSound (void)


Typedef Documentation

typedef struct geSound geSound
 

Definition at line 34 of file Sound.h.

typedef struct geSound_Def geSound_Def
 

Definition at line 33 of file Sound.h.

typedef struct geSound_System geSound_System
 

Definition at line 32 of file Sound.h.


Function Documentation

GENESISAPI void geSound_DestroySoundSystem geSound_System Sound  ) 
 

Definition at line 147 of file Engine/Sound.c.

References DestroySoundManager(), GENESISAPI, geRam_Free, NULL, and geSound_System::SoundM.

Referenced by GameMgr_FreeAllObjects().

00148 {
00149         assert(Sound != NULL);
00150 
00151         // Shutdown the sound system
00152         DestroySoundManager(Sound->SoundM);
00153 
00154         Sound->SoundM = NULL;
00155 
00156         geRam_Free(Sound);
00157 }

GENESISAPI void geSound_FreeAllChannels geSound_System SoundS  ) 
 

Definition at line 218 of file Sound.c.

References FreeAllChannels(), GENESISAPI, and geSound_System::SoundM.

00219 {
00220         if (!SoundS) return;
00221 
00222         FreeAllChannels( SoundS->SoundM );
00223 }

GENESISAPI void geSound_FreeSoundDef geSound_System SoundS,
geSound_Def SoundDef
 

Definition at line 199 of file Engine/Sound.c.

References Channel, FreeChannel(), GENESISAPI, GetChannel(), NULL, and geSound_System::SoundM.

Referenced by Electric_Shutdown(), and GameMgr_FreeWorld().

00200 {
00201         Channel*        Channel;
00202 
00203         assert(SoundS != NULL);
00204         assert(SoundDef != 0);
00205 
00206         Channel = GetChannel(SoundS->SoundM, (unsigned int)SoundDef);
00207 
00208         if (!Channel)
00209                 return;
00210 
00211         FreeChannel(SoundS->SoundM, Channel);
00212 }

GENESISAPI void* geSound_GetDSound void   ) 
 

Definition at line 107 of file Engine/Sound.c.

References GENESISAPI, and lpDirectSound.

00108 {
00109   return (void *)lpDirectSound;
00110 }

GENESISAPI geSound_Def* geSound_LoadSoundDef geSound_System SoundS,
geVFile File
 

Definition at line 163 of file Engine/Sound.c.

References FillSoundChannel(), GENESISAPI, geSound_Def, NULL, and geSound_System::SoundM.

Referenced by Electric_Init(), and GameMgr_SetSoundIndex().

00164 {
00165         unsigned int SoundDef = 0;
00166 
00167         assert(SoundS != NULL);
00168 
00169 //      if (!FillSoundChannel(SoundS->SoundM, (char*)Path, (char*)FileName, &SoundDef))
00170         if (!FillSoundChannel(SoundS->SoundM, File, &SoundDef))
00171                 return 0;
00172         
00173         return (geSound_Def *)SoundDef;
00174 }

GENESISAPI geBoolean geSound_ModifySound geSound_System SoundS,
geSound Sound,
geFloat  Volume,
geFloat  Pan,
geFloat  Frequency
 

Definition at line 272 of file Engine/Sound.c.

References Channel, geSound_Cfg::Frequency, GE_FALSE, geBoolean, GENESISAPI, GetChannel(), geSound_System::GlobalVolume, ModifyChannel(), NULL, geSound_Cfg::Pan, geSound_System::SoundM, and geSound_Cfg::Volume.

Referenced by Electric_Frame().

00276 {
00277         Channel*        Channel;
00278         geSound_Cfg     LocalCfg;
00279 
00280         assert(SoundS != NULL);
00281         assert(Sound  != NULL); 
00282 
00283         Channel = GetChannel(SoundS->SoundM, (unsigned int)Sound);
00284 
00285         if (!Channel)
00286                 return GE_FALSE;
00287         LocalCfg.Volume    = Volume;
00288         LocalCfg.Pan       = Pan;
00289         LocalCfg.Frequency = Frequency;
00290         LocalCfg.Volume *= SoundS->GlobalVolume;
00291         return ModifyChannel(Channel, &LocalCfg);
00292 }

GENESISAPI geSound* geSound_PlaySoundDef geSound_System SoundS,
geSound_Def SoundDef,
geFloat  Volume,
geFloat  Pan,
geFloat  Frequency,
geBoolean  Loop
 

Definition at line 228 of file Engine/Sound.c.

References geSound_Cfg::Frequency, GENESISAPI, geSound, geSound_System::GlobalVolume, geSound_Cfg::Pan, geSound_System::SoundM, StartSoundChannel(), and geSound_Cfg::Volume.

Referenced by Electric_Frame(), Electric_SetWorld(), and ReadServerMessages().

00234 {
00235         unsigned int Sound;
00236         geSound_Cfg LocalCfg;
00237 
00238         LocalCfg.Volume         = Volume;
00239         LocalCfg.Pan            = Pan;
00240         LocalCfg.Frequency  = Frequency;
00241 
00242         LocalCfg.Volume *= SoundS->GlobalVolume;
00243         if (!StartSoundChannel(SoundS->SoundM, (unsigned int)SoundDef, &LocalCfg, (BOOL)Loop, &Sound))
00244         {
00245                 return 0;
00246         }
00247 
00248         return (geSound *)Sound;
00249 }

GENESISAPI geBoolean geSound_SetMasterVolume geSound_System SoundS,
geFloat  Volume
 

Definition at line 217 of file Engine/Sound.c.

References GE_FALSE, GE_TRUE, geBoolean, GENESISAPI, and geSound_System::GlobalVolume.

Referenced by GMenu_Key(), and WinMain().

00218 {
00219         if( !SoundS )
00220                 return( GE_FALSE );
00221         SoundS->GlobalVolume = Volume;
00222         return( GE_TRUE );
00223 }

GENESISAPI geBoolean geSound_SoundIsPlaying geSound_System SoundS,
geSound Sound
 

Definition at line 297 of file Engine/Sound.c.

References Channel, ChannelPlaying(), GE_FALSE, geBoolean, GENESISAPI, GetChannel(), NULL, and geSound_System::SoundM.

00298 {
00299         Channel*        Channel;
00300 
00301         assert(SoundS != NULL);
00302         assert(Sound  != NULL); 
00303 
00304         Channel = GetChannel(SoundS->SoundM, (unsigned int)Sound);
00305 
00306         if (!Channel)
00307                 return GE_FALSE;
00308 
00309         return ChannelPlaying(Channel);
00310 }

GENESISAPI geBoolean geSound_StopSound geSound_System SoundS,
geSound Sound
 

Definition at line 254 of file Engine/Sound.c.

References Channel, GE_FALSE, geBoolean, GENESISAPI, GetChannel(), NULL, geSound_System::SoundM, and StopSoundChannel().

00255 {
00256         Channel*        Channel;
00257 
00258         assert(SoundS != NULL);
00259         assert(Sound  != NULL); 
00260 
00261         Channel = GetChannel(SoundS->SoundM, (unsigned int)Sound);
00262 
00263         if (!Channel)
00264                 return GE_FALSE;
00265 
00266         return StopSoundChannel(Channel);       
00267 }


Generated on Tue Sep 30 12:38:08 2003 for GTestAndEngine by doxygen 1.3.2