# 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 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