added audioManager is_valid()
This commit is contained in:
parent
7cded4894b
commit
56dec3de77
|
|
@ -38,6 +38,8 @@ PUBLISHED:
|
|||
static PT(AudioManager) create_AudioManager();
|
||||
virtual ~AudioManager() {}
|
||||
|
||||
virtual bool is_valid() = 0;
|
||||
|
||||
// Get a sound:
|
||||
virtual PT(AudioSound) get_sound(const string& file_name) = 0;
|
||||
// Tell the AudioManager there is no need to keep this one cached.
|
||||
|
|
|
|||
|
|
@ -40,6 +40,16 @@ NullAudioManager::
|
|||
// intentionally blank.
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: NullAudioManager::is_valid
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
bool NullAudioManager::
|
||||
is_valid() {
|
||||
return false;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: NullAudioManager::get_sound
|
||||
// Access: Public
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ public:
|
|||
NullAudioManager();
|
||||
virtual ~NullAudioManager();
|
||||
|
||||
virtual bool is_valid();
|
||||
|
||||
virtual PT(AudioSound) get_sound(const string&);
|
||||
virtual void drop_sound(const string&);
|
||||
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ MilesAudioManager() {
|
|||
audio_debug(" audio_volume="<<audio_volume);
|
||||
_active = audio_active;
|
||||
_volume = audio_volume;
|
||||
_is_valid = true;
|
||||
if (!_active_managers) {
|
||||
S32 use_digital=(audio_play_wave || audio_play_mp3)?1:0;
|
||||
S32 use_MIDI=(audio_play_midi)?1:0;
|
||||
|
|
@ -80,6 +81,7 @@ MilesAudioManager() {
|
|||
if (!AIL_quick_startup(use_digital, 1, audio_output_rate,
|
||||
audio_output_bits, audio_output_channels)) {
|
||||
audio_error(" startup failed, "<<AIL_last_error());
|
||||
_is_valid = false;
|
||||
}
|
||||
} else {
|
||||
audio_debug(" using Miles software midi");
|
||||
|
|
@ -87,6 +89,7 @@ MilesAudioManager() {
|
|||
}
|
||||
} else {
|
||||
audio_debug(" AIL_quick_startup failed: "<<AIL_last_error());
|
||||
_is_valid = false;
|
||||
}
|
||||
}
|
||||
// We increment _active_managers regardless of possible errors above.
|
||||
|
|
@ -128,6 +131,16 @@ MilesAudioManager::
|
|||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MilesAudioManager::is_valid
|
||||
// Access:
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
bool MilesAudioManager::
|
||||
is_valid() {
|
||||
return _is_valid;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MilesAudioManager::load
|
||||
// Access:
|
||||
|
|
|
|||
|
|
@ -35,6 +35,8 @@ public:
|
|||
MilesAudioManager();
|
||||
~MilesAudioManager();
|
||||
|
||||
bool is_valid();
|
||||
|
||||
PT(AudioSound) get_sound(const string& file_name);
|
||||
void drop_sound(const string& file_name);
|
||||
|
||||
|
|
@ -59,6 +61,8 @@ private:
|
|||
// Optional Downloadable Sound field for software midi:
|
||||
static HDLSFILEID _dls_field;
|
||||
|
||||
bool _is_valid;
|
||||
|
||||
HAUDIO load(Filename file_name);
|
||||
// Tell the manager that the sound dtor was called.
|
||||
void release_sound(MilesAudioSound* audioSound);
|
||||
|
|
|
|||
Loading…
Reference in New Issue