From 84ebd035ade2788a3b2669a8d1eecd2de2d4f891 Mon Sep 17 00:00:00 2001 From: cxgeorge <> Date: Sun, 29 Sep 2002 05:52:06 +0000 Subject: [PATCH] convert to miles 6.5 volume api --- panda/src/audiotraits/milesAudioSound.cxx | 40 ++++++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/panda/src/audiotraits/milesAudioSound.cxx b/panda/src/audiotraits/milesAudioSound.cxx index 336a39ff5f..0720886ec2 100644 --- a/panda/src/audiotraits/milesAudioSound.cxx +++ b/panda/src/audiotraits/milesAudioSound.cxx @@ -24,6 +24,10 @@ #define NEED_MILES_LENGTH_WORKAROUND +#if (MSS_MAJOR_VERSION >= 6) && (MSS_MINOR_VERSION >= 5) +#define MILES_6_5 +#endif + #ifndef NDEBUG //[ namespace { char @@ -156,22 +160,40 @@ set_volume(float volume) { _volume=volume; // Account for the category of sound: volume*=_manager->get_volume(); - // Change to Miles volume, range 0 to 127: - S32 milesVolume=((S32)(127*volume))%128; + #ifdef MILES_6_5 + // Change to Miles volume, range 0 to 1.0: + F32 milesVolume=volume; + milesVolume=min(milesVolume,1.0f); + milesVolume=max(milesVolume,0.0f); + #else + // Change to Miles volume, range 0 to 127: + S32 milesVolume=((S32)(127*volume))%128; + #endif // Account for type: S32 audioType=AIL_quick_type(_audio); - if (audioType==AIL_QUICK_XMIDI_TYPE - || - audioType==AIL_QUICK_DLS_XMIDI_TYPE) { + if ((audioType==AIL_QUICK_XMIDI_TYPE) || (audioType==AIL_QUICK_DLS_XMIDI_TYPE)) { // ...it's a midi file. - AIL_quick_set_volume(_audio, milesVolume, 0); // 0 delay. + + // 0 delay, set to this volume immediately + #ifdef MILES_6_5 + F32 midiVolDelay =0.0f; + #else + S32 midiVolDelay =0; + #endif + + AIL_quick_set_volume(_audio, milesVolume, midiVolDelay); audio_debug(" volume for this midi is now "<