1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
# This .cfg file is used to generate the JOAL interface.
Include joal-common.cfg
Style InterfaceAndImpl
JavaClass ALExt
ImplPackage jogamp.openal
ImplJavaClass ALExtAbstractImpl
AccessControl ALExtAbstractImpl PUBLIC_ABSTRACT
Extends ALExt ALExtConstants
ExtendedIntfAndImplSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/openal/AL.java
ExtendedIntfAndImplSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/openal/ALConstants.java
ExtendedIntfAndImplSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/openal/ALC.java
ExtendedIntfAndImplSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/openal/ALCConstants.java
EmitProcAddressTable true
ProcAddressTableClassName ALExtProcAddressTable
GetProcAddressTableExpr alExtProcAddressTable
ProcAddressNameExpr LP $UPPERCASE({0})
# Force all of the methods to be emitted using dynamic linking so we
# don't need to link against any emulation library on the desktop or
# depend on the presence of an import library for a particular device
ForceProcAddressGen __ALL__
# Also force the calling conventions of the locally generated function
# pointer typedefs for these routines to AL_APIENTRY
LocalProcAddressCallingConvention __ALL__ AL_APIENTRY
# typedef void (AL_APIENTRY*ALEVENTPROCSOFT)(ALenum eventType, ALuint object, ALuint param,
# ALsizei length, const ALchar *message, void *userParam);
# AL_API void AL_APIENTRY alEventCallbackSOFT(ALEVENTPROCSOFT callback, void *userParam);
ArgumentIsPascalString ALEVENTPROCSOFT 3 4
JavaCallbackDef alEventCallbackSOFT 1 ALEVENTPROCSOFT 5 ALCcontext ALContextKey
JavaCallbackKey alEventCallbackSOFT 1 ALEVENTPROCSOFT 5
# typedef ALsizei (AL_APIENTRY*ALBUFFERCALLBACKTYPESOFT)(ALvoid *userptr, ALvoid *sampledata, ALsizei numbytes);
# AL_API void AL_APIENTRY alBufferCallbackSOFT(ALuint buffer, ALenum format, ALsizei freq, ALBUFFERCALLBACKTYPESOFT callback, ALvoid *userptr);
JavaCallbackDef alBufferCallbackSOFT 4 ALBUFFERCALLBACKTYPESOFT 0 ALCcontext ALContextKey
JavaCallbackKey alBufferCallbackSOFT 4 ALBUFFERCALLBACKTYPESOFT 0
# typedef void (ALC_APIENTRY*ALCEVENTPROCTYPESOFT)(ALCenum eventType, ALCenum deviceType,
# ALCdevice *device, ALCsizei length, const ALCchar *message, void *userParam);
# void ALC_APIENTRY alcEventCallbackSOFT(ALCEVENTPROCTYPESOFT callback, void *userParam);
ArgumentIsPascalString ALCEVENTPROCTYPESOFT 3 4
JavaCallbackDef alcEventCallbackSOFT 1 ALCEVENTPROCTYPESOFT 5 ALCcontext ALContextKey
JavaCallbackKey alcEventCallbackSOFT 1 ALCEVENTPROCTYPESOFT 5
# typedef void (AL_APIENTRY*ALDEBUGPROCEXT)(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message, void *userParam);
# void AL_APIENTRY alDebugMessageCallbackEXT(ALDEBUGPROCEXT callback, void *userParam);
# void AL_APIENTRY alDebugMessageInsertEXT(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message);
# void AL_APIENTRY alDebugMessageControlEXT(ALenum source, ALenum type, ALenum severity, ALsizei count, const ALuint *ids, ALboolean enable);
# void AL_APIENTRY alPushDebugGroupEXT(ALenum source, ALuint id, ALsizei length, const ALchar *message);
# void AL_APIENTRY alPopDebugGroupEXT(void);
# ALuint AL_APIENTRY alGetDebugMessageLogEXT(ALuint count, ALsizei logBufSize, ALenum *sources, ALenum *types, ALuint *ids, ALenum *severities, ALsizei *lengths, ALchar *logBuf);
# void AL_APIENTRY alObjectLabelEXT(ALenum identifier, ALuint name, ALsizei length, const ALchar *label);
# void AL_APIENTRY alGetObjectLabelEXT(ALenum identifier, ALuint name, ALsizei bufSize, ALsizei *length, ALchar *label);
ArgumentIsPascalString ALDEBUGPROCEXT 4 5
JavaCallbackDef alDebugMessageCallbackEXT 1 ALDEBUGPROCEXT 6 ALCcontext ALContextKey
JavaCallbackKey alDebugMessageCallbackEXT 1 ALDEBUGPROCEXT 6
ArgumentIsPascalString alDebugMessageInsertEXT 4 5
ArgumentIsPascalString alPushDebugGroupEXT 2 3
# ArgumentIsPascalString alGetDebugMessageLogEXT 6 7 # FIXME???
ArgumentIsPascalString alObjectLabelEXT 2 3
# ArgumentIsPascalString alGetObjectLabelEXT 3 4 # FIXME???
Import java.io.UnsupportedEncodingException
Import java.util.*
Import com.jogamp.openal.*
Import jogamp.openal.*
Import java.security.PrivilegedAction
Import com.jogamp.openal.ALContextKey
Import com.jogamp.openal.ALCcontext
# Factor out the OpenAL constants into their own interface
Ignore ^AL_.+
Ignore ^ALC_.+
IncludeAs CustomJavaCode ALExtAbstractImpl joal-alextabstract-CustomJavaCode.java
# These routines use or return strings
ArgumentIsString alcLoopbackOpenDeviceSOFT 0
# Provide #includes to native code
CustomCCode #include "alext.h"
# Indicate that the direct buffers for ALCcontext, etc. are "opaque",
# i.e., the user shouldn't be poking around in them
ReturnValueCapacity alcLoopbackOpenDeviceSOFT 0
IncludeAs CustomCCode joal-common-CustomCCode.c
ReturnsString alcGetStringiSOFT
ReturnsString alGetStringiSOFT
ArgumentIsString alcReopenDeviceSOFT 1
|