aboutsummaryrefslogtreecommitdiffstats
path: root/alc
diff options
context:
space:
mode:
Diffstat (limited to 'alc')
-rw-r--r--alc/context.h3
-rw-r--r--alc/device.h5
-rw-r--r--alc/export_list.h10
-rw-r--r--alc/inprogext.h30
4 files changed, 40 insertions, 8 deletions
diff --git a/alc/context.h b/alc/context.h
index 0611775a..f936bbe8 100644
--- a/alc/context.h
+++ b/alc/context.h
@@ -8,6 +8,7 @@
#include <stdint.h>
#include <string>
#include <string_view>
+#include <unordered_map>
#include <utility>
#include <vector>
@@ -146,6 +147,8 @@ struct ALCcontext : public al::intrusive_ref<ALCcontext>, ContextBase {
std::vector<std::string_view> mExtensions;
std::string mExtensionsString{};
+ std::unordered_map<ALuint,std::string> mSourceNames;
+ std::unordered_map<ALuint,std::string> mEffectSlotNames;
ALCcontext(al::intrusive_ptr<ALCdevice> device, ContextFlagBitset flags);
ALCcontext(const ALCcontext&) = delete;
diff --git a/alc/device.h b/alc/device.h
index c346dc9e..66f37a7e 100644
--- a/alc/device.h
+++ b/alc/device.h
@@ -7,6 +7,7 @@
#include <optional>
#include <stdint.h>
#include <string>
+#include <unordered_map>
#include <utility>
#include <vector>
@@ -133,6 +134,10 @@ struct ALCdevice : public al::intrusive_ref<ALCdevice>, DeviceBase {
#endif // ALSOFT_EAX
+ std::unordered_map<ALuint,std::string> mBufferNames;
+ std::unordered_map<ALuint,std::string> mEffectNames;
+ std::unordered_map<ALuint,std::string> mFilterNames;
+
ALCdevice(DeviceType type);
~ALCdevice();
diff --git a/alc/export_list.h b/alc/export_list.h
index ed1165d0..89d394a8 100644
--- a/alc/export_list.h
+++ b/alc/export_list.h
@@ -367,6 +367,10 @@ inline const FuncExport alcFunctions[]{
DECL(alPushDebugGroupDirectEXT),
DECL(alPopDebugGroupDirectEXT),
DECL(alGetDebugMessageLogDirectEXT),
+ DECL(alObjectLabelEXT),
+ DECL(alObjectLabelDirectEXT),
+ DECL(alGetObjectLabelEXT),
+ DECL(alGetObjectLabelDirectEXT),
/* Extra functions */
DECL(alsoft_set_log_callback),
@@ -862,8 +866,14 @@ inline const EnumExport alcEnumerations[]{
DECL(AL_MAX_DEBUG_MESSAGE_LENGTH_EXT),
DECL(AL_MAX_DEBUG_LOGGED_MESSAGES_EXT),
DECL(AL_MAX_DEBUG_GROUP_STACK_DEPTH_EXT),
+ DECL(AL_MAX_LABEL_LENGTH_EXT),
DECL(AL_STACK_OVERFLOW_EXT),
DECL(AL_STACK_UNDERFLOW_EXT),
+ DECL(AL_BUFFER_EXT),
+ DECL(AL_SOURCE_EXT),
+ DECL(AL_FILTER_EXT),
+ DECL(AL_EFFECT_EXT),
+ DECL(AL_AUXILIARY_EFFECT_SLOT_EXT),
DECL(AL_STOP_SOURCES_ON_DISCONNECT_SOFT),
#ifdef ALSOFT_EAX
diff --git a/alc/inprogext.h b/alc/inprogext.h
index 7f5458e5..dc1744ee 100644
--- a/alc/inprogext.h
+++ b/alc/inprogext.h
@@ -97,9 +97,15 @@ AL_API void AL_APIENTRY alAuxiliaryEffectSlotStopvSOFT(ALsizei n, const ALuint *
#define AL_MAX_DEBUG_MESSAGE_LENGTH_EXT 0x19C9
#define AL_MAX_DEBUG_LOGGED_MESSAGES_EXT 0x19CA
#define AL_MAX_DEBUG_GROUP_STACK_DEPTH_EXT 0x19CB
-#define AL_STACK_OVERFLOW_EXT 0x19CC
-#define AL_STACK_UNDERFLOW_EXT 0x19CD
-#define AL_CONTEXT_FLAGS_EXT 0x19CE
+#define AL_MAX_LABEL_LENGTH_EXT 0x19CC
+#define AL_STACK_OVERFLOW_EXT 0x19CD
+#define AL_STACK_UNDERFLOW_EXT 0x19CE
+#define AL_CONTEXT_FLAGS_EXT 0x19CF
+#define AL_BUFFER_EXT 0x1009 /* Same as AL_BUFFER */
+#define AL_SOURCE_EXT 0x19D0
+#define AL_FILTER_EXT 0x19D1
+#define AL_EFFECT_EXT 0x19D2
+#define AL_AUXILIARY_EFFECT_SLOT_EXT 0x19D3
typedef void (AL_APIENTRY*ALDEBUGPROCEXT)(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message, void *userParam) AL_API_NOEXCEPT17;
typedef void (AL_APIENTRY*LPALDEBUGMESSAGECALLBACKEXT)(ALDEBUGPROCEXT callback, void *userParam) AL_API_NOEXCEPT17;
@@ -108,6 +114,8 @@ typedef void (AL_APIENTRY*LPALDEBUGMESSAGECONTROLEXT)(ALenum source, ALenum type
typedef void (AL_APIENTRY*LPALPUSHDEBUGGROUPEXT)(ALenum source, ALuint id, ALsizei length, const ALchar *message) AL_API_NOEXCEPT17;
typedef void (AL_APIENTRY*LPALPOPDEBUGGROUPEXT)(void) AL_API_NOEXCEPT17;
typedef ALuint (AL_APIENTRY*LPALGETDEBUGMESSAGELOGEXT)(ALuint count, ALsizei logBufSize, ALenum *sources, ALenum *types, ALuint *ids, ALenum *severities, ALsizei *lengths, ALchar *logBuf) AL_API_NOEXCEPT17;
+typedef void (AL_APIENTRY*LPALOBJECTLABELEXT)(ALenum identifier, ALuint name, ALsizei length, const ALchar *label) AL_API_NOEXCEPT17;
+typedef void (AL_APIENTRY*LPALGETOBJECTLABELEXT)(ALenum identifier, ALuint name, ALsizei bufSize, ALsizei *length, ALchar *label) AL_API_NOEXCEPT17;
#ifdef AL_ALEXT_PROTOTYPES
void AL_APIENTRY alDebugMessageCallbackEXT(ALDEBUGPROCEXT callback, void *userParam) AL_API_NOEXCEPT;
void AL_APIENTRY alDebugMessageInsertEXT(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message) AL_API_NOEXCEPT;
@@ -115,6 +123,8 @@ void AL_APIENTRY alDebugMessageControlEXT(ALenum source, ALenum type, ALenum sev
void AL_APIENTRY alPushDebugGroupEXT(ALenum source, ALuint id, ALsizei length, const ALchar *message) AL_API_NOEXCEPT;
void AL_APIENTRY alPopDebugGroupEXT(void) AL_API_NOEXCEPT;
ALuint AL_APIENTRY alGetDebugMessageLogEXT(ALuint count, ALsizei logBufSize, ALenum *sources, ALenum *types, ALuint *ids, ALenum *severities, ALsizei *lengths, ALchar *logBuf) AL_API_NOEXCEPT;
+void AL_APIENTRY alObjectLabelEXT(ALenum identifier, ALuint name, ALsizei length, const ALchar *label) AL_API_NOEXCEPT;
+void AL_APIENTRY alGetObjectLabelEXT(ALenum identifier, ALuint name, ALsizei bufSize, ALsizei *length, ALchar *label) AL_API_NOEXCEPT;
#endif
#endif
@@ -236,6 +246,8 @@ typedef void (AL_APIENTRY*LPALDEBUGMESSAGECONTROLDIRECTEXT)(ALCcontext *context,
typedef void (AL_APIENTRY*LPALPUSHDEBUGGROUPDIRECTEXT)(ALCcontext *context, ALenum source, ALuint id, ALsizei length, const ALchar *message) AL_API_NOEXCEPT17;
typedef void (AL_APIENTRY*LPALPOPDEBUGGROUPDIRECTEXT)(ALCcontext *context) AL_API_NOEXCEPT17;
typedef ALuint (AL_APIENTRY*LPALGETDEBUGMESSAGELOGDIRECTEXT)(ALCcontext *context, ALuint count, ALsizei logBufSize, ALenum *sources, ALenum *types, ALuint *ids, ALenum *severities, ALsizei *lengths, ALchar *logBuf) AL_API_NOEXCEPT17;
+typedef void (AL_APIENTRY*LPALOBJECTLABELDIRECTEXT)(ALCcontext *context, ALenum identifier, ALuint name, ALsizei length, const ALchar *label) AL_API_NOEXCEPT17;
+typedef void (AL_APIENTRY*LPALGETOBJECTLABELDIRECTEXT)(ALCcontext *context, ALenum identifier, ALuint name, ALsizei bufSize, ALsizei *length, ALchar *label) AL_API_NOEXCEPT17;
/* AL_EXT_FOLDBACK */
typedef void (AL_APIENTRY *LPALREQUESTFOLDBACKSTARTDIRECT)(ALCcontext *context, ALenum mode, ALsizei count, ALsizei length, ALfloat *mem, LPALFOLDBACKCALLBACK callback) AL_API_NOEXCEPT17;
typedef void (AL_APIENTRY *LPALREQUESTFOLDBACKSTOPDIRECT)(ALCcontext *context) AL_API_NOEXCEPT17;
@@ -401,6 +413,8 @@ void AL_APIENTRY alDebugMessageControlDirectEXT(ALCcontext *context, ALenum sour
void AL_APIENTRY alPushDebugGroupDirectEXT(ALCcontext *context, ALenum source, ALuint id, ALsizei length, const ALchar *message) AL_API_NOEXCEPT;
void AL_APIENTRY alPopDebugGroupDirectEXT(ALCcontext *context) AL_API_NOEXCEPT;
ALuint AL_APIENTRY alGetDebugMessageLogDirectEXT(ALCcontext *context, ALuint count, ALsizei logBufSize, ALenum *sources, ALenum *types, ALuint *ids, ALenum *severities, ALsizei *lengths, ALchar *logBuf) AL_API_NOEXCEPT;
+void AL_APIENTRY alObjectLabelDirectEXT(ALCcontext *context, ALenum identifier, ALuint name, ALsizei length, const ALchar *label) AL_API_NOEXCEPT;
+void AL_APIENTRY alGetObjectLabelDirectEXT(ALCcontext *context, ALenum identifier, ALuint name, ALsizei bufSize, ALsizei *length, ALchar *label) AL_API_NOEXCEPT;
void AL_APIENTRY alRequestFoldbackStartDirect(ALCcontext *context, ALenum mode, ALsizei count, ALsizei length, ALfloat *mem, LPALFOLDBACKCALLBACK callback) AL_API_NOEXCEPT;
void AL_APIENTRY alRequestFoldbackStopDirect(ALCcontext *context) AL_API_NOEXCEPT;
@@ -447,11 +461,11 @@ ALenum AL_APIENTRY EAXGetBufferModeDirect(ALCcontext *context, ALuint buffer, AL
#ifndef ALC_SOFT_system_events
#define ALC_SOFT_system_events
-#define ALC_PLAYBACK_DEVICE_SOFT 0x19CF
-#define ALC_CAPTURE_DEVICE_SOFT 0x19D0
-#define ALC_EVENT_TYPE_DEFAULT_DEVICE_CHANGED_SOFT 0x19D1
-#define ALC_EVENT_TYPE_DEVICE_ADDED_SOFT 0x19D2
-#define ALC_EVENT_TYPE_DEVICE_REMOVED_SOFT 0x19D3
+#define ALC_PLAYBACK_DEVICE_SOFT 0x19D4
+#define ALC_CAPTURE_DEVICE_SOFT 0x19D5
+#define ALC_EVENT_TYPE_DEFAULT_DEVICE_CHANGED_SOFT 0x19D6
+#define ALC_EVENT_TYPE_DEVICE_ADDED_SOFT 0x19D7
+#define ALC_EVENT_TYPE_DEVICE_REMOVED_SOFT 0x19D8
typedef void (ALC_APIENTRY*ALCEVENTPROCTYPESOFT)(ALCenum eventType, ALCenum deviceType,
ALCdevice *device, ALCsizei length, const ALCchar *message, void *userParam) ALC_API_NOEXCEPT17;
typedef ALCboolean (ALC_APIENTRY*LPALCEVENTCONTROLSOFT)(ALCsizei count, const ALCenum *events, ALCboolean enable) ALC_API_NOEXCEPT17;