60 lines
2.2 KiB
C++
60 lines
2.2 KiB
C++
// Copyright (C) 2002-2018 Nikolaus Gebhardt
|
|
// This file is part of the "irrKlang" library.
|
|
// For conditions of distribution and use, see copyright notice in irrKlang.h
|
|
|
|
#ifndef __E_IRRKLANG_SOUND_OUTPUT_DRIVERS_H_INCLUDED__
|
|
#define __E_IRRKLANG_SOUND_OUTPUT_DRIVERS_H_INCLUDED__
|
|
|
|
namespace irrklang
|
|
{
|
|
//! An enumeration for all types of supported sound drivers
|
|
/** Values of this enumeration can be used as parameter when calling createIrrKlangDevice(). */
|
|
enum E_SOUND_OUTPUT_DRIVER
|
|
{
|
|
//! Autodetects the best sound driver for the system
|
|
ESOD_AUTO_DETECT = 0,
|
|
|
|
//! DirectSound8 sound output driver, windows only.
|
|
/** In contrast to ESOD_DIRECT_SOUND, this supports sophisticated sound effects
|
|
but may not be available on old windows versions. It behaves very similar
|
|
to ESOD_DIRECT_SOUND but also supports DX8 sound effects.*/
|
|
ESOD_DIRECT_SOUND_8,
|
|
|
|
//! DirectSound sound output driver, windows only.
|
|
/** This uses DirectSound 3 or above, if available. If DX8 sound effects
|
|
are needed, use ESOD_DIRECT_SOUND_8 instead. The
|
|
ESOD_DIRECT_SOUND driver may be available on more and older windows
|
|
versions than ESOD_DIRECT_SOUND_8.*/
|
|
ESOD_DIRECT_SOUND,
|
|
|
|
//! WinMM sound output driver, windows only.
|
|
/** Supports the ISoundMixedOutputReceiver interface using setMixedDataOutputReceiver. */
|
|
ESOD_WIN_MM,
|
|
|
|
//! ALSA sound output driver, linux only.
|
|
/** When using ESOD_ALSA in createIrrKlangDevice(), it is possible to set the third parameter,
|
|
'deviceID' to the name of specific ALSA pcm device, to the irrKlang force to use this one.
|
|
Set it to 'default', or 'plug:hw' or whatever you need it to be.
|
|
Supports the ISoundMixedOutputReceiver interface using setMixedDataOutputReceiver. */
|
|
ESOD_ALSA,
|
|
|
|
//! Core Audio sound output driver, mac os only.
|
|
/** Supports the ISoundMixedOutputReceiver interface using setMixedDataOutputReceiver. */
|
|
ESOD_CORE_AUDIO,
|
|
|
|
//! Null driver, creating no sound output
|
|
ESOD_NULL,
|
|
|
|
//! Amount of built-in sound output drivers
|
|
ESOD_COUNT,
|
|
|
|
//! This enumeration literal is never used, it only forces the compiler to
|
|
//! compile these enumeration values to 32 bit.
|
|
ESOD_FORCE_32_BIT = 0x7fffffff
|
|
};
|
|
|
|
} // end namespace irrklang
|
|
|
|
#endif
|
|
|