14#ifndef MILESAUDIOSTREAM_H
15#define MILESAUDIOSTREAM_H
30class 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;
The name of a file, such as a texture file or an Egg file.
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.
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(),...