1 //          Copyright 2018 - 2021 Michael D. Parker
2 // Distributed under the Boost Software License, Version 1.0.
3 //    (See accompanying file LICENSE_1_0.txt or copy at
4 //          http://www.boost.org/LICENSE_1_0.txt)
5 
6 module bindbc.openal.bindstatic;
7 
8 version(BindOpenAL_Static):
9 
10 import bindbc.openal.types;
11 
12 extern(C) @nogc nothrow {
13     void alEnable(ALenum capability);
14     void alDisable(ALenum capability);
15     ALboolean alIsEnabled(ALenum capability);
16     const(ALchar)* alGetString(ALenum param);
17     void alGetBooleanv(ALenum param, ALboolean* values);
18     void alGetIntegerv(ALenum param, ALint* values);
19     void alGetFloatv(ALenum param, ALfloat* values);
20     void alGetDoublev(ALenum param, ALdouble* values);
21     ALboolean alGetBoolean(ALenum param);
22     ALint alGetInteger(ALenum param);
23     ALfloat alGetFloat(ALenum param);
24     ALdouble alGetDouble(ALenum param);
25     ALenum alGetError();
26     ALboolean alIsExtensionPresent(const(char)* extname);
27     ALvoid* alGetProcAddress(const(char)* fname);
28     ALenum alGetEnumValue(const(char)* ename);
29     void alListenerf(ALenum param, ALfloat value);
30     void alListener3f(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
31     void alListenerfv(ALenum param, const(ALfloat)* values);
32     void alListeneri(ALenum param, ALint value);
33     void alListener3i(ALenum param, ALint value1, ALint value2, ALint value3);
34     void alListeneriv(ALenum param, const(ALint)* values);
35     void alGetListenerf(ALenum param, ALfloat* value);
36     void alGetListener3f(ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3);
37     void alGetListenerfv(ALenum param, ALfloat* values);
38     void alGetListeneri(ALenum param, ALint* value);
39     void alGetListener3i(ALenum param, ALint* value1, ALint* value2, ALint* value3);
40     void alGetListeneriv(ALenum param, ALint* values);
41     void alGenSources(ALsizei n, ALuint* sources);
42     void alDeleteSources(ALsizei n, const(ALuint)* sources);
43     ALboolean alIsSource(ALuint source);
44     void alSourcef(ALuint source, ALenum param, ALfloat value);
45     void alSource3f(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
46     void alSourcefv(ALuint source, ALenum param, const(ALfloat)* values);
47     void alSourcei(ALuint source, ALenum param, ALint value);
48     void alSource3i(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3);
49     void alSourceiv(ALuint source, ALenum param, const(ALint)* values);
50     void alGetSourcef(ALuint source, ALenum param, ALfloat* value);
51     void alGetSource3f(ALuint source, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3);
52     void alGetSourcefv(ALuint source, ALenum param, ALfloat* values);
53     void alGetSourcei(ALuint source, ALenum param, ALint* value);
54     void alGetSource3i(ALuint source, ALenum param, ALint* value1, ALint* value2, ALint* value3);
55     void alGetSourceiv(ALuint source, ALenum param, ALint*);
56     void alSourcePlayv(ALsizei n, const(ALuint)* sources);
57     void alSourceStopv(ALsizei n, const(ALuint)* sources);
58     void alSourceRewindv(ALsizei n, const(ALuint)* sources);
59     void alSourcePausev(ALsizei n, const(ALuint)* sources);
60     void alSourcePlay(ALuint source);
61     void alSourcePause(ALuint source);
62     void alSourceRewind(ALuint source);
63     void alSourceStop(ALuint source);
64     void alSourceQueueBuffers(ALuint source, ALsizei nb, ALuint* buffers);
65     void alSourceUnqueueBuffers(ALuint source, ALsizei nb, ALuint* buffers);
66     void alGenBuffers(ALsizei, ALuint* buffers);
67     void alDeleteBuffers(ALsizei, const(ALuint)* buffers);
68     ALboolean alIsBuffer(ALuint buffer);
69     void alBufferData(ALuint buffers, ALenum param, const(ALvoid)* data, ALsizei size, ALsizei freq);
70     void alBufferf(ALuint buffers, ALenum param, ALfloat value);
71     void alBuffer3f(ALuint buffers, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
72     void alBufferfv(ALuint buffers, ALenum param, const(ALfloat)* values);
73     void alBufferi(ALuint buffers, ALenum param, ALint value);
74     void alBuffer3i(ALuint buffers, ALenum param, ALint value1, ALint value2, ALint value3);
75     void alBufferiv(ALuint buffers, ALenum param, const(ALint)* values);
76     void alGetBufferf(ALuint buffers, ALenum param, ALfloat* value);
77     void alGetBuffer3f(ALuint buffers, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3);
78     void alGetBufferfv(ALuint buffers, ALenum param, ALfloat* values);
79     void alGetBufferi(ALuint buffers, ALenum param, ALint* value);
80     void alGetBuffer3i(ALuint buffers, ALenum param, ALint* value1, ALint* value2, ALint* value3);
81     void alGetBufferiv(ALuint buffers, ALenum param, ALint* values);
82     void alDopplerFactor(ALfloat value);
83     void alDopplerVelocity(ALfloat value);
84     void alSpeedOfSound(ALfloat value);
85     void alDistanceModel(ALenum distanceModel);
86     ALCcontext* alcCreateContext(ALCdevice* device, const(ALCint)* attrlist);
87     ALCboolean alcMakeContextCurrent(ALCcontext* context);
88     void alcProcessContext(ALCcontext* context);
89     void alcSuspendContext(ALCcontext* context);
90     void alcDestroyContext(ALCcontext* context);
91     ALCcontext* alcGetCurrentContext();
92     ALCdevice* alcGetContextsDevice(ALCcontext* context);
93     ALCdevice* alcOpenDevice(const(char)* devicename);
94     ALCboolean alcCloseDevice(ALCdevice* device);
95     ALCenum alcGetError(ALCdevice* device);
96     ALCboolean alcIsExtensionPresent(ALCdevice* device, const(char)* extname);
97     void* alcGetProcAddress(ALCdevice* device, const(char)* funcname);
98     ALCenum alcGetEnumValue(ALCdevice* device, const(char)* enumname);
99     const(char)* alcGetString(ALCdevice* device, ALCenum param);
100     void alcGetIntegerv(ALCdevice* device, ALCenum param, ALCsizei size, ALCint* values);
101     ALCdevice* alcCaptureOpenDevice(const(char)* devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize);
102     ALCboolean alcCaptureCloseDevice(ALCdevice* device);
103     void alcCaptureStart(ALCdevice* device);
104     void alcCaptureStop(ALCdevice* device);
105     void alcCaptureSamples(ALCdevice* device, ALCvoid* buffer, ALCsizei samples);
106 
107 
108     version(AL_EFX) {
109         void alGenEffects(ALsizei n, ALuint* effects);
110         void alDeleteEffects(ALsizei n, const ALuint* effects);
111         ALboolean alIsEffect(ALuint effect);
112         void alEffecti(ALuint effect, ALenum param, ALint iValue);
113         void alEffectiv(ALuint effect, ALenum param, const ALint* piValues);
114         void alEffectf(ALuint effect, ALenum param, ALfloat flValue);
115         void alEffectfv(ALuint effect, ALenum param, const ALfloat* pflValues);
116         void alGetEffecti(ALuint effect, ALenum param, ALint* piValue);
117         void alGetEffectiv(ALuint effect, ALenum param, ALint* piValues);
118         void alGetEffectf(ALuint effect, ALenum param, ALfloat* pflValue);
119         void alGetEffectfv(ALuint effect, ALenum param, ALfloat* pflValues);
120 
121         void alGenFilters(ALsizei n, ALuint* filters);
122         void alDeleteFilters(ALsizei n, const ALuint* filters);
123         ALboolean alIsFilter(ALuint filter);
124         void alFilteri(ALuint filter, ALenum param, ALint iValue);
125         void alFilteriv(ALuint filter, ALenum param, const ALint* piValues);
126         void alFilterf(ALuint filter, ALenum param, ALfloat flValue);
127         void alFilterfv(ALuint filter, ALenum param, const ALfloat* pflValues);
128         void alGetFilteri(ALuint filter, ALenum param, ALint* piValue);
129         void alGetFilteriv(ALuint filter, ALenum param, ALint* piValues);
130         void alGetFilterf(ALuint filter, ALenum param, ALfloat* pflValue);
131         void alGetFilterfv(ALuint filter, ALenum param, ALfloat* pflValues);
132 
133         void alGenAuxiliaryEffectSlots(ALsizei n, ALuint* effectslots);
134         void alDeleteAuxiliaryEffectSlots(ALsizei n, const ALuint* effectslots);
135         ALboolean alIsAuxiliaryEffectSlot(ALuint effectslot);
136         void alAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint iValue);
137         void alAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, const ALint* piValues);
138         void alAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat flValue);
139         void alAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, const ALfloat* pflValues);
140         void alGetAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint* piValue);
141         void alGetAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint* piValues);
142         void alGetAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat* pflValue);
143         void alGetAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat* pflValues);
144     }
145 }