• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

src/audio/include/audio.h

Go to the documentation of this file.
00001 #pragma once
00002 
00003 enum FILEFORMAT {
00004         fileUnknown,
00005         fileByExt,
00006         fileWAVE,
00007         fileOGG,
00008         fileRAW,
00009         fileAU,
00010 };
00011 
00012 typedef 
00013 struct Buffer {
00014 } *pBuffer;
00015 
00016 typedef
00017 struct Sound {
00018         virtual void play(void) = 0;
00019         virtual void pause(void) = 0;
00020         virtual void resume(void) = 0;
00021         virtual void stop(void) = 0;
00022 } *pSound;
00023 
00024 typedef
00025 struct Music {
00026         virtual void play(void) = 0;
00027         virtual void pause(void) = 0;
00028         virtual void resume(void) = 0;
00029         virtual void stop(void) = 0;
00030 } *pMusic;
00031 
00032 typedef
00033 class IAudio{
00034 public:
00035         virtual ~IAudio(){};
00036 
00042         virtual bool init(void) = 0;
00043 
00050         virtual void uninit(void) = 0;
00051 
00056         virtual pBuffer createBuffer(const wchar* file, FILEFORMAT format = fileByExt) = 0;
00057 
00062         virtual pSound createSound(pBuffer buffer, bool dynamic = false,
00063                         float3* position = 0,
00064                         float3* velocity = 0,
00065                         float3* direction = 0,
00066                         float distance = 100.0f, float coneAngle = 360.0f,
00067                         bool loop = false, float volume = 1.0f) = 0;
00068 
00075         virtual pMusic createMusic(const wchar* file, bool loop = true, float volume = 1.0f, FILEFORMAT format = fileByExt) = 0;
00076 
00081         virtual void free(pBuffer& buffer) = 0;
00082 
00087         virtual void free(pSound& sound) = 0;
00088 
00093         virtual void free(pMusic& music) = 0;
00094 
00099         virtual void listener(float3 position, float3 velocity, float3 direction) = 0;
00100 
00105         virtual void options(float doppler = 1.0f, float speedofsound = 343.3f) = 0;
00106 
00112         virtual void update(void) = 0;
00113 
00121         virtual bool supports(FILEFORMAT fileformat, bool forSound = true) = 0;
00122 }* pAudio;

Generated on Fri Jun 18 2010 17:48:39 for Cannonball by  doxygen 1.7.0