Panda3D
|
Public Member Functions | |
virtual PN_stdfloat | audio_3d_get_distance_factor () const |
Sets units per foot. More... | |
virtual PN_stdfloat | audio_3d_get_doppler_factor () const |
virtual PN_stdfloat | audio_3d_get_drop_off_factor () const |
virtual void | audio_3d_get_listener_attributes (PN_stdfloat *px, PN_stdfloat *py, PN_stdfloat *pz, PN_stdfloat *vx, PN_stdfloat *vy, PN_stdfloat *vz, PN_stdfloat *fx, PN_stdfloat *fy, PN_stdfloat *fz, PN_stdfloat *ux, PN_stdfloat *uy, PN_stdfloat *uz) |
Get position of the "ear" that picks up 3d sounds. More... | |
virtual void | audio_3d_set_distance_factor (PN_stdfloat factor) |
Set units per foot WARNING: OpenAL has no distance factor but we use this as a scale on the min/max distances of sounds to preserve FMOD compatibility. More... | |
virtual void | audio_3d_set_doppler_factor (PN_stdfloat factor) |
Exaggerates or diminishes the Doppler effect. More... | |
virtual void | audio_3d_set_drop_off_factor (PN_stdfloat factor) |
Control the effect distance has on audability. More... | |
virtual void | audio_3d_set_listener_attributes (PN_stdfloat px, PN_stdfloat py, PN_stdfloat pz, PN_stdfloat vx, PN_stdfloat xy, PN_stdfloat xz, PN_stdfloat fx, PN_stdfloat fy, PN_stdfloat fz, PN_stdfloat ux, PN_stdfloat uy, PN_stdfloat uz) |
Set position of the "ear" that picks up 3d sounds NOW LISTEN UP!!! THIS IS IMPORTANT! Both Panda3D and OpenAL use a right handed coordinate system. More... | |
virtual void | clear_cache () |
Clear out the sound cache. More... | |
virtual TypeHandle | force_init_type () |
virtual bool | get_active () const |
virtual unsigned int | get_cache_limit () const |
virtual unsigned int | get_concurrent_sound_limit () const |
PN_stdfloat | get_play_rate () const |
get the overall speed/pitch/play rate More... | |
virtual TypeHandle | get_type () const |
virtual PN_stdfloat | get_volume () const |
Gets listener gain. More... | |
virtual bool | is_valid () |
This is mostly for debugging, but it it could be used to detect errors in a release build if you don't mind the cpu cost. More... | |
virtual | PT (AudioSound) get_sound(const string & |
virtual | PT (AudioSound) get_sound(MovieAudio *sound |
virtual void | reduce_sounds_playing_to (unsigned int count) |
virtual void | set_active (bool) |
Turn on/off Warning: not implemented. More... | |
virtual void | set_cache_limit (unsigned int count) |
Set the number of sounds that the cache can hold. More... | |
virtual void | set_concurrent_sound_limit (unsigned int limit=0) |
void | set_play_rate (PN_stdfloat play_rate) |
set the overall play rate More... | |
virtual void | set_volume (PN_stdfloat) |
Sets listener gain. More... | |
virtual void | shutdown () |
Call this at exit time to shut down the audio system. More... | |
virtual void | stop_all_sounds () |
Stop playback on all sounds managed by this manager. More... | |
virtual void | uncache_sound (const string &) |
Deletes a sample from the expiration queues. More... | |
virtual void | update () |
Perform all per-frame update functions. More... | |
![]() | |
virtual bool | configure_filters (FilterProperties *config) |
Configures the global DSP filter chain. More... | |
virtual int | getSpeakerSetup () |
virtual void | output (ostream &out) const |
PT (AudioSound) get_null_sound() | |
virtual void | set_speaker_configuration (LVecBase3 *speaker1, LVecBase3 *speaker2=NULL, LVecBase3 *speaker3=NULL, LVecBase3 *speaker4=NULL, LVecBase3 *speaker5=NULL, LVecBase3 *speaker6=NULL, LVecBase3 *speaker7=NULL, LVecBase3 *speaker8=NULL, LVecBase3 *speaker9=NULL) |
For use only with Miles. More... | |
virtual void | setSpeakerSetup (SpeakerModeCategory cat) |
virtual void | write (ostream &out) const |
![]() | |
TypedReferenceCount (const TypedReferenceCount ©) | |
void | operator= (const TypedReferenceCount ©) |
![]() | |
TypedObject (const TypedObject ©) | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_typed_object () const |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
int | get_best_parent_from_Set (const std::set< int > &) const |
int | get_type_index () const |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. More... | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. More... | |
void | operator= (const TypedObject ©) |
![]() | |
int | get_ref_count () const |
Returns the current reference count. More... | |
WeakReferenceList * | get_weak_list () const |
Returns the WeakReferenceList associated with this ReferenceCount object. More... | |
bool | has_weak_list () const |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More... | |
void | local_object () |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More... | |
void | ref () const |
Explicitly increments the reference count. More... | |
bool | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | test_ref_count_nonzero () const |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
virtual bool | unref () const |
Explicitly decrements the reference count. More... | |
void | weak_ref (WeakPointerToVoid *ptv) |
Adds the indicated PointerToVoid as a weak reference to this object. More... | |
void | weak_unref (WeakPointerToVoid *ptv) |
Removes the indicated PointerToVoid as a weak reference to this object. More... | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
static TypeHandle | get_class_type () |
static Filename | get_dls_pathname () |
Returns the full pathname to the DLS file, as specified by the Config.prc file, or the default for the current OS if appropriate. More... | |
static void | init_type () |
static | PT (AudioManager) create_AudioManager() |
static void | register_AudioManager_creator (Create_AudioManager_proc *proc) |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. More... | |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
Public Attributes | |
virtual bool int | mode =SM_heuristic) |
virtual bool | positional = false |
![]() | |
virtual bool int | mode =SM_heuristic) = 0 |
virtual bool | positional = false |
Friends | |
class | OpenALAudioSound |
class | OpenALSoundData |
Additional Inherited Members | |
![]() | |
enum | SpeakerId { SPK_none, SPK_frontleft, SPK_frontright, SPK_center, SPK_sub, SPK_backleft, SPK_backright, SPK_sideleft, SPK_sideright, SPK_COUNT } |
enum | SpeakerModeCategory { SPEAKERMODE_raw, SPEAKERMODE_mono, SPEAKERMODE_stereo, SPEAKERMODE_quad, SPEAKERMODE_surround, SPEAKERMODE_5point1, SPEAKERMODE_7point1, SPEAKERMODE_max, SPEAKERMODE_COUNT } |
enum | StreamMode { SM_heuristic, SM_sample, SM_stream } |
Definition at line 43 of file openalAudioManager.h.
|
virtual |
Sets units per foot.
Reimplemented from AudioManager.
Definition at line 826 of file openalAudioManager.cxx.
References audio_3d_set_doppler_factor().
Referenced by audio_3d_set_distance_factor().
|
virtual |
Get position of the "ear" that picks up 3d sounds.
Reimplemented from AudioManager.
Definition at line 763 of file openalAudioManager.cxx.
References audio_3d_set_distance_factor().
Referenced by audio_3d_set_listener_attributes().
|
virtual |
Set units per foot WARNING: OpenAL has no distance factor but we use this as a scale on the min/max distances of sounds to preserve FMOD compatibility.
Also, adjusts the speed of sound to compensate for unit difference. OpenAL's default speed of sound is 343.3 m/s == 1126.3 ft/s
Reimplemented from AudioManager.
Definition at line 793 of file openalAudioManager.cxx.
References audio_3d_get_distance_factor().
Referenced by audio_3d_get_listener_attributes().
|
virtual |
Exaggerates or diminishes the Doppler effect.
Defaults to 1.0
Reimplemented from AudioManager.
Definition at line 837 of file openalAudioManager.cxx.
References audio_3d_set_drop_off_factor().
Referenced by audio_3d_get_distance_factor().
|
virtual |
Control the effect distance has on audability.
Defaults to 1.0
Reimplemented from AudioManager.
Definition at line 865 of file openalAudioManager.cxx.
References stop_all_sounds(), and update().
Referenced by audio_3d_set_doppler_factor().
|
virtual |
Set position of the "ear" that picks up 3d sounds NOW LISTEN UP!!! THIS IS IMPORTANT! Both Panda3D and OpenAL use a right handed coordinate system.
But there is a major difference! In Panda3D the Y-Axis is going into the Screen and the Z-Axis is going up. In OpenAL the Y-Axis is going up and the Z-Axis is coming out of the screen. The solution is simple, we just flip the Y and Z axis and negate the Z, as we move coordinates from Panda to OpenAL and back. What does did mean to average Panda user? Nothing, they shouldn't notice anyway. But if you decide to do any 3D audio work in here you have to keep it in mind. I told you, so you can't say I didn't.
Reimplemented from AudioManager.
Definition at line 727 of file openalAudioManager.cxx.
References audio_3d_get_listener_attributes().
Referenced by set_active().
|
virtual |
Clear out the sound cache.
Implements AudioManager.
Definition at line 574 of file openalAudioManager.cxx.
References set_cache_limit().
Referenced by uncache_sound(), and update().
PN_stdfloat OpenALAudioManager::get_play_rate | ( | ) | const |
get the overall speed/pitch/play rate
Definition at line 678 of file openalAudioManager.cxx.
References set_active().
Referenced by set_play_rate().
|
virtual |
Gets listener gain.
Implements AudioManager.
Definition at line 650 of file openalAudioManager.cxx.
References set_play_rate().
Referenced by set_volume().
|
virtual |
This is mostly for debugging, but it it could be used to detect errors in a release build if you don't mind the cpu cost.
Implements AudioManager.
Definition at line 250 of file openalAudioManager.cxx.
References Filename::get_basename(), MovieAudio::get_filename(), VirtualFileSystem::get_global_ptr(), MovieAudioCursor::ready(), VirtualFileSystem::resolve_filename(), and uncache_sound().
Referenced by shutdown(), and uncache_sound().
|
virtual |
Turn on/off Warning: not implemented.
Implements AudioManager.
Definition at line 689 of file openalAudioManager.cxx.
References audio_3d_set_listener_attributes().
Referenced by get_play_rate().
|
virtual |
Set the number of sounds that the cache can hold.
Implements AudioManager.
Definition at line 585 of file openalAudioManager.cxx.
Referenced by clear_cache().
void OpenALAudioManager::set_play_rate | ( | PN_stdfloat | play_rate | ) |
set the overall play rate
Definition at line 660 of file openalAudioManager.cxx.
References get_play_rate().
Referenced by get_volume().
|
virtual |
Sets listener gain.
Implements AudioManager.
Definition at line 621 of file openalAudioManager.cxx.
References get_volume().
Referenced by OpenALAudioSound::play().
|
virtual |
Call this at exit time to shut down the audio system.
This will invalidate all currently-active AudioManagers and AudioSounds in the system. If you change your mind and want to play sounds again, you will have to recreate all of these objects.
Reimplemented from AudioManager.
Definition at line 229 of file openalAudioManager.cxx.
References is_valid().
|
virtual |
Stop playback on all sounds managed by this manager.
Implements AudioManager.
Definition at line 1006 of file openalAudioManager.cxx.
References update().
Referenced by audio_3d_set_drop_off_factor(), and update().
|
virtual |
Deletes a sample from the expiration queues.
If the sound is actively in use, then the sound cannot be deleted, and this function has no effect.
Implements AudioManager.
Definition at line 549 of file openalAudioManager.cxx.
References clear_cache(), VirtualFileSystem::get_global_ptr(), is_valid(), and VirtualFileSystem::resolve_filename().
Referenced by is_valid().
|
virtual |
Perform all per-frame update functions.
Reimplemented from AudioManager.
Definition at line 1017 of file openalAudioManager.cxx.
References clear_cache(), TrueClock::get_global_ptr(), and stop_all_sounds().
Referenced by audio_3d_set_drop_off_factor(), and stop_all_sounds().