42 lines
916 B
C++
42 lines
916 B
C++
#ifndef IAUDIO_H
|
|
#define IAUDIO_H
|
|
|
|
#include "tier1/interface.h"
|
|
#include "tier2/iappsystem.h"
|
|
#include "trig.h"
|
|
|
|
abstract_class IAudioPlayer
|
|
{
|
|
public:
|
|
virtual void StartAt( double fTime ) = 0;
|
|
virtual double GetPlayTime() = 0;
|
|
virtual double Stop() = 0;
|
|
virtual void Continue() = 0;
|
|
virtual bool BIsPlaying() = 0;
|
|
|
|
virtual void SetIs3D( bool b ) = 0;
|
|
virtual void SetIsLooping( bool b ) = 0;
|
|
virtual void SetDirection( Vector v ) = 0;
|
|
virtual void SetTimeScale( float fValue ) = 0;
|
|
virtual void SetVolume( float fValue ) = 0;
|
|
virtual void SetPitch( float fValue ) = 0;
|
|
};
|
|
|
|
abstract_class IAudio
|
|
{
|
|
public:
|
|
virtual IAudioPlayer *SpawnPlayer() = 0;
|
|
};
|
|
|
|
abstract_class IAudioManager: public IAppSystem
|
|
{
|
|
public:
|
|
virtual void Frame() = 0;
|
|
virtual IAudio *CreateAudio( const char *szFile ) = 0;
|
|
virtual void DestroyAudio( IAudio *pAudio ) = 0;
|
|
};
|
|
|
|
#define AUDIO_MANAGER_INTERFACE_VERSION "Audio001"
|
|
|
|
#endif
|