15 #ifndef MILESAUDIOSOUND_H 16 #define MILESAUDIOSOUND_H 18 #include "pandabase.h" 19 #ifdef HAVE_RAD_MSS //[ 21 #include "audioSound.h" 22 #include "milesAudioManager.h" 30 class EXPCL_MILES_AUDIO MilesAudioSound :
public AudioSound {
32 MilesAudioSound(MilesAudioManager *manager,
const string &file_name);
35 virtual void set_loop(
bool loop=
true);
36 virtual bool get_loop()
const;
38 virtual void set_loop_count(
unsigned long loop_count=1);
39 virtual unsigned long get_loop_count()
const;
41 virtual PN_stdfloat get_volume()
const;
42 virtual PN_stdfloat get_balance()
const;
43 virtual PN_stdfloat get_play_rate()
const;
45 virtual void set_time(PN_stdfloat start_time=0.0);
47 virtual void set_active(
bool active=
true);
48 virtual bool get_active()
const;
50 virtual void set_finished_event(
const string &event);
51 virtual const string &get_finished_event()
const;
53 virtual const string &get_name()
const;
55 virtual void cleanup();
58 PT(MilesAudioManager) _manager;
63 PN_stdfloat _play_rate;
64 unsigned long _loop_count;
80 string _finished_event;
84 PN_stdfloat _start_time;
91 static void init_type() {
92 AudioSound::init_type();
93 register_type(_type_handle,
"MilesAudioSound",
94 AudioSound::get_class_type());
97 return get_class_type();
99 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
104 friend class MilesAudioManager;
107 #include "milesAudioSound.I"
TypeHandle is the identifier used to differentiate C++ class types.