mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2024-11-29 15:21:54 +00:00
- I accidentally committed patch by slacker from (#4915) in r1916. Patch adds input device selection support
- Add check for ALC_ENUMERATE_ALL_EXT before using ALC_ALL_DEVICES_SPECIFIER in device enumeration - Patch readme for new cvars by Zack Middleton
This commit is contained in:
parent
37727b892c
commit
7ca1dc6f8b
2 changed files with 18 additions and 4 deletions
2
README
2
README
|
@ -132,6 +132,8 @@ New cvars
|
||||||
s_alDriver - which OpenAL library to use
|
s_alDriver - which OpenAL library to use
|
||||||
s_alDevice - which OpenAL device to use
|
s_alDevice - which OpenAL device to use
|
||||||
s_alAvailableDevices - list of available OpenAL devices
|
s_alAvailableDevices - list of available OpenAL devices
|
||||||
|
s_alInputDevice - which OpenAL input device to use
|
||||||
|
s_alAvailableInputDevices - list of available OpenAL input devices
|
||||||
s_sdlBits - SDL bit resolution
|
s_sdlBits - SDL bit resolution
|
||||||
s_sdlSpeed - SDL sample rate
|
s_sdlSpeed - SDL sample rate
|
||||||
s_sdlChannels - SDL number of channels
|
s_sdlChannels - SDL number of channels
|
||||||
|
|
|
@ -45,6 +45,8 @@ cvar_t *s_alInputDevice;
|
||||||
cvar_t *s_alAvailableDevices;
|
cvar_t *s_alAvailableDevices;
|
||||||
cvar_t *s_alAvailableInputDevices;
|
cvar_t *s_alAvailableInputDevices;
|
||||||
|
|
||||||
|
static enumeration_ext = qfalse;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
=================
|
=================
|
||||||
S_AL_Format
|
S_AL_Format
|
||||||
|
@ -2278,7 +2280,7 @@ void S_AL_SoundInfo( void )
|
||||||
Com_Printf( " Renderer: %s\n", qalGetString( AL_RENDERER ) );
|
Com_Printf( " Renderer: %s\n", qalGetString( AL_RENDERER ) );
|
||||||
Com_Printf( " AL Extensions: %s\n", qalGetString( AL_EXTENSIONS ) );
|
Com_Printf( " AL Extensions: %s\n", qalGetString( AL_EXTENSIONS ) );
|
||||||
Com_Printf( " ALC Extensions: %s\n", qalcGetString( alDevice, ALC_EXTENSIONS ) );
|
Com_Printf( " ALC Extensions: %s\n", qalcGetString( alDevice, ALC_EXTENSIONS ) );
|
||||||
if(qalcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT"))
|
if(enumeration_ext)
|
||||||
{
|
{
|
||||||
Com_Printf(" Device: %s\n", qalcGetString(alDevice, ALC_DEVICE_SPECIFIER));
|
Com_Printf(" Device: %s\n", qalcGetString(alDevice, ALC_DEVICE_SPECIFIER));
|
||||||
Com_Printf("Available Devices:\n%s", s_alAvailableDevices->string);
|
Com_Printf("Available Devices:\n%s", s_alAvailableDevices->string);
|
||||||
|
@ -2383,8 +2385,10 @@ qboolean S_AL_Init( soundInterface_t *si )
|
||||||
if(inputdevice && !*inputdevice)
|
if(inputdevice && !*inputdevice)
|
||||||
inputdevice = NULL;
|
inputdevice = NULL;
|
||||||
|
|
||||||
// Device enumeration support (extension is implemented reasonably only on Windows right now).
|
// Device enumeration support
|
||||||
if(qalcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT"))
|
if(qalcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT") ||
|
||||||
|
(enumeration_ext = qalcIsExtensionPresent(NULL, "ALC_ENUMERATE_ALL_EXT"))
|
||||||
|
)
|
||||||
{
|
{
|
||||||
char devicenames[1024] = "";
|
char devicenames[1024] = "";
|
||||||
const char *devicelist;
|
const char *devicelist;
|
||||||
|
@ -2392,7 +2396,15 @@ qboolean S_AL_Init( soundInterface_t *si )
|
||||||
int curlen;
|
int curlen;
|
||||||
|
|
||||||
// get all available devices + the default device name.
|
// get all available devices + the default device name.
|
||||||
|
if(enumeration_ext)
|
||||||
devicelist = qalcGetString(NULL, ALC_ALL_DEVICES_SPECIFIER);
|
devicelist = qalcGetString(NULL, ALC_ALL_DEVICES_SPECIFIER);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// We don't have ALC_ENUMERATE_ALL_EXT but normal enumeration.
|
||||||
|
devicelist = qalcGetString(NULL, ALC_DEVICE_SPECIFIER);
|
||||||
|
enumeration_ext = qtrue;
|
||||||
|
}
|
||||||
|
|
||||||
defaultdevice = qalcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER);
|
defaultdevice = qalcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER);
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
Loading…
Reference in a new issue