diff options
author | MathiusD <[email protected]> | 2023-11-26 03:33:00 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2023-11-26 02:33:00 +0000 |
commit | c03603b58d4cf6a25d36bca00305970bc9f163b4 (patch) | |
tree | 5f6f2944daf11a43779e8a483c749b190d11fc55 /alc/events.h | |
parent | 1f6d19fd4a4fec15da4181a40ed443174bb95384 (diff) |
Add query fonction in ALC_SOFT_system_events unreleased extension (#938)
* feat(ALC_SOFT_system_events): Add alcEventIsSupportedSOFT method in ALC_SOFT_system_events unreleased extension
The purpose of this addition (to my collection) are allow to retrieve which events are supported and if events are fully supported or if some case isn't managed for some reason
For exemple only some backends provide system events:
* pipewire -> Full support of extension
* wasapi -> Full support of extension
* pulseaudio -> Support of add and remove devices events only
* coreaudio -> Support of default device change only
* feat(ALC_SOFT_system_events): Fix typo in alext.h
Cf following review : https://github.com/kcat/openal-soft/pull/938#discussion_r1404509828
* feat(ALC_SOFT_system_events): Remove ALC_EVENT_NOT_SUPPORTED_SOFT token
Cf following discussions between this comment : https://github.com/kcat/openal-soft/pull/938#issuecomment-1825876452 to this comment : https://github.com/kcat/openal-soft/pull/938#issuecomment-1826419406
Diffstat (limited to 'alc/events.h')
-rw-r--r-- | alc/events.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/alc/events.h b/alc/events.h index 4acc505d..3f53ec76 100644 --- a/alc/events.h +++ b/alc/events.h @@ -6,6 +6,7 @@ #include <bitset> #include <mutex> +#include <optional> #include <string_view> @@ -19,6 +20,13 @@ enum class EventType : uint8_t { Count }; +std::optional<alc::EventType> GetEventType(ALCenum type); + +enum class EventSupport : ALCenum { + FullSupport = ALC_EVENT_SUPPORTED_SOFT, + NoSupport = ALC_EVENT_NOT_SUPPORTED_SOFT, +}; + enum class DeviceType : ALCenum { Playback = ALC_PLAYBACK_DEVICE_SOFT, Capture = ALC_CAPTURE_DEVICE_SOFT, |