14 #ifndef MILESAUDIOSTREAM_H 15 #define MILESAUDIOSTREAM_H 18 #ifdef HAVE_RAD_MSS //[ 30 class EXPCL_MILES_AUDIO MilesAudioStream :
public MilesAudioSound {
32 MilesAudioStream(MilesAudioManager *manager,
const std::string &file_name,
36 virtual ~MilesAudioStream();
41 virtual PN_stdfloat get_time()
const;
43 virtual void set_volume(PN_stdfloat volume=1.0f);
44 virtual void set_balance(PN_stdfloat balance_right=0.0f);
45 virtual void set_play_rate(PN_stdfloat play_rate=1.0f);
47 virtual PN_stdfloat length()
const;
49 virtual AudioSound::SoundStatus status()
const;
51 virtual void cleanup();
54 static void AILCALLBACK finish_callback(HSTREAM stream);
55 void do_set_time(PN_stdfloat time);
59 S32 _original_playback_rate;
60 mutable PN_stdfloat _length;
61 mutable bool _got_length;
67 static void init_type() {
68 MilesAudioSound::init_type();
70 MilesAudioSound::get_class_type());
73 return get_class_type();
75 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
80 friend class MilesAudioManager;
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
The name of a file, such as a texture file or an Egg file.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.