Public Member Functions | |
FmodAudioSound (AudioManager *manager, VirtualFile *file, bool positional) | |
Constructor All sound will DEFAULT load as a 2D sound unless otherwise specified. More... | |
~FmodAudioSound () | |
DESTRUCTOR!!! More... | |
void | finished () |
Not implemented. More... | |
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. More... | |
PN_stdfloat | get_3d_max_distance () const |
Get the distance that this sound stops falling off. More... | |
PN_stdfloat | get_3d_min_distance () const |
Get the distance that this sound begins to fall off. More... | |
bool | get_active () const |
Returns whether the sound has been marked "active". More... | |
PN_stdfloat | get_balance () const |
-1.0 to 1.0 scale -1 should be all the way left. More... | |
const std::string & | get_finished_event () const |
NOT USED ANYMORE!!! Return the string the finished event is referenced by. More... | |
bool | get_loop () const |
Returns whether looping is on or off. More... | |
unsigned long | get_loop_count () const |
Return how many times a sound will loop. More... | |
const std::string & | get_name () const |
Get name of sound file. More... | |
PN_stdfloat | get_play_rate () const |
virtual PN_stdfloat | get_speaker_mix (int speaker) |
In Multichannel Speaker systems [like Surround]. More... | |
PN_stdfloat | get_time () const |
Gets the play position within the sound. More... | |
virtual TypeHandle | get_type () const |
PN_stdfloat | get_volume () const |
Gets the current volume of a sound. More... | |
PN_stdfloat | length () const |
Get length FMOD returns the time in MS so we have to convert to seconds. More... | |
void | play () |
Plays a sound. More... | |
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. More... | |
void | set_3d_max_distance (PN_stdfloat dist) |
Set the distance that this sound stops falling off. More... | |
void | set_3d_min_distance (PN_stdfloat dist) |
Set the distance that this sound begins to fall off. More... | |
void | set_active (bool active=true) |
Sets whether the sound is marked "active". More... | |
void | set_balance (PN_stdfloat balance_right=0.0) |
-1.0 to 1.0 scale More... | |
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. More... | |
void | set_loop (bool loop=true) |
Turns looping on and off. More... | |
void | set_loop_count (unsigned long loop_count=1) |
Panda uses 0 to mean loop forever. More... | |
void | set_play_rate (PN_stdfloat play_rate=1.0f) |
Sets the speed at which a sound plays back. More... | |
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. More... | |
void | set_time (PN_stdfloat start_time=0.0) |
Sets the time at which the next play() operation will begin. More... | |
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. More... | |
AudioSound::SoundStatus | status () const |
Get status of the sound. More... | |
void | stop () |
Stop a sound. More... | |
Public Member Functions inherited from AudioSound | |
virtual bool | configure_filters (FilterProperties *config) |
Configure the local DSP filter chain. More... | |
virtual PN_stdfloat | get_speaker_level (int index) |
For use only with Miles. More... | |
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. More... | |
virtual void | write (std::ostream &out) const |
Public Member Functions inherited from TypedReferenceCount | |
TypedReferenceCount (const TypedReferenceCount ©) | |
void | operator= (const TypedReferenceCount ©) |
Public Member Functions inherited from TypedObject | |
TypedObject (const TypedObject ©)=default | |
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... | |
TypedObject & | operator= (const TypedObject ©)=default |
Public Member Functions inherited from ReferenceCount | |
int | get_ref_count () const |
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 | ref_if_nonzero () const |
Atomically increases the reference count of this object if it is not zero. 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... | |
WeakReferenceList * | weak_ref () |
Adds the indicated PointerToVoid as a weak reference to this object. More... | |
void | weak_unref () |
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 Public Member Functions inherited from AudioSound | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from TypedReferenceCount | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from TypedObject | |
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 Public Member Functions inherited from ReferenceCount | |
static TypeHandle | get_class_type () |
static void | init_type () |
Additional Inherited Members | |
Public Types inherited from AudioSound | |
enum | SoundStatus { BAD, READY, PLAYING } |
Public Attributes inherited from TypedObject | |
get_type | |
Public Attributes inherited from ReferenceCount | |
get_ref_count | |
Returns the current reference count. More... | |
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 42 of file fmodAudioSound.cxx.
FmodAudioSound::~FmodAudioSound | ( | ) |
DESTRUCTOR!!!
Definition at line 210 of file fmodAudioSound.cxx.
void FmodAudioSound::finished | ( | ) |
Not implemented.
Definition at line 842 of file fmodAudioSound.cxx.
|
virtual |
Get position and velocity of this sound Currently unimplemented.
Get the attributes of the attached object.
Reimplemented from AudioSound.
Definition at line 595 of file fmodAudioSound.cxx.
|
virtual |
Get the distance that this sound stops falling off.
Reimplemented from AudioSound.
Definition at line 640 of file fmodAudioSound.cxx.
|
virtual |
Get the distance that this sound begins to fall off.
Reimplemented from AudioSound.
Definition at line 618 of file fmodAudioSound.cxx.
|
virtual |
Returns whether the sound has been marked "active".
Implements AudioSound.
Definition at line 834 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 475 of file fmodAudioSound.cxx.
|
virtual |
NOT USED ANYMORE!!! Return the string the finished event is referenced by.
Implements AudioSound.
Definition at line 863 of file fmodAudioSound.cxx.
|
virtual |
Returns whether looping is on or off.
Implements AudioSound.
Definition at line 269 of file fmodAudioSound.cxx.
References get_loop_count().
|
virtual |
Return how many times a sound will loop.
Implements AudioSound.
Definition at line 314 of file fmodAudioSound.cxx.
Referenced by get_loop(), and set_active().
|
virtual |
|
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 654 of file fmodAudioSound.cxx.
|
virtual |
Gets the play position within the sound.
Implements AudioSound.
Definition at line 348 of file fmodAudioSound.cxx.
Referenced by set_active().
|
virtual |
Gets the current volume of a sound.
1 is Max. O is Min.
Implements AudioSound.
Definition at line 380 of file fmodAudioSound.cxx.
|
virtual |
Get length FMOD returns the time in MS so we have to convert to seconds.
Implements AudioSound.
Definition at line 532 of file fmodAudioSound.cxx.
|
virtual |
Plays a sound.
Implements AudioSound.
Definition at line 227 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 555 of file fmodAudioSound.cxx.
|
virtual |
Set the distance that this sound stops falling off.
Reimplemented from AudioSound.
Definition at line 626 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 604 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 803 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 852 of file fmodAudioSound.cxx.
|
virtual |
Turns looping on and off.
Implements AudioSound.
Definition at line 257 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 283 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 487 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 695 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 334 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 370 of file fmodAudioSound.cxx.
|
virtual |
Get status of the sound.
Implements AudioSound.
Definition at line 780 of file fmodAudioSound.cxx.
Referenced by set_active(), and set_time().
|
virtual |
Stop a sound.
Implements AudioSound.
Definition at line 235 of file fmodAudioSound.cxx.
Referenced by set_active().