OpenTTD Source
20241121-master-g67a0fccfad
|
Functions to mix sound samples. More...
Go to the source code of this file.
Typedefs | |
typedef void(* | MxStreamCallback) (int16_t *buffer, size_t samples) |
Type of callback functions for supplying PCM music. More... | |
Functions | |
bool | MxInitialize (uint rate) |
void | MxMixSamples (void *buffer, uint samples) |
MixerChannel * | MxAllocateChannel () |
void | MxSetChannelRawSrc (MixerChannel *mc, int8_t *mem, size_t size, uint rate, bool is16bit) |
void | MxSetChannelVolume (MixerChannel *mc, uint volume, float pan) |
Set volume and pan parameters for a sound. More... | |
void | MxActivateChannel (MixerChannel *) |
void | MxCloseAllChannels () |
Close all mixer channels. More... | |
uint32_t | MxSetMusicSource (MxStreamCallback music_callback) |
Set source of PCM music. More... | |
void | SetEffectVolume (uint8_t volume) |
Functions to mix sound samples.
Definition in file mixer.h.
typedef void(* MxStreamCallback) (int16_t *buffer, size_t samples) |
Type of callback functions for supplying PCM music.
A music decoder/renderer implements this function and installs it with MxSetMusicSource, which also returns the sample rate used.
buffer | Pointer to interleaved 2-channel signed 16 bit PCM data buffer, guaranteed to be 0-initialized. |
samples | number of samples that must be filled into buffer . |
void MxCloseAllChannels | ( | ) |
Close all mixer channels.
This signals to the mixer that each channel should be closed even if it has not played all remaining samples. This is safe (and designed) to be called from the main thread.
Definition at line 117 of file mixer.cpp.
Referenced by ChangeSoundSet().
void MxSetChannelVolume | ( | MixerChannel * | mc, |
uint | volume, | ||
float | pan | ||
) |
Set volume and pan parameters for a sound.
mc | MixerChannel to set |
volume | Volume level for sound, range is 0..16384 |
pan | Pan position for sound, range is 0..1 |
uint32_t MxSetMusicSource | ( | MxStreamCallback | music_callback | ) |
Set source of PCM music.
music_callback | Function that will be called to fill sample buffers with music data. |
Definition at line 229 of file mixer.cpp.
References lock.
Referenced by MusicDriver_FluidSynth::Start(), and MusicDriver_FluidSynth::Stop().