altEngine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
audio.h
Go to the documentation of this file.
1 #include "include.h"
2 
3 #ifndef AUDIO_H
4 #define AUDIO_H
5 
6 class Audio
7 {
8 public:
9  void init();
10  void load(wave_t &wave);
11  int load_ogg(char *filename, wave_t &wave);
12  void load_doom(wave_t &wave, int *buffer);
13  void play(int hSource);
14  void stop(int hSource);
15  int create_source(bool loop, bool global);
16  void source_position(int hSource, float *position);
17  void source_velocity(int hSource, float *velocity);
18  void listener_position(float *position);
19  void listener_velocity(float *velocity);
20  void listener_orientation(float *orientation);
21  void delete_source(int hSource);
22  bool select_buffer(int hSource, int hBuffer);
23  void delete_buffer(int hBuffer);
24  void destroy();
25  void effects(int source);
26 
27  void set_audio_model(int model);
28 
29 private:
30  int checkFormat(char *data, char *format);
31  char *findChunk(char *chunk, char *id, int *size, char *end);
32 
33  ALenum alFormat(wave_t *wave);
34 
35  ALCdevice *device;
36  ALCcontext *context;
37 
38 #ifdef WIN32
39  unsigned int slot, effect, filter;
40 #endif
41 
42 };
43 
44 #endif