Panda3D
|
Public Member Functions | |
FmodAudioSound (AudioManager *manager, VirtualFile *file, bool positional) | |
Constructor All sound will DEFAULT load as a 2D sound unless otherwise specified. | |
~FmodAudioSound () | |
DESTRUCTOR!!! | |
void | finished () |
Not implemented. | |
virtual TypeHandle | force_init_type () |
void | get_3d_attributes (PN_stdfloat *px, PN_stdfloat *py, PN_stdfloat *pz, PN_stdfloat *vx, PN_stdfloat *vy, PN_stdfloat *vz) |
Get position and velocity of this sound Currently unimplemented. | |
PN_stdfloat | get_3d_max_distance () const |
Get the distance that this sound stops falling off. | |
PN_stdfloat | get_3d_min_distance () const |
Get the distance that this sound begins to fall off. | |
bool | get_active () const |
Returns whether the sound has been marked "active". | |
PN_stdfloat | get_balance () const |
-1.0 to 1.0 scale -1 should be all the way left. | |
const std::string & | get_finished_event () const |
NOT USED ANYMORE!!! Return the string the finished event is referenced by. | |
bool | get_loop () const |
Returns whether looping is on or off. | |
unsigned long | get_loop_count () const |
Return how many times a sound will loop. | |
const std::string & | get_name () const |
Get name of sound file. | |
PN_stdfloat | get_play_rate () const |
virtual PN_stdfloat | get_speaker_mix (int speaker) |
In Multichannel Speaker systems [like Surround]. | |
PN_stdfloat | get_time () const |
Gets the play position within the sound. | |
virtual TypeHandle | get_type () const |
PN_stdfloat | get_volume () const |
Gets the current volume of a sound. | |
PN_stdfloat | length () const |
Get length FMOD returns the time in MS so we have to convert to seconds. | |
void | play () |
Plays a sound. | |
void | set_3d_attributes (PN_stdfloat px, PN_stdfloat py, PN_stdfloat pz, PN_stdfloat vx, PN_stdfloat vy, PN_stdfloat vz) |
Set position and velocity of this sound NOW LISTEN UP!!! THIS IS IMPORTANT! Both Panda3D and FMOD use a left handed coordinate system. | |
void | set_3d_max_distance (PN_stdfloat dist) |
Set the distance that this sound stops falling off. | |
void | set_3d_min_distance (PN_stdfloat dist) |
Set the distance that this sound begins to fall off. | |
void | set_active (bool active=true) |
Sets whether the sound is marked "active". | |
void | set_balance (PN_stdfloat balance_right=0.0) |
-1.0 to 1.0 scale | |
void | set_finished_event (const std::string &event) |
NOT USED ANYMORE!!! Assign a string for the finished event to be referenced by in python by an accept method. | |
void | set_loop (bool loop=true) |
Turns looping on and off. | |
void | set_loop_count (unsigned long loop_count=1) |
Panda uses 0 to mean loop forever. | |
void | set_play_rate (PN_stdfloat play_rate=1.0f) |
Sets the speed at which a sound plays back. | |
virtual void | set_speaker_mix (PN_stdfloat frontleft, PN_stdfloat frontright, PN_stdfloat center, PN_stdfloat sub, PN_stdfloat backleft, PN_stdfloat backright, PN_stdfloat sideleft, PN_stdfloat sideright) |
This sets the speaker mix for Surround Sound sytems. | |
void | set_time (PN_stdfloat start_time=0.0) |
Sets the time at which the next play() operation will begin. | |
void | set_volume (PN_stdfloat volume=1.0) |
0.0 to 1.0 scale of volume converted to Fmod's internal 0.0 to 255.0 scale. | |
AudioSound::SoundStatus | status () const |
Get status of the sound. | |
void | stop () |
Stop a sound. | |
![]() | |
virtual bool | configure_filters (FilterProperties *config) |
Configure the local DSP filter chain. | |
virtual PN_stdfloat | get_speaker_level (int index) |
For use only with Miles. | |
virtual void | output (std::ostream &out) const |
virtual void | set_speaker_levels (PN_stdfloat level1, PN_stdfloat level2=-1.0f, PN_stdfloat level3=-1.0f, PN_stdfloat level4=-1.0f, PN_stdfloat level5=-1.0f, PN_stdfloat level6=-1.0f, PN_stdfloat level7=-1.0f, PN_stdfloat level8=-1.0f, PN_stdfloat level9=-1.0f) |
For use only with Miles. | |
virtual void | write (std::ostream &out) const |
![]() | |
TypedReferenceCount (const TypedReferenceCount ©) | |
void | operator= (const TypedReferenceCount ©) |
![]() | |
TypedObject (const TypedObject ©)=default | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. | |
const TypedObject * | as_typed_object () const |
Returns the object, upcast (if necessary) to a TypedObject pointer. | |
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. | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. | |
TypedObject & | operator= (const TypedObject ©)=default |
![]() | |
void | operator delete (void *, void *) |
void | operator delete (void *ptr) |
void | operator delete[] (void *, void *) |
void | operator delete[] (void *ptr) |
void * | operator new (size_t size) |
void * | operator new (size_t size, void *ptr) |
void * | operator new[] (size_t size) |
void * | operator new[] (size_t size, void *ptr) |
![]() | |
int | get_ref_count () const |
WeakReferenceList * | get_weak_list () const |
Returns the WeakReferenceList associated with this ReferenceCount object. | |
bool | has_weak_list () const |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. | |
void | local_object () |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. | |
void | ref () const |
Explicitly increments the reference count. | |
bool | ref_if_nonzero () const |
Atomically increases the reference count of this object if it is not zero. | |
bool | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. | |
bool | test_ref_count_nonzero () const |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. | |
virtual bool | unref () const |
Explicitly decrements the reference count. | |
bool | unref_if_one () const |
Atomically decreases the reference count of this object if it is one. | |
WeakReferenceList * | weak_ref () |
Adds the indicated PointerToVoid as a weak reference to this object. | |
void | weak_unref () |
Removes the indicated PointerToVoid as a weak reference to this object. | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
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. | |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
Additional Inherited Members | |
![]() | |
enum | SoundStatus { BAD , READY , PLAYING } |
![]() | |
get_type | |
![]() | |
get_ref_count | |
Returns the current reference count. | |
Definition at line 75 of file fmodAudioSound.h.
FmodAudioSound::FmodAudioSound | ( | AudioManager * | manager, |
VirtualFile * | file, | ||
bool | positional ) |
Constructor All sound will DEFAULT load as a 2D sound unless otherwise specified.
Definition at line 41 of file fmodAudioSound.cxx.
References downcase(), Filename::get_extension(), VirtualFile::get_file_size(), VirtualFile::get_original_filename(), VirtualFile::get_system_info(), VirtualFile::read_file(), and Filename::set_binary().
FmodAudioSound::~FmodAudioSound | ( | ) |
DESTRUCTOR!!!
Definition at line 221 of file fmodAudioSound.cxx.
void FmodAudioSound::finished | ( | ) |
Not implemented.
Definition at line 855 of file fmodAudioSound.cxx.
|
inlinevirtual |
Reimplemented from AudioSound.
Definition at line 222 of file fmodAudioSound.h.
|
virtual |
Get position and velocity of this sound Currently unimplemented.
Get the attributes of the attached object.
Reimplemented from AudioSound.
Definition at line 607 of file fmodAudioSound.cxx.
|
virtual |
Get the distance that this sound stops falling off.
Reimplemented from AudioSound.
Definition at line 652 of file fmodAudioSound.cxx.
|
virtual |
Get the distance that this sound begins to fall off.
Reimplemented from AudioSound.
Definition at line 630 of file fmodAudioSound.cxx.
|
virtual |
Returns whether the sound has been marked "active".
Implements AudioSound.
Definition at line 847 of file fmodAudioSound.cxx.
|
virtual |
-1.0 to 1.0 scale -1 should be all the way left.
1 is all the way to the right.
Implements AudioSound.
Definition at line 487 of file fmodAudioSound.cxx.
|
inlinestatic |
Definition at line 212 of file fmodAudioSound.h.
|
virtual |
NOT USED ANYMORE!!! Return the string the finished event is referenced by.
Implements AudioSound.
Definition at line 876 of file fmodAudioSound.cxx.
|
virtual |
Returns whether looping is on or off.
Implements AudioSound.
Definition at line 281 of file fmodAudioSound.cxx.
References get_loop_count().
|
virtual |
Return how many times a sound will loop.
Implements AudioSound.
Definition at line 326 of file fmodAudioSound.cxx.
Referenced by get_loop(), and set_active().
|
virtual |
|
virtual |
Implements AudioSound.
Definition at line 509 of file fmodAudioSound.cxx.
|
virtual |
In Multichannel Speaker systems [like Surround].
Speakers which don't exist in some systems will simply be ignored. But I haven't been able to test this yet, so I am jsut letting you know.
BTW This will also work in Stereo speaker systems, but since PANDA/FMOD has a balance [pan] function what is the point?
Reimplemented from AudioSound.
Definition at line 666 of file fmodAudioSound.cxx.
|
virtual |
Gets the play position within the sound.
Implements AudioSound.
Definition at line 360 of file fmodAudioSound.cxx.
Referenced by set_active().
|
inlinevirtual |
Reimplemented from AudioSound.
Definition at line 219 of file fmodAudioSound.h.
|
virtual |
Gets the current volume of a sound.
1 is Max. O is Min.
Implements AudioSound.
Definition at line 392 of file fmodAudioSound.cxx.
|
inlinestatic |
Definition at line 215 of file fmodAudioSound.h.
|
virtual |
Get length FMOD returns the time in MS so we have to convert to seconds.
Implements AudioSound.
Definition at line 544 of file fmodAudioSound.cxx.
References length().
Referenced by length().
|
virtual |
Plays a sound.
Implements AudioSound.
Definition at line 238 of file fmodAudioSound.cxx.
Referenced by set_active().
|
virtual |
Set position and velocity of this sound NOW LISTEN UP!!! THIS IS IMPORTANT! Both Panda3D and FMOD use a left 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 FMOD the Y-Axis is going up and the Z-Axis is going into the screen. The solution is simple, we just flip the Y and Z axis, as we move coordinates from Panda to FMOD 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 AudioSound.
Definition at line 567 of file fmodAudioSound.cxx.
|
virtual |
Set the distance that this sound stops falling off.
Reimplemented from AudioSound.
Definition at line 638 of file fmodAudioSound.cxx.
|
virtual |
Set the distance that this sound begins to fall off.
Also affects the rate it falls off.
Reimplemented from AudioSound.
Definition at line 616 of file fmodAudioSound.cxx.
|
virtual |
Sets whether the sound is marked "active".
By default, the active flag true for all sounds. If the active flag is set to false for any particular sound, the sound will not be heard.
Implements AudioSound.
Definition at line 815 of file fmodAudioSound.cxx.
References get_loop_count(), get_time(), play(), status(), and stop().
|
virtual |
|
virtual |
NOT USED ANYMORE!!! Assign a string for the finished event to be referenced by in python by an accept method.
Implements AudioSound.
Definition at line 865 of file fmodAudioSound.cxx.
|
virtual |
Turns looping on and off.
Implements AudioSound.
Definition at line 269 of file fmodAudioSound.cxx.
References set_loop_count().
|
virtual |
Panda uses 0 to mean loop forever.
Fmod uses negative numbers to mean loop forever. (0 means don't loop, 1 means play twice, etc. We must convert!
Implements AudioSound.
Definition at line 295 of file fmodAudioSound.cxx.
Referenced by set_loop().
|
virtual |
Sets the speed at which a sound plays back.
The rate is a multiple of the sound, normal playback speed. IE 2 would play back 2 times fast, 3 would play 3 times, and so on. This can also be set to a negative number so a sound plays backwards. But rememeber if the sound is not playing, you must set the sound's time to its end to hear a song play backwards.
Implements AudioSound.
Definition at line 499 of file fmodAudioSound.cxx.
|
virtual |
This sets the speaker mix for Surround Sound sytems.
It required 8 parameters which match up to the following:
* 1 = Front Left * 2 = Front Right * 3 = Center * 4 = Subwoofer * 5 = Back Left * 6 = Back Right * 7 = Side Left * 8 = Side Right
Reimplemented from AudioSound.
Definition at line 707 of file fmodAudioSound.cxx.
|
virtual |
Sets the time at which the next play() operation will begin.
If we are already playing, skips to that time immediatey.
Implements AudioSound.
Definition at line 346 of file fmodAudioSound.cxx.
References status().
|
virtual |
0.0 to 1.0 scale of volume converted to Fmod's internal 0.0 to 255.0 scale.
Implements AudioSound.
Definition at line 382 of file fmodAudioSound.cxx.
|
virtual |
Get status of the sound.
Implements AudioSound.
Definition at line 792 of file fmodAudioSound.cxx.
Referenced by set_active(), and set_time().
|
virtual |
Stop a sound.
Implements AudioSound.
Definition at line 246 of file fmodAudioSound.cxx.
Referenced by set_active().