Audio module
Music for your ears, using both Direct Sound and DMG channels.
Modules
- module Music
- module DMG music
- module Sound effects
Files
- file bn_audio.h
- file bn_audio_mixing_rate.h
- file bn_config_audio.h
Namespaces
Enums
- enum class audio_mixing_rate: uint8_t { KHZ_8 = BN_AUDIO_MIXING_RATE_8_KHZ, KHZ_10 = BN_AUDIO_MIXING_RATE_10_KHZ, KHZ_12 = BN_AUDIO_MIXING_RATE_12_KHZ, KHZ_13 = BN_AUDIO_MIXING_RATE_13_KHZ, KHZ_16 = BN_AUDIO_MIXING_RATE_16_KHZ, KHZ_18 = BN_AUDIO_MIXING_RATE_18_KHZ, KHZ_20 = BN_AUDIO_MIXING_RATE_20_KHZ, KHZ_21 = BN_AUDIO_MIXING_RATE_21_KHZ, KHZ_24 = BN_AUDIO_MIXING_RATE_24_KHZ, KHZ_27 = BN_AUDIO_MIXING_RATE_27_KHZ, KHZ_28 = BN_AUDIO_MIXING_RATE_28_KHZ, KHZ_31 = BN_AUDIO_MIXING_RATE_31_KHZ, KHZ_32 = BN_AUDIO_MIXING_RATE_32_KHZ }
- Specifies the available Direct Sound mixing rates.
Defines
- #define BN_AUDIO_MIXING_RATE_8_KHZ
- #define BN_AUDIO_MIXING_RATE_10_KHZ
- #define BN_AUDIO_MIXING_RATE_12_KHZ
- #define BN_AUDIO_MIXING_RATE_13_KHZ
- #define BN_AUDIO_MIXING_RATE_16_KHZ
- #define BN_AUDIO_MIXING_RATE_18_KHZ
- #define BN_AUDIO_MIXING_RATE_20_KHZ
- #define BN_AUDIO_MIXING_RATE_21_KHZ
- #define BN_AUDIO_MIXING_RATE_24_KHZ
- #define BN_AUDIO_MIXING_RATE_27_KHZ
- #define BN_AUDIO_MIXING_RATE_28_KHZ
- #define BN_AUDIO_MIXING_RATE_31_KHZ
- #define BN_AUDIO_MIXING_RATE_32_KHZ
- #define BN_CFG_AUDIO_MIXING_RATE
- #define BN_CFG_AUDIO_STEREO
- #define BN_CFG_AUDIO_DYNAMIC_MIXING
- #define BN_CFG_AUDIO_MAX_COMMANDS
Enum documentation
enum class audio_mixing_rate: uint8_t
#include <bn_audio_mixing_rate.h>
Specifies the available Direct Sound mixing rates.
Enumerators | |
---|---|
KHZ_8 |
8KHz mixing rate, provides poor quality. |
KHZ_10 |
10Khz mixing rate, provides low quality. |
KHZ_12 |
12Khz mixing rate, provides almost OK quality. |
KHZ_13 |
13Khz mixing rate, provides almost OK quality. |
KHZ_16 |
16Khz mixing rate, provides OK quality, standard setting. |
KHZ_18 |
18Khz mixing rate, provides better quality, high CPU load. |
KHZ_20 |
20Khz mixing rate, provides better quality, high CPU load. |
KHZ_21 |
21Khz mixing rate, provides even better quality, higher CPU load. |
KHZ_24 |
24Khz mixing rate, provides even better quality, higher CPU load. |
KHZ_27 |
27Khz mixing rate, provides almost the best quality, almost the highest CPU load. |
KHZ_28 |
28Khz mixing rate, provides almost the best quality, almost the highest CPU load. |
KHZ_31 |
31Khz mixing rate, provides the best quality, highest CPU load. |
KHZ_32 |
32Khz mixing rate, provides the best quality, highest CPU load. |
Define documentation
#define BN_AUDIO_MIXING_RATE_8_KHZ
#include <bn_audio_mixing_rate.h>
8KHz mixing rate, provides poor quality.
#define BN_AUDIO_MIXING_RATE_10_KHZ
#include <bn_audio_mixing_rate.h>
10Khz mixing rate, provides low quality.
#define BN_AUDIO_MIXING_RATE_12_KHZ
#include <bn_audio_mixing_rate.h>
12Khz mixing rate, provides almost OK quality.
#define BN_AUDIO_MIXING_RATE_13_KHZ
#include <bn_audio_mixing_rate.h>
13Khz mixing rate, provides almost OK quality.
#define BN_AUDIO_MIXING_RATE_16_KHZ
#include <bn_audio_mixing_rate.h>
16Khz mixing rate, provides OK quality, standard setting.
#define BN_AUDIO_MIXING_RATE_18_KHZ
#include <bn_audio_mixing_rate.h>
18Khz mixing rate, provides better quality, high CPU load.
#define BN_AUDIO_MIXING_RATE_20_KHZ
#include <bn_audio_mixing_rate.h>
20Khz mixing rate, provides better quality, high CPU load.
#define BN_AUDIO_MIXING_RATE_21_KHZ
#include <bn_audio_mixing_rate.h>
21Khz mixing rate, provides even better quality, higher CPU load.
#define BN_AUDIO_MIXING_RATE_24_KHZ
#include <bn_audio_mixing_rate.h>
24Khz mixing rate, provides even better quality, higher CPU load.
#define BN_AUDIO_MIXING_RATE_27_KHZ
#include <bn_audio_mixing_rate.h>
27Khz mixing rate, provides almost the best quality, almost the highest CPU load.
#define BN_AUDIO_MIXING_RATE_28_KHZ
#include <bn_audio_mixing_rate.h>
28Khz mixing rate, provides almost the best quality, almost the highest CPU load.
#define BN_AUDIO_MIXING_RATE_31_KHZ
#include <bn_audio_mixing_rate.h>
31Khz mixing rate, provides the best quality, highest CPU load.
#define BN_AUDIO_MIXING_RATE_32_KHZ
#include <bn_audio_mixing_rate.h>
32Khz mixing rate, provides the best quality, highest CPU load.
#define BN_CFG_AUDIO_MIXING_RATE
#include <bn_config_audio.h>
Specifies the initial Direct Sound mixing rate.
Values not specified in BN_AUDIO_MIXING_RATE_* macros are not allowed.
#define BN_CFG_AUDIO_STEREO
#include <bn_config_audio.h>
Specifies Direct Sound mono/stereo output.
Mono output reduces CPU load.
#define BN_CFG_AUDIO_DYNAMIC_MIXING
#include <bn_config_audio.h>
Specifies if Direct Sound dynamic mixing must be enabled or not.
Dynamic mixing automatically adjusts the mixing rate depending on the frequency of the sounds being played, up to a maximum of the mixing rate specified. It often yields a significant performance boost for only a very small drop in quality.
#define BN_CFG_AUDIO_MAX_COMMANDS
#include <bn_config_audio.h>
Specifies the size of the audio commands list.
This list is processed and cleared when bn::