123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- //-----------------------------------------------------------------------------
- // Copyright (c) 2012 GarageGames, LLC
- //
- // Permission is hereby granted, free of charge, to any person obtaining a copy
- // of this software and associated documentation files (the "Software"), to
- // deal in the Software without restriction, including without limitation the
- // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- // sell copies of the Software, and to permit persons to whom the Software is
- // furnished to do so, subject to the following conditions:
- //
- // The above copyright notice and this permission notice shall be included in
- // all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- // IN THE SOFTWARE.
- //-----------------------------------------------------------------------------
- #include "sfx/null/sfxNullVoice.h"
- #include "sfx/null/sfxNullBuffer.h"
- #include "sfx/sfxInternal.h"
- SFXNullVoice::SFXNullVoice( SFXNullBuffer* buffer )
- : Parent( buffer ),
- mIsLooping( false )
- {
- }
- SFXNullVoice::~SFXNullVoice()
- {
- }
- SFXStatus SFXNullVoice::_status() const
- {
- if( !mIsLooping
- && mPlayTimer.isStarted()
- && !mPlayTimer.isPaused()
- && mPlayTimer.getPosition() >= mBuffer->getDuration() )
- mPlayTimer.stop();
- if( mPlayTimer.isPaused() )
- return SFXStatusPaused;
- else if( mPlayTimer.isStarted() )
- return SFXStatusPlaying;
- else
- return SFXStatusStopped;
- }
- void SFXNullVoice::_play()
- {
- mPlayTimer.start();
- }
- void SFXNullVoice::_pause()
- {
- mPlayTimer.pause();
- }
- void SFXNullVoice::_stop()
- {
- mPlayTimer.stop();
- }
- void SFXNullVoice::_seek( U32 sample )
- {
- const U32 sampleTime = mBuffer->getFormat().getDuration( sample );
- mPlayTimer.setPosition( sampleTime );
- }
- void SFXNullVoice::play( bool looping )
- {
- mIsLooping = looping;
- mPlayTimer.start();
- }
- U32 SFXNullVoice::_tell() const
- {
- U32 ms = _getPlayTime();
-
- const SFXFormat& format = mBuffer->getFormat();
- return ( format.getDataLength( ms ) / format.getBytesPerSample() );
- }
- SFXStatus SFXNullVoice::getStatus() const
- {
- return _status();
- }
- void SFXNullVoice::setPosition( U32 sample )
- {
- _seek( sample );
- }
- void SFXNullVoice::setMinMaxDistance( F32 min, F32 max )
- {
- }
- void SFXNullVoice::setVelocity( const VectorF& velocity )
- {
- }
- void SFXNullVoice::setTransform( const MatrixF& transform )
- {
- }
- void SFXNullVoice::setVolume( F32 volume )
- {
- }
- void SFXNullVoice::setPitch( F32 pitch )
- {
- }
- void SFXNullVoice::setCone( F32 innerAngle, F32 outerAngle, F32 outerVolume )
- {
- }
|