# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLSOUND Namespace Reference

This namespace contains the sound classes. More...


Compounds

class  NLSOUND::CAmbiantSource
 Stereo mix of a envsound, seen as a source (see CEnvSoundUser). More...

class  NLSOUND::CAsyncFileManagerSound
 CAsyncFileManagerSound is a class that manage sound file loading in a seperate thread This class mostly depend on the CAsyncFileManager class for serializing async file loas request. More...

class  NLSOUND::CSoundPattern::IntervalIterator
class  NLSOUND::CSoundPattern::PatternIterator
class  NLSOUND::CAudioMixerUser
 Implementation of UAudioMixer. More...

class  NLSOUND::CBackgroundSound
 A background sound static properties. More...

class  NLSOUND::CBackgroundSoundManager
 This manager handle the background sound : primitive positioned sound (point, path and patatoid supported) primitive positioned effect (patatoid only) primitive positioned sample bank (patatoid only) A set of 16 application definable flag that can be used in background sound to filter the sub sounds of a background sound. More...

class  NLSOUND::CBackgroundSource
 Implemetation class for background source. More...

class  NLSOUND::IBuffer
 Sound buffer interface (implemented in sound driver dynamic library). More...

class  NLSOUND::CBufferAL
 OpenAL buffer. More...

class  NLSOUND::CBufferDSound
 Buffer for the DSound implementation of the audio driver. More...

class  NLSOUND::CCancelLoadWavFile
class  NLSOUND::CAsyncFileManagerSound::CLoadWavFile
class  NLSOUND::CAudioMixerUser::IMixerUpdate
 Interface for registering object in the mixer update. More...

class  NLSOUND::CAudioMixerUser::IMixerEvent
 Intergace for registering object in the mixer eventlist. More...

class  NLSOUND::CComplexSound
class  NLSOUND::CComplexSource
 Implemetation class for Complex source. More...

struct  NLSOUND::CContextMatcher
struct  NLSOUND::CContextMatcher::CHash
class  NLSOUND::CContextSound
class  NLSOUND::CContextSoundContainer
class  NLSOUND::IContextSoundContainer
class  NLSOUND::CDeviceDescription
class  NLSOUND::CEnvEffect
 Environmental effects and where they are applied. More...

class  NLSOUND::CEnvSoundUser
 Implementation of UEnvSound. More...

class  NLSOUND::ESampleBankNotFound
 ESoundFileNotFound. More...

class  NLSOUND::ESoundBankNotFound
 ESoundFileNotFound. More...

class  NLSOUND::ESoundDriver
 Sound driver exceptions. More...

class  NLSOUND::ESoundDriverCantCreateDriver
 ESoundDriverCantCreateDriver. More...

class  NLSOUND::ESoundDriverCorrupted
 ESoundDriverCorrupted. More...

class  NLSOUND::ESoundDriverGenBuf
 ESoundDriverGenBuf. More...

class  NLSOUND::ESoundDriverGenSrc
 ESoundDriverGenBuf. More...

class  NLSOUND::ESoundDriverNotFound
 ESoundDriverNotFound. More...

class  NLSOUND::ESoundDriverNotSupp
 ESoundDriverNotSupp. More...

class  NLSOUND::ESoundDriverOldVersion
 ESoundDriverOldVersion. More...

class  NLSOUND::ESoundDriverUnknownVersion
 ESoundDriverUnknownVersion. More...

class  NLSOUND::ESoundFileNotFound
 ESoundFileNotFound. More...

class  NLSOUND::IListener
 Sound listener interface (implemented in sound driver dynamic library). More...

class  NLSOUND::CListenerAL
 OpenAL sound listener. More...

class  NLSOUND::CListenerDSound
 DirectSound listener. More...

class  NLSOUND::CListenerUser
 Implementation of UListener. More...

class  NLSOUND::ILoader
 Sound loader interface. More...

struct  NLSOUND::CompareSources
class  NLSOUND::CSampleBank
 A set of samples. More...

class  NLSOUND::CSimpleSound
 A sound buffer and its static properties. More...

class  NLSOUND::CSimpleSource
 Implementation of USource. More...

class  NLSOUND::CSound
 A sound base class and its static properties. More...

class  NLSOUND::CSoundAnimation
class  NLSOUND::CSoundAnimManager
 The set of players. More...

class  NLSOUND::CSoundAnimMarker
class  NLSOUND::CSoundBank
 A set of sounds. More...

struct  NLSOUND::CSoundContext
struct  NLSOUND::CBackgroundSoundManager::TBanksData
 Storage for a samples banks zone. More...

class  NLSOUND::ISoundDriver
 Abstract sound driver (implemented in sound driver dynamic library). More...

class  NLSOUND::CSoundDriverAL
 OpenAL sound driver. More...

class  NLSOUND::CSoundDriverDSound
class  NLSOUND::CSoundPattern
class  NLSOUND::CSoundSerializer
 Pseudo serializer for packed sheet loading/saving. More...

class  NLSOUND::ISource
 Sound source interface (implemented in sound driver dynamic library). More...

class  NLSOUND::CSourceAL
 OpenAL sound source. More...

class  NLSOUND::CSourceCommon
class  NLSOUND::CSourceDSound
 DirectSound sound source. More...

struct  NLSOUND::TEnvEffectRoom
 Enveffect preset and size. More...

class  NLSOUND::CSoundPattern::Iterator
struct  NLSOUND::TFindId
struct  NLSOUND::THashPtr
 Hasher functor for hashed container with pointer key. More...

struct  NLSOUND::CBackgroundSound::TSoundInfo
 Associtation clas for storage of sound / filter. More...

struct  NLSOUND::CBackgroundSoundManager::TSoundData
 Storage for all a sound in a layer. More...

struct  NLSOUND::CBackgroundSoundManager::TSoundStatus
struct  NLSOUND::CBackgroundSource::TSubSource
 Sub source info. More...

class  NLSOUND::CTrack
 A source selected for playing. More...

struct  NLSOUND::UAudioMixer::TBackgroundFlags
 Structure that containg the background flags. More...

class  NLSOUND::UAudioMixer
 Game interface for audio. More...

class  NLSOUND::UEnvSound
 Game interface for localized environment sounds. More...

class  NLSOUND::UListener
 Game interface for listener control. More...

class  NLSOUND::USource
 Game interface for sound sources (stereo or 3D sound instances). More...


Typedefs

typedef sint32 TSoundAnimId
typedef sint32 TSoundAnimPlayId
typedef std::hash_map< std::string,
TSoundAnimId
TSoundAnimMap
 Animation name-to-id hash map. More...

typedef std::vector< CSoundAnimation * > TSoundAnimVector
 Animation vector. More...

typedef std::set< std::string > TMarkerSoundSet
typedef std::vector< CSoundAnimMarker * > TMarkerVector
typedef CSoundTSoundId
 Sound sample identifiers. More...

typedef void(* TSpawnEndCallback )(USource *, void *)
 Type of callbacks called before a spawned source is deleted. More...

typedef std::basic_string<
uint16
uint16_string
typedef ALvoid(* TGenFunctionAL )(ALsizei, ALuint *)
typedef ALboolean(* TTestFunctionAL )(ALuint)
typedef ISoundDriver *(* ISDRV_CREATE_PROC )(void)
typedef uint32(* ISDRV_VERSION_PROC )(void)
typedef std::hash_map< std::string,
IBuffer * > 
TSampleTable
 Sound names hash map. More...

typedef std::hash_map< std::string,
CSound * > 
TSoundMap
 Sound names hash map. More...

typedef std::set< CSound * > TSoundSet
 Sound names set (for ambiant sounds). More...


Enumerations

enum  TSoundPriority {
  HighestPri, HighPri, MidPri, LowPri,
  NbSoundPriorities
}
 Priority of the sources (p1<p2 means p1 has higher priority than p2). More...

enum  TSampleFormat { Mono8, Mono16, Stereo8, Stereo16 }
enum  TSourceDSoundBufferState { NL_DSOUND_FILLING, NL_DSOUND_SILENCING, NL_DSOUND_SILENCED }
 Keep trace of following states of the DirectSound buffer: the buffer is being filled with samples (filling), the buffer still contains samples but silence is being written (silencing), the buffer contains no samples but only silence (silenced). More...

enum  TSourceDSoundUserState { NL_DSOUND_PLAYING, NL_DSOUND_PAUSED, NL_DSOUND_STOPPED }
 The state of the source as experienced by the user: playing, paused, and stopped. More...

enum  TSourceDSoundEndState { NL_DSOUND_TAIL1, NL_DSOUND_TAIL2, NL_DSOUND_ENDED }
 To figger out whether the sound device has played all the samples in the buffer, the position of the play cursor is traced relatively to the position of the last sample in the buffer. More...

enum  TEnvEffectPreset {
  ENVEFFECT_GENERIC, ENVEFFECT_PADDEDCELL, ENVEFFECT_ROOM, ENVEFFECT_BATHROOM,
  ENVEFFECT_LIVINGROOM, ENVEFFECT_STONEROOM, ENVEFFECT_AUDITORIUM, ENVEFFECT_CONCERTHALL,
  ENVEFFECT_CAVE, ENVEFFECT_ARENA, ENVEFFECT_HANGAR, ENVEFFECT_CARPETEDHALLWAY,
  ENVEFFECT_HALLWAY, ENVEFFECT_STONECORRIDOR, ENVEFFECT_ALLEY, ENVEFFECT_FOREST,
  ENVEFFECT_CITY, ENVEFFECT_MOUNTAINS, ENVEFFECT_QUARRY, ENVEFFECT_PLAIN,
  ENVEFFECT_PARKINGLOT, ENVEFFECT_SEWERPIPE, ENVEFFECT_UNDERWATER, ENVEFFECT_DRUGGED,
  ENVEFFECT_DIZZY, ENVEFFECT_PSYCHOTIC, ENVEFFECT_COUNT
}
 EAX environmental effect presets. More...


Functions

const char * getPriorityStr (TSoundPriority p)
 Return the priority cstring (debug info). More...

BOOL WINAPI DllMain (HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
long FAR PASCAL CSoundDriverCreateWindowProc (HWND hWnd, unsigned message, WPARAM wParam, LPARAM lParam)
 __declspec (dllexport) ISoundDriver *NLSOUND_createISoundDriverInstance()
BOOL CALLBACK CSoundDriverDSoundEnumCallback (LPGUID guid, LPCSTR description, PCSTR module, LPVOID context)
void ThrowGenException (TGenFunctionAL algenfunc)
TSampleFormat ALtoNLSoundFormat (ALenum alformat)

Variables

const TSoundAnimId CSoundAnimationNoId = -1
const uint SoundContextNbArgs = 10
const char * PriToCStr [NbSoundPriorities] = { "XH", "HI", "MD", "LO" }
const uint MAX_TRACKS = 32
const float INSIDE_FALLOF = 10.0f
const uint32 BACKGROUND_LAYER = 3
 Number of background layer. Layer are identified in .prim by a letter starting from 'a' (for layer 0). More...

const TTime ENV_CHK_INTERVAL = 3000
 Time interval between environnment checking (millisec). More...

HINSTANCE CSoundDriverDllHandle = 0
HWND CSoundDriverWnd = 0
const char * IDRV_CREATE_PROC_NAME = "NLSOUND_createISoundDriverInstance"
const char * IDRV_VERSION_PROC_NAME = "NLSOUND_interfaceVersion"
uint32 ASYNC_LOADING_SPLIT = 10
 Constante for the number of file to load asynchronously at a time. More...

const double Sqrt12_2 = 1.0594630943592952645618252949463
std::map< std::string, CSoundSerializerContainer


Detailed Description

This namespace contains the sound classes.

Typedef Documentation

typedef ISoundDriver*(* NLSOUND::ISDRV_CREATE_PROC)(void)
 

Definition at line 48 of file sound_driver.cpp.

Referenced by NLSOUND::ISoundDriver::createDriver.

typedef uint32(* NLSOUND::ISDRV_VERSION_PROC)(void)
 

Definition at line 51 of file sound_driver.cpp.

Referenced by NLSOUND::ISoundDriver::createDriver.

typedef ALvoid(* NLSOUND::TGenFunctionAL)( ALsizei, ALuint* )
 

Definition at line 51 of file sound_driver_al.h.

Referenced by NLSOUND::CSoundDriverAL::allocateNewItems, NLSOUND::CSoundDriverAL::createItem, NLSOUND::CSoundDriverAL::deleteItem, and NLSOUND::CSoundDriverAL::generateItems.

typedef std::set<std::string> NLSOUND::TMarkerSoundSet
 

Definition at line 38 of file sound_anim_marker.h.

typedef std::vector<CSoundAnimMarker*> NLSOUND::TMarkerVector
 

Definition at line 41 of file sound_animation.h.

typedef std::hash_map<std::string, IBuffer*> NLSOUND::TSampleTable
 

Sound names hash map.

Definition at line 55 of file sample_bank.h.

typedef sint32 NLSOUND::TSoundAnimId
 

Definition at line 54 of file sound_anim_manager.h.

Referenced by NLSOUND::CSoundAnimManager::createAnimation, NLSOUND::CSoundAnimation::CSoundAnimation, NLSOUND::CSoundAnimManager::getAnimationFromName, NLSOUND::CSoundAnimManager::idToName, NLSOUND::CSoundAnimManager::loadAnimation, NLSOUND::CSoundAnimManager::playAnimation, and NLSOUND::TFindId::TFindId.

typedef std::hash_map<std::string, TSoundAnimId> NLSOUND::TSoundAnimMap
 

Animation name-to-id hash map.

Definition at line 62 of file sound_anim_manager.h.

typedef sint32 NLSOUND::TSoundAnimPlayId
 

Definition at line 59 of file sound_anim_manager.h.

Referenced by NLSOUND::CSoundAnimManager::isPlaying, NLSOUND::CSoundAnimManager::playAnimation, and NLSOUND::CSoundAnimManager::stopAnimation.

typedef std::vector<CSoundAnimation*> NLSOUND::TSoundAnimVector
 

Animation vector.

Definition at line 65 of file sound_anim_manager.h.

typedef CSound* NLSOUND::TSoundId
 

Sound sample identifiers.

Definition at line 69 of file u_source.h.

Referenced by NLSOUND::CAmbiantSource::calcRandomSparseSoundTime, NLSOUND::CAudioMixerUser::createSource, NLSOUND::CSourceCommon::CSourceCommon, NLSOUND::CAmbiantSource::getChannels, NLSOUND::CAmbiantSource::getRandomSound, NLSOUND::CSimpleSource::getSound, NLSOUND::CComplexSource::getSound, NLSOUND::CBackgroundSource::getSound, NLSOUND::CAudioMixerUser::getSoundId, NLSOUND::CComplexSource::setSound, NLSOUND::CBackgroundSource::setSound, and NLSOUND::CAmbiantSource::update.

typedef std::hash_map<std::string, CSound*> NLSOUND::TSoundMap
 

Sound names hash map.

Definition at line 45 of file sound.h.

typedef std::set<CSound*> NLSOUND::TSoundSet
 

Sound names set (for ambiant sounds).

Definition at line 48 of file sound.h.

typedef void(* NLSOUND::TSpawnEndCallback)(USource *, void *)
 

Type of callbacks called before a spawned source is deleted.

Definition at line 76 of file u_source.h.

Referenced by NLSOUND::CBackgroundSource::CBackgroundSource, NLSOUND::CComplexSource::CComplexSource, NLSOUND::CAudioMixerUser::createSource, NLSOUND::CSimpleSource::CSimpleSource, NLSOUND::CSourceCommon::CSourceCommon, and NLSOUND::CSimpleSource::getSpawnEndCallback.

typedef ALboolean(* NLSOUND::TTestFunctionAL)( ALuint )
 

Definition at line 55 of file sound_driver_al.h.

Referenced by NLSOUND::CSoundDriverAL::allocateNewItems, NLSOUND::CSoundDriverAL::compactAliveNames, NLSOUND::CSoundDriverAL::createItem, and NLSOUND::CSoundDriverAL::generateItems.

typedef std::basic_string< uint16 > NLSOUND::uint16_string
 

Definition at line 39 of file complex_sound.h.


Enumeration Type Documentation

enum NLSOUND::TEnvEffectPreset
 

EAX environmental effect presets.

Enumeration values:
ENVEFFECT_GENERIC 
ENVEFFECT_PADDEDCELL 
ENVEFFECT_ROOM 
ENVEFFECT_BATHROOM 
ENVEFFECT_LIVINGROOM 
ENVEFFECT_STONEROOM 
ENVEFFECT_AUDITORIUM 
ENVEFFECT_CONCERTHALL 
ENVEFFECT_CAVE 
ENVEFFECT_ARENA 
ENVEFFECT_HANGAR 
ENVEFFECT_CARPETEDHALLWAY 
ENVEFFECT_HALLWAY 
ENVEFFECT_STONECORRIDOR 
ENVEFFECT_ALLEY 
ENVEFFECT_FOREST 
ENVEFFECT_CITY 
ENVEFFECT_MOUNTAINS 
ENVEFFECT_QUARRY 
ENVEFFECT_PLAIN 
ENVEFFECT_PARKINGLOT 
ENVEFFECT_SEWERPIPE 
ENVEFFECT_UNDERWATER 
ENVEFFECT_DRUGGED 
ENVEFFECT_DIZZY 
ENVEFFECT_PSYCHOTIC 
ENVEFFECT_COUNT 

Definition at line 38 of file env_effect.h.

Referenced by NLSOUND::CEnvEffect::addEnvNum, NLSOUND::CEnvEffect::getEnvNum, and NLSOUND::TEnvEffectRoom::TEnvEffectRoom.

enum NLSOUND::TSampleFormat
 

Enumeration values:
Mono8 
Mono16 
Stereo8 
Stereo16 

Definition at line 39 of file buffer.h.

Referenced by NLSOUND::CBufferDSound::getFormat, NLSOUND::CBufferAL::getFormat, NLSOUND::CSourceDSound::getPitch, NLSOUND::CBufferDSound::setFormat, NLSOUND::CBufferAL::setFormat, and NLSOUND::CSourceDSound::setPitch.

enum NLSOUND::TSoundPriority
 

Priority of the sources (p1<p2 means p1 has higher priority than p2).

Enumeration values:
HighestPri 
HighPri 
MidPri 
LowPri 
NbSoundPriorities 

Definition at line 72 of file u_source.h.

Referenced by NLSOUND::CSourceCommon::getPriority, NLSOUND::CSound::getPriority, NLSOUND::CSourceCommon::setPriority, and NLSOUND::CAudioMixerUser::setPriorityReserve.

enum NLSOUND::TSourceDSoundBufferState
 

Keep trace of following states of the DirectSound buffer: the buffer is being filled with samples (filling), the buffer still contains samples but silence is being written (silencing), the buffer contains no samples but only silence (silenced).

  • * - * -
Enumeration values:
NL_DSOUND_FILLING  The buffer is being filled with samples (filling),.
NL_DSOUND_SILENCING  The buffer still contains samples but silence is being written (silencing),.
NL_DSOUND_SILENCED  The buffer contains no samples but only silence (silenced).

Definition at line 48 of file source_dsound.h.

enum NLSOUND::TSourceDSoundEndState
 

To figger out whether the sound device has played all the samples in the buffer, the position of the play cursor is traced relatively to the position of the last sample in the buffer.

Enumeration values:
NL_DSOUND_TAIL1 
NL_DSOUND_TAIL2 
NL_DSOUND_ENDED 

Definition at line 75 of file source_dsound.h.

enum NLSOUND::TSourceDSoundUserState
 

The state of the source as experienced by the user: playing, paused, and stopped.

Enumeration values:
NL_DSOUND_PLAYING  The buffer is playing.
NL_DSOUND_PAUSED  The buffer is paused.
NL_DSOUND_STOPPED  The buffer is stopped.

Definition at line 60 of file source_dsound.h.

Referenced by NLSOUND::CSourceDSound::pause, and NLSOUND::CSourceDSound::stop.


Function Documentation

NLSOUND::__declspec dllexport   
 

Definition at line 70 of file sound_driver_dsound.cpp.

TSampleFormat ALtoNLSoundFormat ALenum    alformat
 

Definition at line 408 of file sound_driver_al.cpp.

Referenced by NLSOUND::CSoundDriverAL::loadWavFile.

long FAR PASCAL CSoundDriverCreateWindowProc HWND    hWnd,
unsigned    message,
WPARAM    wParam,
LPARAM    lParam
 

Definition at line 63 of file sound_driver_dsound.cpp.

BOOL CALLBACK CSoundDriverDSoundEnumCallback LPGUID    guid,
LPCSTR    description,
PCSTR    module,
LPVOID    context
 

Definition at line 244 of file sound_driver_dsound.cpp.

Referenced by NLSOUND::CSoundDriverDSound::init.

BOOL WINAPI DllMain HANDLE    hModule,
DWORD    ul_reason_for_call,
LPVOID    lpReserved
 

Definition at line 53 of file sound_driver_dsound.cpp.

const char * NLSOUND::getPriorityStr TSoundPriority    p
 

Return the priority cstring (debug info).

Definition at line 84 of file audio_mixer_user.cpp.

void ThrowGenException TGenFunctionAL    algenfunc
 

Definition at line 224 of file sound_driver_al.cpp.

Referenced by NLSOUND::CSoundDriverAL::generateItems.


Variable Documentation

uint32 NLSOUND::ASYNC_LOADING_SPLIT = 10
 

Constante for the number of file to load asynchronously at a time.

Definition at line 44 of file sample_bank.cpp.

Referenced by NLSOUND::CSampleBank::load, and NLSOUND::CSampleBank::onUpdate.

const uint32 NLSOUND::BACKGROUND_LAYER = 3
 

Number of background layer. Layer are identified in .prim by a letter starting from 'a' (for layer 0).

Definition at line 48 of file background_sound_manager.h.

Referenced by NLSOUND::CBackgroundSoundManager::addSound, NLSOUND::CBackgroundSoundManager::stop, NLSOUND::CBackgroundSoundManager::unload, and NLSOUND::CBackgroundSoundManager::updateBackgroundStatus.

std::map<std::string, CSoundSerializer> NLSOUND::Container
 

Definition at line 267 of file sound_bank.cpp.

Referenced by NLSOUND::CSoundBank::load.

const TSoundAnimId NLSOUND::CSoundAnimationNoId = -1
 

Definition at line 56 of file sound_anim_manager.h.

Referenced by NLSOUND::CSoundAnimManager::createAnimation, NLSOUND::CSoundAnimManager::getAnimationFromName, NLSOUND::CSoundAnimManager::loadAnimation, and NLSOUND::CSoundAnimManager::playAnimation.

HINSTANCE NLSOUND::CSoundDriverDllHandle = 0
 

Definition at line 46 of file sound_driver_dsound.cpp.

HWND NLSOUND::CSoundDriverWnd = 0
 

Definition at line 47 of file sound_driver_dsound.cpp.

const TTime NLSOUND::ENV_CHK_INTERVAL = 3000
 

Time interval between environnment checking (millisec).

Definition at line 37 of file background_source.cpp.

Referenced by NLSOUND::CBackgroundSource::onEvent, and NLSOUND::CBackgroundSource::play.

const char* NLSOUND::IDRV_CREATE_PROC_NAME = "NLSOUND_createISoundDriverInstance"
 

Definition at line 49 of file sound_driver.cpp.

Referenced by NLSOUND::ISoundDriver::createDriver.

const char* NLSOUND::IDRV_VERSION_PROC_NAME = "NLSOUND_interfaceVersion"
 

Definition at line 52 of file sound_driver.cpp.

Referenced by NLSOUND::ISoundDriver::createDriver.

const float NLSOUND::INSIDE_FALLOF = 10.0f
 

Definition at line 48 of file background_sound_manager.cpp.

Referenced by NLSOUND::CBackgroundSoundManager::updateBackgroundStatus.

const uint NLSOUND::MAX_TRACKS = 32
 

Definition at line 61 of file audio_mixer_user.h.

Referenced by NLSOUND::CAudioMixerUser::init.

const char* NLSOUND::PriToCStr[NbSoundPriorities] = { "XH", "HI", "MD", "LO" }
 

Definition at line 79 of file audio_mixer_user.cpp.

const uint NLSOUND::SoundContextNbArgs = 10 [static]
 

Definition at line 42 of file u_source.h.

Referenced by NLSOUND::CSoundContext::CSoundContext.

const double NLSOUND::Sqrt12_2 = 1.0594630943592952645618252949463
 

Definition at line 50 of file sound.h.

Referenced by NLSOUND::CSound::importForm.