0c165e1974918bd4f66cff1b30aa772c7937aeac
[camargo/neiasound.git] / src / util / nEfxHelper.h
1 // Copyright (C) 2015 Lucas Pires Camargo
2 // 
3 // This file is part of neiasound - Qt-style OpenAL wrapper for games.
4 // 
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are
7 // met:
8 // 
9 // 1. Redistributions of source code must retain the above copyright notice,
10 // this list of conditions and the following disclaimer.
11 // 
12 // 2. Redistributions in binary form must reproduce the above copyright notice,
13 // this list of conditions and the following disclaimer in the documentation
14 // and/or other materials provided with the distribution.
15 // 
16 // THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS
17 // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
19 // NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
20 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 #ifndef NEFXHELPER_H
27 #define NEFXHELPER_H
28
29 #include "AL/al.h"
30 #include "AL/alc.h"
31 #include "AL/alext.h"
32
33 class nEfxHelper
34 {
35
36 public:
37
38     static bool initialize(ALCdevice*);
39     static bool isInitialized(){return sm_initialized;}
40
41     static LPALGENAUXILIARYEFFECTSLOTS alGenAuxiliaryEffectSlots;
42     static LPALISAUXILIARYEFFECTSLOT alIsAuxiliaryEffectSlot;
43     static LPALDELETEAUXILIARYEFFECTSLOTS alDeleteAuxiliaryEffectSlots;
44     static LPALAUXILIARYEFFECTSLOTI alAuxiliaryEffectSloti;
45     static LPALAUXILIARYEFFECTSLOTIV alAuxiliaryEffectSlotiv;
46     static LPALAUXILIARYEFFECTSLOTF alAuxiliaryEffectSlotf;
47     static LPALAUXILIARYEFFECTSLOTFV alAuxiliaryEffectSlotfv;
48     static LPALGETAUXILIARYEFFECTSLOTI alGetAuxiliaryEffectSloti;
49     static LPALGETAUXILIARYEFFECTSLOTIV alGetAuxiliaryEffectSlotiv;
50     static LPALGETAUXILIARYEFFECTSLOTF alGetAuxiliaryEffectSlotf;
51     static LPALGETAUXILIARYEFFECTSLOTFV alGetAuxiliaryEffectSlotfv;
52
53     static LPALGENEFFECTS alGenEffects;
54     static LPALISEFFECT alIsEffect;
55     static LPALDELETEEFFECTS alDeleteEffects;
56     static LPALEFFECTI alEffecti;
57     static LPALEFFECTIV alEffectiv;
58     static LPALEFFECTF alEffectf;
59     static LPALEFFECTFV alEffectfv;
60     static LPALGETEFFECTI alGetEffecti;
61     static LPALGETEFFECTIV alGetEffectiv;
62     static LPALGETEFFECTF alGetEffectf;
63     static LPALGETEFFECTFV alGetEffectfv;
64
65     static LPALGENFILTERS alGenFilters;
66     static LPALISFILTER alIsFilter;
67     static LPALDELETEFILTERS alDeleteFilters;
68     static LPALFILTERI alFilteri;
69     static LPALFILTERIV alFilteriv;
70     static LPALFILTERF alFilterf;
71     static LPALFILTERFV alFilterfv;
72     static LPALGETFILTERI alGetFilteri;
73     static LPALGETFILTERIV alGetFilteriv;
74     static LPALGETFILTERF alGetFilterf;
75     static LPALGETFILTERFV alGetFilterfv;
76
77 private:
78     nEfxHelper();
79     static bool sm_initialized;
80 };
81
82 #endif // NEFXHELPER_H