aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/openal-info.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/utils/openal-info.c b/utils/openal-info.c
index 0af27422..11c49245 100644
--- a/utils/openal-info.c
+++ b/utils/openal-info.c
@@ -230,6 +230,56 @@ static void printModeInfo(ALCdevice *device)
}
}
+static void printALCSOFTSystemEventIsSupportedResult(LPALCEVENTISSUPPORTEDSOFT alcEventIsSupportedSOFT, ALCenum eventType, ALCenum deviceType)
+{
+ if (alcEventIsSupportedSOFT == NULL)
+ {
+ printf("ERROR (alcEventIsSupportedSOFT missing)\n");
+ return;
+ }
+ ALCenum supported = alcEventIsSupportedSOFT(eventType, deviceType);
+ if (supported == ALC_EVENT_SUPPORTED_SOFT)
+ {
+ printf("SUPPORTED\n");
+ }
+ else if (supported == ALC_EVENT_NOT_SUPPORTED_SOFT)
+ {
+ printf("NOT SUPPORTED\n");
+ }
+ else
+ {
+ printf("UNEXPECTED VALUE : %d\n", supported);
+ }
+}
+
+static void printALC_SOFT_system_event(void)
+{
+ printf("ALC_SOFT_system_events:");
+ if (alcIsExtensionPresent(NULL, "ALC_SOFT_system_events"))
+ {
+ static LPALCEVENTISSUPPORTEDSOFT alcEventIsSupportedSOFT;
+ alcEventIsSupportedSOFT = FUNCTION_CAST(LPALCEVENTISSUPPORTEDSOFT, alGetProcAddress("alcEventIsSupportedSOFT"));
+ printf(" Supported.\n");
+ printf(" Events:\n");
+ printf(" ALC_EVENT_TYPE_DEFAULT_DEVICE_CHANGED_SOFT for ALC_PLAYBACK_DEVICE_SOFT - ");
+ printALCSOFTSystemEventIsSupportedResult(alcEventIsSupportedSOFT, ALC_EVENT_TYPE_DEFAULT_DEVICE_CHANGED_SOFT, ALC_PLAYBACK_DEVICE_SOFT);
+ printf(" ALC_EVENT_TYPE_DEFAULT_DEVICE_CHANGED_SOFT for ALC_CAPTURE_DEVICE_SOFT - ");
+ printALCSOFTSystemEventIsSupportedResult(alcEventIsSupportedSOFT, ALC_EVENT_TYPE_DEFAULT_DEVICE_CHANGED_SOFT, ALC_CAPTURE_DEVICE_SOFT);
+ printf(" ALC_EVENT_TYPE_DEVICE_ADDED_SOFT for ALC_PLAYBACK_DEVICE_SOFT - ");
+ printALCSOFTSystemEventIsSupportedResult(alcEventIsSupportedSOFT, ALC_EVENT_TYPE_DEVICE_ADDED_SOFT, ALC_PLAYBACK_DEVICE_SOFT);
+ printf(" ALC_EVENT_TYPE_DEVICE_ADDED_SOFT for ALC_CAPTURE_DEVICE_SOFT - ");
+ printALCSOFTSystemEventIsSupportedResult(alcEventIsSupportedSOFT, ALC_EVENT_TYPE_DEVICE_ADDED_SOFT, ALC_CAPTURE_DEVICE_SOFT);
+ printf(" ALC_EVENT_TYPE_DEVICE_REMOVED_SOFT for ALC_PLAYBACK_DEVICE_SOFT - ");
+ printALCSOFTSystemEventIsSupportedResult(alcEventIsSupportedSOFT, ALC_EVENT_TYPE_DEVICE_REMOVED_SOFT, ALC_PLAYBACK_DEVICE_SOFT);
+ printf(" ALC_EVENT_TYPE_DEVICE_REMOVED_SOFT for ALC_CAPTURE_DEVICE_SOFT - ");
+ printALCSOFTSystemEventIsSupportedResult(alcEventIsSupportedSOFT, ALC_EVENT_TYPE_DEVICE_REMOVED_SOFT, ALC_CAPTURE_DEVICE_SOFT);
+ }
+ else
+ {
+ printf(" Not supported.\n");
+ }
+}
+
static void printALInfo(void)
{
printf("OpenAL vendor string: %s\n", alGetString(AL_VENDOR));
@@ -435,6 +485,7 @@ int main(int argc, char *argv[])
}
printALCInfo(device);
printHRTFInfo(device);
+ printALC_SOFT_system_event();
context = alcCreateContext(device, NULL);
if(!context || alcMakeContextCurrent(context) == ALC_FALSE)