#pragma once #include #include #include #include #include namespace hooks::audio { enum class Backend { Asio, WaveOut, Pipewire, None }; extern bool ENABLED; extern bool USE_DUMMY; extern WAVEFORMATEXTENSIBLE FORMAT; extern std::optional BACKEND; extern size_t ASIO_DRIVER_ID; void init(); void stop(); inline std::optional name_to_backend(const char *value) { if (_stricmp(value, "asio") == 0) { return Backend::Asio; } else if (_stricmp(value, "waveout") == 0) { return Backend::WaveOut; } else if (_stricmp(value, "pipewire") == 0) { return Backend::Pipewire; } else if (_stricmp(value, "none") == 0) { return Backend::None; } return std::nullopt; } }