Everything in the irrKlang Sound Engine can be found in this namespace. More...
Classes | |
class | IAudioRecorder |
Interface to an audio recorder. Create it using the createIrrKlangAudioRecorder() function. More... | |
class | ICapturedAudioDataReceiver |
Interface to be implemented by the user if access to the recorded audio data is needed. More... | |
class | IAudioStream |
Reads and decodes audio data into an usable audio stream for the ISoundEngine. More... | |
class | IAudioStreamLoader |
Class which is able to create an audio file stream from a file. More... | |
class | IFileFactory |
Interface to overwrite file access in irrKlang. More... | |
class | IFileReader |
Interface providing read acess to a file. More... | |
class | IRefCounted |
Base class of most objects of the irrKlang. More... | |
class | ISound |
Represents a sound which is currently played. More... | |
class | ISoundDeviceList |
A list of sound devices for a sound driver. Use irrklang::createSoundDeviceList() to create this list. More... | |
class | ISoundEffectControl |
Interface to control the active sound effects (echo, reverb,...) of an ISound object, a playing sound. More... | |
class | ISoundEngine |
Interface to the sound engine, for playing 3d and 2d sound and music. More... | |
struct | SInternalAudioInterface |
structure for returning pointers to the internal audio interface. More... | |
class | ISoundMixedOutputReceiver |
Interface to be implemented by the user, which recieves the mixed output when it it played by the sound engine. More... | |
class | ISoundSource |
A sound source describes an input file (.ogg, .mp3, .wav or similar) and its default settings. More... | |
class | ISoundStopEventReceiver |
Interface to be implemented by the user, which recieves sound stop events. More... | |
class | IVirtualRefCounted |
Reference counting base class for objects in the Irrlicht Engine similar to IRefCounted. More... | |
struct | SAudioStreamFormat |
structure describing an audio stream format with helper functions More... | |
class | vec3d |
a 3d vector template class for representing vectors and points in 3d More... | |
Typedefs | |
typedef unsigned char | ik_u8 |
8 bit unsigned variable. | |
typedef signed char | ik_s8 |
8 bit signed variable. | |
typedef char | ik_c8 |
8 bit character variable. | |
typedef unsigned short | ik_u16 |
16 bit unsigned variable. | |
typedef signed short | ik_s16 |
16 bit signed variable. | |
typedef unsigned int | ik_u32 |
32 bit unsigned variable. | |
typedef signed int | ik_s32 |
32 bit signed variable. | |
typedef float | ik_f32 |
32 bit floating point variable. | |
typedef double | ik_f64 |
64 bit floating point variable. | |
typedef vec3d< ik_f32 > | vec3df |
Typedef for a ik_f32 3d vector, a vector using floats for X, Y and Z. | |
typedef vec3d< ik_s32 > | vec3di |
Typedef for an integer 3d vector, a vector using ints for X, Y and Z. | |
Enumerations | |
enum | E_SOUND_ENGINE_OPTIONS { ESEO_MULTI_THREADED = 0x01, ESEO_MUTE_IF_NOT_FOCUSED = 0x02, ESEO_LOAD_PLUGINS = 0x04, ESEO_USE_3D_BUFFERS = 0x08, ESEO_PRINT_DEBUG_INFO_TO_DEBUGGER = 0x10, ESEO_PRINT_DEBUG_INFO_TO_STDOUT = 0x20, ESEO_LINEAR_ROLLOFF = 0x40, ESEO_DEFAULT_OPTIONS = ESEO_MULTI_THREADED | ESEO_LOAD_PLUGINS | ESEO_USE_3D_BUFFERS | ESEO_PRINT_DEBUG_INFO_TO_DEBUGGER | ESEO_PRINT_DEBUG_INFO_TO_STDOUT, ESEO_FORCE_32_BIT = 0x7fffffff } |
An enumeration for all options for starting up the sound engine. More... | |
enum | E_SOUND_OUTPUT_DRIVER { ESOD_AUTO_DETECT = 0, ESOD_DIRECT_SOUND_8, ESOD_DIRECT_SOUND, ESOD_WIN_MM, ESOD_ALSA, ESOD_CORE_AUDIO, ESOD_NULL, ESOD_COUNT, ESOD_FORCE_32_BIT = 0x7fffffff } |
An enumeration for all types of supported sound drivers. More... | |
enum | E_STREAM_MODE { ESM_AUTO_DETECT = 0, ESM_STREAMING, ESM_NO_STREAMING, ESM_FORCE_32_BIT = 0x7fffffff } |
An enumeration for all types of supported stream modes. More... | |
enum | E_STOP_EVENT_CAUSE { ESEC_SOUND_FINISHED_PLAYING = 0, ESEC_SOUND_STOPPED_BY_USER, ESEC_SOUND_STOPPED_BY_SOURCE_REMOVAL, ESEC_FORCE_32_BIT = 0x7fffffff } |
An enumeration listing all reasons for a fired sound stop event. More... | |
enum | ESampleFormat { ESF_U8, ESF_S16 } |
audio sample data format enumeration for supported formats More... | |
Functions | |
bool | equalsfloat (const ik_f32 a, const ik_f32 b, const ik_f32 tolerance=IK_ROUNDING_ERROR_32) |
template<class S , class T > | |
vec3d< T > | operator* (const S scalar, const vec3d< T > &vector) |
IRRKLANG_API ISoundEngine *IRRKLANGCALLCONV | createIrrKlangDevice (E_SOUND_OUTPUT_DRIVER driver=ESOD_AUTO_DETECT, int options=ESEO_DEFAULT_OPTIONS, const char *deviceID=0, const char *sdk_version_do_not_use=IRR_KLANG_VERSION) |
Creates an irrKlang device. The irrKlang device is the root object for using the sound engine. | |
IRRKLANG_API ISoundDeviceList *IRRKLANGCALLCONV | createSoundDeviceList (E_SOUND_OUTPUT_DRIVER driver=ESOD_AUTO_DETECT, const char *sdk_version_do_not_use=IRR_KLANG_VERSION) |
Creates a list of available sound devices for the driver type. | |
IRRKLANG_API IAudioRecorder *IRRKLANGCALLCONV | createIrrKlangAudioRecorder (ISoundEngine *irrKlangDeviceForPlayback, E_SOUND_OUTPUT_DRIVER driver=ESOD_AUTO_DETECT, const char *deviceID=0, const char *sdk_version_do_not_use=IRR_KLANG_VERSION) |
Creates an irrKlang audio recording device. The IAudioRecorder is the root object for recording audio. | |
IRRKLANG_API ISoundDeviceList *IRRKLANGCALLCONV | createAudioRecorderDeviceList (E_SOUND_OUTPUT_DRIVER driver=ESOD_AUTO_DETECT, const char *sdk_version_do_not_use=IRR_KLANG_VERSION) |
Creates a list of available recording devices for the driver type. | |
IRRKLANG_API bool IRRKLANGCALLCONV | makeUTF8fromUTF16string (const wchar_t *pInputString, char *pOutputBuffer, int outputBufferSize) |
Converts a wchar_t string to an utf8 string, useful when using Windows in unicode mode. | |
Variables | |
const ik_f32 | IK_ROUNDING_ERROR_32 = 0.000001f |
const ik_f64 | IK_PI64 = 3.1415926535897932384626433832795028841971693993751 |
const ik_f32 | IK_PI32 = 3.14159265359f |
const ik_f32 | IK_RADTODEG = 180.0f / IK_PI32 |
const ik_f32 | IK_DEGTORAD = IK_PI32 / 180.0f |
const ik_f64 | IK_RADTODEG64 = 180.0 / IK_PI64 |
const ik_f64 | IK_DEGTORAD64 = IK_PI64 / 180.0 |
Everything in the irrKlang Sound Engine can be found in this namespace.
typedef char irrklang::ik_c8 |
8 bit character variable.
This is a typedef for char, it ensures portability of the engine.
typedef float irrklang::ik_f32 |
32 bit floating point variable.
This is a typedef for float, it ensures portability of the engine.
typedef double irrklang::ik_f64 |
64 bit floating point variable.
This is a typedef for double, it ensures portability of the engine.
typedef signed short irrklang::ik_s16 |
16 bit signed variable.
This is a typedef for signed short, it ensures portability of the engine.
typedef signed int irrklang::ik_s32 |
32 bit signed variable.
This is a typedef for signed int, it ensures portability of the engine.
typedef signed char irrklang::ik_s8 |
8 bit signed variable.
This is a typedef for signed char, it ensures portability of the engine.
typedef unsigned short irrklang::ik_u16 |
16 bit unsigned variable.
This is a typedef for unsigned short, it ensures portability of the engine.
typedef unsigned int irrklang::ik_u32 |
32 bit unsigned variable.
This is a typedef for unsigned int, it ensures portability of the engine.
typedef unsigned char irrklang::ik_u8 |
8 bit unsigned variable.
This is a typedef for unsigned char, it ensures portability of the engine.
typedef vec3d<ik_f32> irrklang::vec3df |
Typedef for a ik_f32 3d vector, a vector using floats for X, Y and Z.
typedef vec3d<ik_s32> irrklang::vec3di |
Typedef for an integer 3d vector, a vector using ints for X, Y and Z.
An enumeration for all options for starting up the sound engine.
When using createIrrKlangDevice, use a combination of this these as 'options' parameter to start up the engine. By default, irrKlang uses ESEO_DEFAULT_OPTIONS, which is set to the combination ESEO_MULTI_THREADED | ESEO_LOAD_PLUGINS | ESEO_USE_3D_BUFFERS | ESEO_PRINT_DEBUG_INFO_TO_DEBUGGER | ESEO_PRINT_DEBUG_INFO_TO_STDOUT.
ESEO_MULTI_THREADED |
If specified (default), it will make irrKlang run in a separate thread. Using this flag, irrKlang will update all streams, sounds, 3d positions and whatever automaticly. You also don't need to call ISoundEngine::update() if irrKlang is running multithreaded. However, if you want to run irrKlang in the same thread as your application (for easier debugging for example), don't set this. But you need to call ISoundEngine::update() as often as you can (at least about 2-3 times per second) to make irrKlang update everything correctly then. |
ESEO_MUTE_IF_NOT_FOCUSED |
If the window of the application doesn't have the focus, irrKlang will be silent if this has been set. This will only work when irrKlang is using the DirectSound output driver. |
ESEO_LOAD_PLUGINS |
Automaticly loads external plugins when starting up. Plugins usually are .dll, .so or .dylib files named for example ikpMP3.dll (= short for irrKlangPluginMP3) which are executed after the startup of the sound engine and modify it for example to make it possible to play back mp3 files. Plugins are being loaded from the current working directory as well as from the position where the .exe using the irrKlang library resides. It is also possible to load the plugins after the engine has started up using ISoundEngine::loadPlugins(). |
ESEO_USE_3D_BUFFERS |
Uses 3D sound buffers instead of emulating them when playing 3d sounds (default). If this flag is not specified, all buffers will by created in 2D only and 3D positioning will be emulated in software, making the engine run faster if hardware 3d audio is slow on the system. |
ESEO_PRINT_DEBUG_INFO_TO_DEBUGGER |
Prints debug messages to the debugger window. irrKlang will print debug info and status messages to any windows debugger supporting OutputDebugString() (like VisualStudio). This is useful if your application does not capture any console output (see ESEO_PRINT_DEBUG_INFO_TO_STDOUT). |
ESEO_PRINT_DEBUG_INFO_TO_STDOUT |
Prints debug messages to stdout (the ConsoleWindow). irrKlang will print debug info and status messages stdout, the console window in Windows. |
ESEO_LINEAR_ROLLOFF |
Uses linear rolloff for 3D sound. If specified, instead of the default logarithmic one, irrKlang will use a linear rolloff model which influences the attenuation of the sounds over distance. The volume is interpolated linearly between the MinDistance and MaxDistance, making it possible to adjust sounds more easily although this is not physically correct. Note that this option may not work when used together with the ESEO_USE_3D_BUFFERS option when using Direct3D for example, irrKlang will then turn off ESEO_USE_3D_BUFFERS automaticly to be able to use this option and write out a warning. |
ESEO_DEFAULT_OPTIONS |
Default parameters when starting up the engine. |
ESEO_FORCE_32_BIT |
Never used, it only forces the compiler to compile these enumeration values to 32 bit. Don't use this. |
An enumeration for all types of supported sound drivers.
Values of this enumeration can be used as parameter when calling createIrrKlangDevice().
ESOD_AUTO_DETECT |
Autodetects the best sound driver for the system. |
ESOD_DIRECT_SOUND_8 |
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 |
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_WIN_MM |
WinMM sound output driver, windows only. Supports the ISoundMixedOutputReceiver interface using setMixedDataOutputReceiver. |
ESOD_ALSA |
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_CORE_AUDIO |
Core Audio sound output driver, mac os only. Supports the ISoundMixedOutputReceiver interface using setMixedDataOutputReceiver. |
ESOD_NULL |
Null driver, creating no sound output. |
ESOD_COUNT |
Amount of built-in sound output drivers. |
ESOD_FORCE_32_BIT |
This enumeration literal is never used, it only forces the compiler to compile these enumeration values to 32 bit. |
An enumeration listing all reasons for a fired sound stop event.
ESEC_SOUND_FINISHED_PLAYING |
The sound stop event was fired because the sound finished playing. |
ESEC_SOUND_STOPPED_BY_USER |
The sound stop event was fired because the sound was stopped by the user, calling ISound::stop(). |
ESEC_SOUND_STOPPED_BY_SOURCE_REMOVAL |
The sound stop event was fired because the source of the sound was removed, for example because irrKlang was shut down or the user called ISoundEngine::removeSoundSource(). |
ESEC_FORCE_32_BIT |
This enumeration literal is never used, it only forces the compiler to compile these enumeration values to 32 bit. |
An enumeration for all types of supported stream modes.
IRRKLANG_API ISoundDeviceList* IRRKLANGCALLCONV irrklang::createAudioRecorderDeviceList | ( | E_SOUND_OUTPUT_DRIVER | driver = ESOD_AUTO_DETECT , |
|
const char * | sdk_version_do_not_use = IRR_KLANG_VERSION | |||
) |
Creates a list of available recording devices for the driver type.
The device IDs in this list can be used as parameter to createIrrKlangAudioRecorder() to make irrKlang use a special recording device.
driver | The sound output driver of which the list is generated. Set it irrklang::ESOD_AUTO_DETECT to let this function use the same device as createIrrKlangDevice() would choose. | |
sdk_version_do_not_use | Don't use or change this parameter. Always set it to IRRKLANG_SDK_VERSION, which is done by default. This is needed for sdk version checks. |
IRRKLANG_API IAudioRecorder* IRRKLANGCALLCONV irrklang::createIrrKlangAudioRecorder | ( | ISoundEngine * | irrKlangDeviceForPlayback, | |
E_SOUND_OUTPUT_DRIVER | driver = ESOD_AUTO_DETECT , |
|||
const char * | deviceID = 0 , |
|||
const char * | sdk_version_do_not_use = IRR_KLANG_VERSION | |||
) |
Creates an irrKlang audio recording device. The IAudioRecorder is the root object for recording audio.
If you want to play back recorded audio as well, create the ISoundEngine first using createIrrKlangDevice() and then the IAudioRecorder using createIrrKlangAudioRecorder(), where you set the ISoundEngine as first parameter. See Recording Audio for an example on how to use this. Note: audio recording is a very new feature a still beta in irrKlang. It currently only works in Windows and with DirectSound (subject to change).
irrKlangDeviceForPlayback | A pointer to the already existing sound device used for playback of audio. Sound sources recorded with the IAudioRecorder will be added into that device so that they can be played back there. | |
driver | The sound output driver to be used for recording audio. Use irrklang::ESOD_AUTO_DETECT to let irrKlang decide which driver will be best. | |
deviceID | Some additional optional deviceID for the audio driver. If not needed, simple set this to 0. Use createAudioRecorderDeviceList() to get a list of all deviceIDs. | |
sdk_version_do_not_use | Don't use or change this parameter. Always set it to IRRKLANG_SDK_VERSION, which is done by default. This is needed for sdk version checks. |
IRRKLANG_API ISoundEngine* IRRKLANGCALLCONV irrklang::createIrrKlangDevice | ( | E_SOUND_OUTPUT_DRIVER | driver = ESOD_AUTO_DETECT , |
|
int | options = ESEO_DEFAULT_OPTIONS , |
|||
const char * | deviceID = 0 , |
|||
const char * | sdk_version_do_not_use = IRR_KLANG_VERSION | |||
) |
Creates an irrKlang device. The irrKlang device is the root object for using the sound engine.
driver | The sound output driver to be used for sound output. Use irrklang::ESOD_AUTO_DETECT to let irrKlang decide which driver will be best. | |
options | A combination of irrklang::E_SOUND_ENGINE_OPTIONS literals. Default value is irrklang::ESEO_DEFAULT_OPTIONS. | |
deviceID | Some additional optional deviceID for the audio driver. If not needed, simple set this to 0. This can be used for example to set a specific ALSA output pcm device for output ("default" or "hw", for example). For most driver types, available deviceIDs can be enumerated using createSoundDeviceList(). See Enumerating sound devices for an example or ISoundDeviceList or details. | |
sdk_version_do_not_use | Don't use or change this parameter. Always set it to IRRKLANG_SDK_VERSION, which is done by default. This is needed for sdk version checks. |
IRRKLANG_API ISoundDeviceList* IRRKLANGCALLCONV irrklang::createSoundDeviceList | ( | E_SOUND_OUTPUT_DRIVER | driver = ESOD_AUTO_DETECT , |
|
const char * | sdk_version_do_not_use = IRR_KLANG_VERSION | |||
) |
Creates a list of available sound devices for the driver type.
The device IDs in this list can be used as parameter to createIrrKlangDevice() to make irrKlang use a special sound device. See Enumerating sound devices for an example on how to use this.
driver | The sound output driver of which the list is generated. Set it irrklang::ESOD_AUTO_DETECT to let this function use the same device as createIrrKlangDevice() would choose. | |
sdk_version_do_not_use | Don't use or change this parameter. Always set it to IRRKLANG_SDK_VERSION, which is done by default. This is needed for sdk version checks. |
bool irrklang::equalsfloat | ( | const ik_f32 | a, | |
const ik_f32 | b, | |||
const ik_f32 | tolerance = IK_ROUNDING_ERROR_32 | |||
) | [inline] |
returns if a float equals the other one, taking floating point rounding errors into account
IRRKLANG_API bool IRRKLANGCALLCONV irrklang::makeUTF8fromUTF16string | ( | const wchar_t * | pInputString, | |
char * | pOutputBuffer, | |||
int | outputBufferSize | |||
) |
Converts a wchar_t string to an utf8 string, useful when using Windows in unicode mode.
irrKlang works with unicode file names, and accepts char* strings as parameters for names and filenames. If you are running irrKlang in Windows, and working with wchar_t* pointers instead of char* ones, you can use this function to create a char* (UTF8) representation of your wchar_t* (UTF16) string. Works for filenames and other strings.
pInputString | zero terminated input string. | |
pOutputBuffer | the buffer where the converted string is written to. Be sure that this buffer has a big enough size. A good size would be three times the string length of your input buffer, like wcslen(yourInputBuffer)*3. Because each wchar_t can be represented by up to 3 chars. | |
outputBufferSize | size of your output buffer. |
vec3d<T> irrklang::operator* | ( | const S | scalar, | |
const vec3d< T > & | vector | |||
) | [inline] |
const ik_f32 irrklang::IK_DEGTORAD = IK_PI32 / 180.0f |
const ik_f64 irrklang::IK_DEGTORAD64 = IK_PI64 / 180.0 |
const ik_f32 irrklang::IK_PI32 = 3.14159265359f |
const ik_f64 irrklang::IK_PI64 = 3.1415926535897932384626433832795028841971693993751 |
const ik_f32 irrklang::IK_RADTODEG = 180.0f / IK_PI32 |
const ik_f64 irrklang::IK_RADTODEG64 = 180.0 / IK_PI64 |
const ik_f32 irrklang::IK_ROUNDING_ERROR_32 = 0.000001f |
The irrKlang
Engine Documentation © 2003-2018 by Nikolaus Gebhardt. Generated
by Doxygen
(1.6.1) |