diff --git a/panda/src/audio/audio_sound.I b/panda/src/audio/audio_sound.I new file mode 100644 index 0000000000..a32c6bbc49 --- /dev/null +++ b/panda/src/audio/audio_sound.I @@ -0,0 +1,89 @@ +// Filename: audio_sound.I +// Created by: cary (17Oct00) +// +//////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////// +// Function: AudioSound::constructor +// Access: Protected +// Description: initialize a new sound +//////////////////////////////////////////////////////////////////// +INLINE AudioSound::AudioSound(AudioTraits::SoundClass* sound, + AudioTraits::PlayingClass* state, + AudioTraits::PlayerClass* player, + AudioTraits::DeletePlayingFunc* destroy, + const string& filename) : Namable(filename), + _sound(sound), + _state(state), + _player(player), + _delstate(destroy) {} + +//////////////////////////////////////////////////////////////////// +// Function: AudioSound::copy constructor +// Access: Protected +// Description: copy a sound, but we don't really want to allow this +//////////////////////////////////////////////////////////////////// +INLINE AudioSound::AudioSound(const AudioSound& c) : Namable(c.get_name()), + _sound(c._sound), + _state(c._state), + _player(c._player), + _delstate(c._delstate) {} + +//////////////////////////////////////////////////////////////////// +// Function: AudioSound::assignment operator +// Access: Protected +// Description: copy a sound, but we don't really want to allow this +//////////////////////////////////////////////////////////////////// +INLINE AudioSound& AudioSound::operator=(const AudioSound& c) { + this->set_name(c.get_name()); + this->_sound = c._sound; + this->_state = c._state; + this->_player = c._player; + this->_delstate = c._delstate; + return *this; +} + +//////////////////////////////////////////////////////////////////// +// Function: AudioSound::get_player +// Access: Protected +// Description: return the player for this sound +//////////////////////////////////////////////////////////////////// +INLINE AudioTraits::PlayerClass* AudioSound::get_player(void) const { + return _player; +} + +//////////////////////////////////////////////////////////////////// +// Function: AudioSound::get_sound +// Access: Protected +// Description: return the trait sound class for this sound +//////////////////////////////////////////////////////////////////// +INLINE AudioTraits::SoundClass* AudioSound::get_sound(void) const { + return _sound; +} + +//////////////////////////////////////////////////////////////////// +// Function: AudioSound::get_state +// Access: Protected +// Description: return the trait playing class for this sound +//////////////////////////////////////////////////////////////////// +INLINE AudioTraits::PlayingClass* AudioSound::get_state(void) const { + return _state; +} + +//////////////////////////////////////////////////////////////////// +// Function: AudioSound::equality operator +// Access: Public +// Description: test to see if two sounds are the same +//////////////////////////////////////////////////////////////////// +INLINE bool AudioSound::operator==(const AudioSound& c) const { + return ((_sound == c._sound) && (_state == c._state)); +} + +//////////////////////////////////////////////////////////////////// +// Function: AudioSound::inequality operator +// Access: Public +// Description: test to see if two sounds are not the same +//////////////////////////////////////////////////////////////////// +INLINE bool AudioSound::operator!=(const AudioSound& c) const { + return ((_sound != c._sound) || (_state != c._state)); +}