//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Device Common Routines // //=====================================================================================// #ifndef SND_DEV_COMMON_H #define SND_DEV_COMMON_H #pragma once class CAudioDeviceBase : public IAudioDevice { public: virtual bool IsActive( void ) { return false; } virtual bool Init( void ) { return false; } virtual void Shutdown( void ) {} virtual void Pause( void ) {} virtual void UnPause( void ) {} virtual float MixDryVolume( void ) { return 0; } virtual bool Should3DMix( void ) { return m_bSurround; } virtual void StopAllSounds( void ) {} virtual int PaintBegin( float, int soundtime, int paintedtime ) { return 0; } virtual void PaintEnd( void ) {} virtual void SpatializeChannel( int volume[CCHANVOLUMES/2], int master_vol, const Vector& sourceDir, float gain, float mono ); virtual void ApplyDSPEffects( int idsp, portable_samplepair_t *pbuffront, portable_samplepair_t *pbufrear, portable_samplepair_t *pbufcenter, int samplecount ); virtual int GetOutputPosition( void ) { return 0; } virtual void ClearBuffer( void ) {} virtual void UpdateListener( const Vector& position, const Vector& forward, const Vector& right, const Vector& up ) {} virtual void MixBegin( int sampleCount ); virtual void MixUpsample( int sampleCount, int filtertype ); virtual void Mix8Mono( channel_t *pChannel, char *pData, int outputOffset, int inputOffset, fixedint rateScaleFix, int outCount, int timecompress ); virtual void Mix8Stereo( channel_t *pChannel, char *pData, int outputOffset, int inputOffset, fixedint rateScaleFix, int outCount, int timecompress ); virtual void Mix16Mono( channel_t *pChannel, short *pData, int outputOffset, int inputOffset, fixedint rateScaleFix, int outCount, int timecompress ); virtual void Mix16Stereo( channel_t *pChannel, short *pData, int outputOffset, int inputOffset, fixedint rateScaleFix, int outCount, int timecompress ); virtual void ChannelReset( int entnum, int channelIndex, float distanceMod ) {} virtual void TransferSamples( int end ) {} virtual const char *DeviceName( void ) { return NULL; } virtual int DeviceChannels( void ) { return 0; } virtual int DeviceSampleBits( void ) { return 0; } virtual int DeviceSampleBytes( void ) { return 0; } virtual int DeviceDmaSpeed( void ) { return 1; } virtual int DeviceSampleCount( void ) { return 0; } virtual bool IsSurround( void ) { return m_bSurround; } virtual bool IsSurroundCenter( void ) { return m_bSurroundCenter; } virtual bool IsHeadphone( void ) { return m_bHeadphone; } bool m_bSurround; bool m_bSurroundCenter; bool m_bHeadphone; }; #endif // SND_DEV_COMMON_H