Planeshift
SongHandle Class Reference

#include <songhandle.h>

Public Member Functions

virtual bool Init (const char *resname, bool loop, float volume_preset, int type, SoundControl *&ctrl, bool dopplerEffect)
 Initialize this Handle. More...
 
 SongHandle (csRef< iDocument > musicalSheet, Instrument *instrument)
 Constructor. More...
 
virtual ~SongHandle ()
 Destructor. More...
 
- Public Member Functions inherited from SoundHandle
void ConvertTo3D (float mindist, float maxdist, csVector3 pos, csVector3 dir, float rad)
 Converts this Handle to a 3D Handle. More...
 
void ConvertTo3D (float mindist, float maxdist, csVector3 pos, csVector3 dir, float rad)
 Converts this Handle to a 3D Handle. More...
 
void Fade (float volume, int time, int direction)
 Does fading calculation for this Handle. More...
 
void Fade (float volume, int time, int direction)
 Does fading calculation for this Handle. More...
 
void FadeStep ()
 Perform a fading step if it is needed. More...
 
bool GetAutoRemove ()
 Returns state of AutoRemove. More...
 
bool GetAutoRemove ()
 Returns state of AutoRemove. More...
 
uint GetID () const
 Gets the ID of this handle. More...
 
csVector3 GetSourcePosition ()
 Gets the position of the source. More...
 
bool Init (const char *resname, bool loop, float volume_preset, int type, SoundControl *&ctrl)
 Initialize this Handle. More...
 
bool Is3D ()
 Detects if the source of this handle is 3D. More...
 
bool IsDopplerEffectEnabled ()
 Check if the doppler effect is enabled for this sound. More...
 
bool IsWithinMaximumDistance (csVector3 listenerPos) const
 Check if the listener is within the maximum distance allowed. More...
 
virtual void OnSoundChange (SoundControl *sndCtrl)
 This function is called everytime the volume or the toggle change. More...
 
virtual bool Perform (iTimerEvent *)
 Unpause the sound after the given delay has elapsed. More...
 
void RemoveCallback ()
 Remove the callback. More...
 
void RemoveCallback ()
 Remove the callback. More...
 
void SetAutoRemove (bool toggle)
 Whether to remove this Sound/Handle on pause. More...
 
void SetAutoRemove (bool toggle)
 Whether to remove this Sound/Handle on pause. More...
 
void SetCallback (void(*object), void(*function)(void *))
 Sets a Callback to a object function. More...
 
void SetCallback (void(*object), void(*function)(void *))
 Sets a Callback to a object function. More...
 
void SetID (uint identifier)
 Sets the ID of this handle. More...
 
 SoundHandle (SoundSystemManager *)
 constructor More...
 
 SoundHandle ()
 constructor More...
 
void UnpauseAfterDelay (unsigned int delay)
 Unpause the sound stream of this header after the given delay. More...
 
 ~SoundHandle ()
 destructor More...
 
virtual ~SoundHandle ()
 destructor More...
 

Additional Inherited Members

- Public Attributes inherited from SoundHandle
bool autoremove
 remove this handle when pause? More...
 
int fade
 >0 is number of steps up <0 is number of steps down, 0 is nothing More...
 
bool fade_stop
 pause this sound after fading down true / false More...
 
float fade_volume
 volume we add or remove in each step (during fading) More...
 
csString name
 name of the resource or the file - not unique More...
 
float preset_volume
 the volume all calculations are based upon More...
 
SoundControlsndCtrl
 
csRef< iSndSysData > snddata
 pointer to sound data More...
 
csRef< iSndSysSource > sndsource
 sndsource if 2D More...
 
csRef< iSndSysSource3D > sndsource3d
 sndsource if 3D More...
 
csRef< iSndSysSource3DDirectionalSimple > sndsourcedir
 additional source if 3D and directional More...
 
csRef< iSndSysStream > sndstream
 sound stream More...
 
- Protected Attributes inherited from SoundHandle
float currentVolume
 the volume all calculations are based upon. More...
 
bool dopplerEffect
 true if the doppler effect is enabled for this sound More...
 

Detailed Description

Definition at line 34 of file songhandle.h.

Constructor & Destructor Documentation

SongHandle::SongHandle ( csRef< iDocument >  musicalSheet,
Instrument instrument 
)

Constructor.

Parameters
musicalSheetthe XML musical sheet.
instrumentthe instrument that the player use to play the song.
virtual SongHandle::~SongHandle ( )
virtual

Destructor.

Member Function Documentation

virtual bool SongHandle::Init ( const char *  resname,
bool  loop,
float  volume_preset,
int  type,
SoundControl *&  ctrl,
bool  dopplerEffect 
)
virtual

Initialize this Handle.

Done within this because its not failsave. Returns true or false.

Parameters
resnamename of the resource
loopLOOP or DONT_LOOP
volume_presetvolume which all calculation are based upon
type3d type: can be CS_SND3D_DISABLE=0. CS_SND3D_RELATIVE=1 or CS_SND3D_ABSOLUTE=2
ctrlSoundControl which controls this Handle
dopplerEffecttrue to apply the doppler effect to this sound, false otherwise.

Reimplemented from SoundHandle.


The documentation for this class was generated from the following file: