cAudio  2.3.0
3d Audio Engine
cOpenALDeviceContext.h
1 // Copyright (c) 2008-2011 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones, Murat (wolfmanfx) Sari
2 // This file is part of the "cAudio Engine"
3 // For conditions of distribution and use, see copyright notice in cAudio.h
4 
5 #pragma once
6 
7 #include "IAudioDeviceContext.h"
8 #include "cMemoryOverride.h"
9 #include "cMutex.h"
10 #include "cAudioEffects.h"
11 
12 #include "cOpenALUtil.h"
13 
14 namespace cAudio
15 {
17  {
18  public:
19  cOpenALDeviceContext(IAudioManager* audioManager);
20  virtual ~cOpenALDeviceContext();
21  virtual bool initialize(const char* deviceName, int outputFrequency, int eaxEffectSlots);
22  virtual void shutDown();
23  virtual void update();
24  virtual IAudioManager* getAudioManager() const;
25  virtual IAudioEffects* getEffects() const;
26  ALCcontext* getOpenALContext() const;
27 
28  private:
29 
31  bool checkError();
32 
34  cAudioMutex Mutex;
35 
37  ALCcontext* Context;
38 
40  ALCdevice* Device;
41 
42  IAudioManager* AudioManager;
43 
44  bool Initialized;
45 
47  bool EFXSupported;
48 
49 #if CAUDIO_EFX_ENABLED == 1
50  cAudioEffects initEffects;
52 #endif
53  };
54 }
cAudio::cOpenALDeviceContext
Definition: cOpenALDeviceContext.h:17
cAudio::cMemoryOverride
Overrides the memory allocations for classes derived from it and makes them use the cAudio memory sys...
Definition: cMemoryOverride.h:14
cAudio
Main namespace for the entire cAudio library.
Definition: cAudioCapture.h:16
cAudio::cAudioMutex
Definition: cMutex.h:39
cAudio::IAudioManager
Interface for the playback capabilities of cAudio.
Definition: IAudioManager.h:25
cAudio::IAudioDeviceContext
Definition: IAudioDeviceContext.h:13