14#ifndef MILESAUDIOSOUND_H
15#define MILESAUDIOSOUND_H
28class EXPCL_MILES_AUDIO MilesAudioSound :
public AudioSound {
30 MilesAudioSound(MilesAudioManager *manager,
const std::string &file_name);
33 virtual void set_loop(
bool loop=
true);
34 virtual bool get_loop()
const;
36 virtual void set_loop_count(
unsigned long loop_count=1);
37 virtual unsigned long get_loop_count()
const;
39 virtual PN_stdfloat get_volume()
const;
40 virtual PN_stdfloat get_balance()
const;
41 virtual PN_stdfloat get_play_rate()
const;
43 virtual void set_time(PN_stdfloat start_time=0.0);
45 virtual void set_active(
bool active=
true);
46 virtual bool get_active()
const;
48 virtual void set_finished_event(
const std::string &event);
49 virtual const std::string &get_finished_event()
const;
51 virtual const std::string &get_name()
const;
53 virtual void cleanup();
56 PT(MilesAudioManager) _manager;
57 std::string _file_name;
61 PN_stdfloat _play_rate;
62 unsigned long _loop_count;
76 std::string _finished_event;
80 PN_stdfloat _start_time;
84 static TypeHandle get_class_type() {
87 static void init_type() {
88 AudioSound::init_type();
90 AudioSound::get_class_type());
92 virtual TypeHandle get_type()
const {
93 return get_class_type();
95 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
98 static TypeHandle _type_handle;
100 friend class MilesAudioManager;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual void set_time(PN_stdfloat start_time=0.0)=0
Control time position within the sound, in seconds.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...