From 235585bfb3d669e64cd86742e14965d086121a6a Mon Sep 17 00:00:00 2001 From: Dave Schuyler Date: Fri, 13 Jul 2001 02:15:58 +0000 Subject: [PATCH] rearranging TypedReferenceCount and ReferenceCount --- panda/src/audio/audioManager.cxx | 8 ++--- panda/src/audio/audioManager.h | 36 ++++++--------------- panda/src/audio/audioSound.cxx | 2 -- panda/src/audio/audioSound.h | 25 ++------------ panda/src/audio/config_audio.cxx | 4 --- panda/src/audiotraits/config_milesAudio.cxx | 12 ------- panda/src/audiotraits/milesAudioManager.cxx | 5 +-- panda/src/audiotraits/milesAudioManager.h | 6 +++- panda/src/audiotraits/milesAudioSound.cxx | 6 ++-- panda/src/audiotraits/milesAudioSound.h | 7 ++-- 10 files changed, 29 insertions(+), 82 deletions(-) diff --git a/panda/src/audio/audioManager.cxx b/panda/src/audio/audioManager.cxx index 95e40ba104..91440c560f 100644 --- a/panda/src/audio/audioManager.cxx +++ b/panda/src/audio/audioManager.cxx @@ -24,8 +24,6 @@ #include "load_dso.h" -TypeHandle AudioManager::_type_handle; - namespace { PT(AudioManager) create_NullAudioManger() { audio_debug("create_NullAudioManger()"); @@ -33,7 +31,8 @@ namespace { } } -Create_AudioManager_proc* AudioManager::_create_AudioManager=create_NullAudioManger; +Create_AudioManager_proc* AudioManager::_create_AudioManager + =create_NullAudioManger; void AudioManager:: register_AudioManager_creator(Create_AudioManager_proc* proc) { @@ -51,7 +50,8 @@ create_AudioManager() { if (!lib_load) { lib_load=1; if (!audio_library_name->empty() && *audio_library_name != "null") { - Filename dl_name = Filename::dso_filename("lib"+*audio_library_name+".so"); + Filename dl_name = Filename::dso_filename( + "lib"+*audio_library_name+".so"); dl_name.to_os_specific(); audio_debug(" dl_name=\""< -#include +#include #include #include class AudioManager; -class EXPCL_PANDA AudioSound : public TypedReferenceCount, public Namable { +class EXPCL_PANDA AudioSound : public ReferenceCount { PUBLISHED: virtual ~AudioSound() {} @@ -86,26 +85,6 @@ protected: } friend class AudioManager; - -public: - // type stuff - static TypeHandle get_class_type() { - return _type_handle; - } - static void init_type() { - TypedReferenceCount::init_type(); - register_type(_type_handle, "AudioSound", - TypedReferenceCount::get_class_type()); - } - virtual TypeHandle get_type() const { - return get_class_type(); - } - virtual TypeHandle force_init_type() { - init_type(); - return get_class_type(); - } -private: - static TypeHandle _type_handle; }; #endif /* __AUDIOSOUND_H__ */ diff --git a/panda/src/audio/config_audio.cxx b/panda/src/audio/config_audio.cxx index 31ca4f3eec..20fc8a521e 100644 --- a/panda/src/audio/config_audio.cxx +++ b/panda/src/audio/config_audio.cxx @@ -17,11 +17,8 @@ //////////////////////////////////////////////////////////////////// #include "config_audio.h" -#include "audioSound.h" #include "audio_gui_functor.h" #include -#include -#include Configure(config_audio); NotifyCategoryDef(audio, ""); @@ -60,7 +57,6 @@ string* audio_library_name; ConfigureFn(config_audio) { - AudioSound::init_type(); AudioGuiFunctor::init_type(); audio_dls_file = new string( diff --git a/panda/src/audiotraits/config_milesAudio.cxx b/panda/src/audiotraits/config_milesAudio.cxx index 55068885d3..805fbcc4b7 100644 --- a/panda/src/audiotraits/config_milesAudio.cxx +++ b/panda/src/audiotraits/config_milesAudio.cxx @@ -27,18 +27,6 @@ NotifyCategoryDef(milesAudio, ""); ConfigureFn(config_milesAudio) { init_libMilesAudio(); } -/* -const float LinearIntegrator::_max_linear_dt = - config_milesAudio.GetFloat("default_max_linear_dt", 1.0f / 30.0f); - -const float AngularIntegrator::_max_angular_dt = - config_milesAudio.GetFloat("default_max_angular_dt", 1.0f / 30.0f); - -int LinearNoiseForce::_random_seed = - config_milesAudio.GetInt("default_noise_force_seed", 665); - -const float milesAudioObject::_default_terminal_velocity = - config_milesAudio.GetFloat("default_terminal_velocity", 400.0f);*/ //////////////////////////////////////////////////////////////////// // Function: init_libMilesAudio diff --git a/panda/src/audiotraits/milesAudioManager.cxx b/panda/src/audiotraits/milesAudioManager.cxx index caed1e741e..dea43d8b83 100644 --- a/panda/src/audiotraits/milesAudioManager.cxx +++ b/panda/src/audiotraits/milesAudioManager.cxx @@ -20,6 +20,7 @@ #include "pandabase.h" #ifdef HAVE_RAD_MSS //[ +#include "milesAudioSound.h" #include "milesAudioManager.h" #include "config_audio.h" #include "config_util.h" @@ -179,8 +180,8 @@ get_sound(const string& file_name) { // Create an AudioSound from the sound: PT(AudioSound) audioSound = 0; if (audio) { - MilesAudioSound* milesAudioSound - =new MilesAudioSound(*this, audio, (*si).first); + PT(MilesAudioSound) milesAudioSound + =new MilesAudioSound(this, audio, (*si).first); nassertr(milesAudioSound, 0); milesAudioSound->set_active(_active); _soundsOnLoan.insert(milesAudioSound); diff --git a/panda/src/audiotraits/milesAudioManager.h b/panda/src/audiotraits/milesAudioManager.h index a11a151878..e514e4bc73 100644 --- a/panda/src/audiotraits/milesAudioManager.h +++ b/panda/src/audiotraits/milesAudioManager.h @@ -24,10 +24,14 @@ #ifdef HAVE_RAD_MSS //[ #include "audioManager.h" -#include "milesAudioSound.h" +#include "mss.h" + +class MilesAudioSound; class EXPCL_MILES_AUDIO MilesAudioManager: public AudioManager { public: + // See AudioManager.h for documentation. + MilesAudioManager(); ~MilesAudioManager(); diff --git a/panda/src/audiotraits/milesAudioSound.cxx b/panda/src/audiotraits/milesAudioSound.cxx index 8456d8bb89..f096478e6d 100644 --- a/panda/src/audiotraits/milesAudioSound.cxx +++ b/panda/src/audiotraits/milesAudioSound.cxx @@ -25,7 +25,7 @@ MilesAudioSound:: -MilesAudioSound(MilesAudioManager& manager, +MilesAudioSound(MilesAudioManager* manager, HAUDIO audio, string file_name) : _manager(manager), _file_name(file_name), _start_time(0), _volume(1.0), _balance(0), @@ -42,7 +42,7 @@ MilesAudioSound(MilesAudioManager& manager, MilesAudioSound:: ~MilesAudioSound() { audio_debug("MilesAudioSound::~MilesAudioSound() "<release_sound(this); AIL_quick_unload(_audio); } @@ -128,7 +128,7 @@ set_volume(float volume) { // Set the volume: _volume=volume; // Account for the category of sound: - volume*=_manager.get_volume(); + volume*=_manager->get_volume(); // Change to Miles volume, range 0 to 127: S32 milesVolume=(S32(127*volume))%128; // Account for type: diff --git a/panda/src/audiotraits/milesAudioSound.h b/panda/src/audiotraits/milesAudioSound.h index 2e3b2a3aa0..a7f539bc1d 100644 --- a/panda/src/audiotraits/milesAudioSound.h +++ b/panda/src/audiotraits/milesAudioSound.h @@ -24,11 +24,10 @@ #ifdef HAVE_RAD_MSS //[ #include "audioSound.h" +#include "milesAudioManager.h" #include "mss.h" -class MilesAudioManager; - class EXPCL_MILES_AUDIO MilesAudioSound : public AudioSound { public: ~MilesAudioSound(); @@ -80,7 +79,7 @@ public: private: HAUDIO _audio; - MilesAudioManager& _manager; + PT(MilesAudioManager) _manager; float _start_time; // 0..length() float _volume; // 0..1.0 float _balance; // -1..1 @@ -89,7 +88,7 @@ private: bool _active; bool _paused; - MilesAudioSound(MilesAudioManager& manager, + MilesAudioSound(MilesAudioManager* manager, HAUDIO audio, string file_name); friend class MilesAudioManager;