Openb3d.B3dsound: | Functions | Types | Modinfo | Source |
DopplerFrameSkip | Stops doppler effect for all objects for 1 update. |
EntityPause3DSound | Pauses all sounds attached to an entity. |
EntityResume3DSound | Resumes all paused sounds attached to an entity. |
EntityStop3DSound | Stops all sounds attached to an entity. |
Init3DSound | Setup the 3D sound system. |
List3DSounds | Finds sounds associated with an entity. |
Pause3DSound | Pauses a 3D Sound. |
Que3DSound | Attaches a sound to an entity but does NOT start it playing. |
Resume3DSound | Resumes a pause 3D Sound. |
Start3DSound | Attaches a sound to an entity and starts it playing. |
Stop3DSound | Stops a 3D Sound. |
Update3DSounds | Updates all the 3D sound channels. |
SoundPoint | SoundPoint Type. |
Function DopplerFrameSkip() | |
Description | Stops doppler effect for all objects for 1 update. |
Information | If you need to move your listen point in a way that you do not want to have effect the doppler effect then call this before your next call to Update3DSounds. An example would be if you have a camera looking at an object from a distance and then "change view" in your game by moving the camera close and behind the object. This would normaly be a very fast move and cause a large doppler effect. Call DopplerFrameSkip() somewhere durring the camera re-position, before the next call to Update3DSounds(). |
Function EntityPause3DSound(NoisyEntity:TEntity) | |
Description | Pauses all sounds attached to an entity. |
Information | Pauses all sounds that are attached to an entity through the internal 3D sound point list. |
Function EntityResume3DSound(NoisyEntity:TEntity) | |
Description | Resumes all paused sounds attached to an entity. |
Information | Resumes all paused sounds that are attached to an entity through the internal 3D sound point list. |
Function EntityStop3DSound(NoisyEntity:TEntity) | |
Description | Stops all sounds attached to an entity. |
Information | Stops all sounds that are attached to an entity through the internal 3D sound point list. |
Function Init3DSound(ListeningEntity:TEntity, MaxRange:Float, ExaggerateDopplerScale:Float=DOPPLER_DISABLED) | |
Description | Setup the 3D sound system. |
Information | Call this before any other 3D sound calls The sound system can be re-initialized later without loosing the sounds currently playing. ListeningEntity is the entity you will hear sound through. MaxRange is the maximum distance a sound will be before it is silent ExaggerateDopplerScale optional is the amound to exagerate the doppler effect bye. Setting it to DOPPLER_DISABLED, or leaving it blank will dissable the doppler effect. A value of 1 will use accurate doppler effect (1 unit = 1 meter). An appropriate value will be dependent on the speeds of objects in your program. |
Function List3DSounds:TList(NoisyEntity:TEntity) | |
Returns | TList of Sound Points attached to the entity. |
Description | Finds sounds associated with an entity. |
Information | Finds and returns all sound points attached to the passed entity. |
Function Pause3DSound(TheSoundPoint:SoundPoint) | |
Description | Pauses a 3D Sound. |
Information | Wrapper for SoundPoint.Pause = True for more logical programing. |
Function Que3DSound:SoundPoint(TheSound:TSound, NoisyEntity:TEntity, Loudness:Float=1, Volume:Float=1) | |
Returns | Sound Point so you can control the sound further. You can ignore the value as it is held in. |
Description | Attaches a sound to an entity but does NOT start it playing. |
Function Resume3DSound(TheSoundPoint:SoundPoint) | |
Description | Resumes a pause 3D Sound. |
Information | Wrapper for SoundPoint.Pause = False for more logical programing. |
Function Start3DSound:SoundPoint(TheSound:TSound, NoisyEntity:TEntity, Loudness:Float=1, Volume:Float=1) | |
Returns | Sound Point so you can control it further. You can ignore the return value as it is held in. |
Description | Attaches a sound to an entity and starts it playing. |
Function Stop3DSound(TheSoundPoint:SoundPoint) | |
Description | Stops a 3D Sound. |
Information | Wrapper for SoundPoint.Stop() for more logical programing. |
Function Update3DSounds() | |
Description | Updates all the 3D sound channels. |
Information | Should be called (optimaly) once per loop, preferably after positions and collisions have been handled. |
Type SoundPoint | |
Description | SoundPoint Type. |
Information | A SoundPoint is a point that plays a sound in 3D space. |
Fields Summary | |
---|---|
Depth , DepthBump , EmiterObject , Loudness , MasterVolume , Pan , PanBump , Paused , Rate , RateBump , SoundChannel , Volume , VolumeBump |
Methods Summary | |
---|---|
Stop | Stops a sound and removes it from the sound system. |
Update | Updates the sound channel and it's positional information, as well as clearing the channel if the sound is done playing. |
Functions Summary | |
---|---|
Create | Creates a new sound point. |
Field Depth:Float | |
Description | The depth point of the sound. |
Field DepthBump:Float | |
Description | The depth bump. |
Information | When calculating the sound channels depth this number will be added to the new pan. If you set any bump vairable to UPDATE_DISABLED then that primary variable will no longer be updated and can be directly modified. For example, setting VolumeBump = UPDATE_DISABLED will stop the Volume variable from updating so you can change it Directly. |
Field EmiterObject:TEntity | |
Description | The Entity that is emiting the sound. |
Field Loudness:Float | |
Description | The "loudness" of the sound. |
Field MasterVolume:Float | |
Description | The base volume of the sound. |
Field Pan:Float | |
Description | The pan point of the sound. |
Field PanBump:Float | |
Description | The pan bump. |
Information | When calculating the sound channels pan this number will be added to the new pan. If you set any bump vairable to UPDATE_DISABLED then that primary variable will no longer be updated and can be directly modified. For example, setting VolumeBump = UPDATE_DISABLED will stop the Volume variable from updating so you can change it Directly. |
Field Paused:Byte = False | |
Description | Pause status. |
Information | If a song is paused it will still be updated and held, but will not play. To pause a sound, change it's paused value to true and update the sound. |
Field Rate:Float = 1 | |
Description | The play rate of the sound. |
Field RateBump:Float | |
Description | The play rate bump. |
Information | When calculating the sound channels play rate this number will be added to the new rate. If you set any bump vairable to UPDATE_DISABLED then that primary variable will no longer be updated and can be directly modified. For example, setting VolumeBump = UPDATE_DISABLED will stop the Volume variable from updating so you can change it Directly. |
Field SoundChannel:TChannel | |
Description | The channel the sound is playing in. |
Field Volume:Float | |
Description | The volume of the sound. |
Field VolumeBump:Float | |
Description | The volume bump. |
Information | When calculating the sound channels volume this number will be added to the new volume. If you set any bump vairable to UPDATE_DISABLED then that primary variable will no longer be updated and can be directly modified. For example, setting VolumeBump = UPDATE_DISABLED will stop the Volume variable from updating so you can change it Directly. |
Method Stop() | |
Description | Stops a sound and removes it from the sound system. |
Information | This will stop a sound point while playing and free it's resources. |
Method Update() | |
Description | Updates the sound channel and it's positional information, as well as clearing the channel if the sound is done playing. |
Information | To update all sounds at once use Update3DSounds() |
Function Create:SoundPoint(TheSound:TSound, NoisyEntity:TEntity, EntityLoudness:Float=1, Volume:Float=1, Qued:Byte = False) | |
Description | Creates a new sound point. |
Information | To create a sound use Start3DSound to allow for future changes to the system. |
Version | 1.2 |
---|---|
Author | Logan Chittenden |
License | You are free to use this code as you please. |
History | 1.2 Added Stop3DSound() : EntityStop3DSound() : Pause3DSound() : EntityPause3DSound() : |
Resume3DSound() | EntityResume3DSound() : Fixed some misc memory bugs. Removed redundent lines. |
History | 1.1 Added DopplerFrameSkip() : Que3DSound() : UPDATE_DISABLED option : |
SoundPoint.Playing | List3DSounds() : Fixed un-necessarily confusing dopper effect stuff. |
History | 1.0 Initial Release |