22#ifndef AUDIO_MIXER_INTERN_H
23#define AUDIO_MIXER_INTERN_H
25#include "common/scummsys.h"
26#include "common/mutex.h"
27#include "audio/mixer.h"
66 const uint _sampleRate;
69 const uint _outBytesPerSample;
74 struct SoundTypeSettings {
81 SoundTypeSettings _soundTypeSettings[4];
82 Channel *_channels[NUM_CHANNELS];
87 MixerImpl(uint sampleRate,
bool stereo =
true, uint outBufSize = 0, uint outBytesPerSample = 2,
bool clamp =
true);
98 int id,
byte volume, int8 balance,
99 DisposeAfterUse::Flag autofreeStream,
101 bool reverseStereo)
override;
148 void insertChannel(
SoundHandle *handle, Channel *chan);
Definition: audiostream.h:50
@ kMaxMixerVolume
Definition: mixer.h:83
SoundType
Definition: mixer.h:73
Definition: mixer_intern.h:58
void resetChannelRate(SoundHandle handle) override
bool isSoundIDActive(int id) const override
Timestamp getElapsedTime(SoundHandle handle) const override
bool isSoundTypeMuted(SoundType type) const override
bool getClamping() const override
void setVolumeForSoundType(SoundType type, int volume) override
void setChannelVolume(SoundHandle handle, byte volume) override
void playStream(SoundType type, SoundHandle *handle, AudioStream *input, int id, byte volume, int8 balance, DisposeAfterUse::Flag autofreeStream, bool permanent, bool reverseStereo) override
void setOutputBufSize(uint outBufSize)
Definition: mixer_intern.h:154
void pauseAll(bool paused) override
void setReady(bool ready)
void setChannelFaderR(SoundHandle handle, uint8 scaleR) override
int mixCallback(byte *samples, uint len)
uint getOutputBytesPerSample() const override
uint32 getSoundElapsedTime(SoundHandle handle) const override
uint getOutputBufSize() const override
uint32 getChannelRate(SoundHandle handle) const override
void setChannelRate(SoundHandle handle, uint32 rate) override
int8 getChannelBalance(SoundHandle handle) const override
byte getChannelVolume(SoundHandle handle) const override
uint getOutputRate() const override
uint8 getChannelFaderR(SoundHandle handle) const override
void pauseHandle(SoundHandle handle, bool paused) override
bool hasActiveChannelOfType(SoundType type) const override
Common::Mutex & mutex() override
Definition: mixer_intern.h:92
bool isReady() const override
Definition: mixer_intern.h:90
bool isSoundHandleActive(SoundHandle handle) const override
void stopID(int id) override
void muteSoundType(SoundType type, bool mute) override
uint8 getChannelFaderL(SoundHandle handle) const override
void setChannelFaderL(SoundHandle handle, uint8 scaleL) override
int getSoundID(SoundHandle handle) const override
void pauseID(int id, bool paused) override
void setChannelBalance(SoundHandle handle, int8 balance) override
void loopChannel(SoundHandle handle) override
bool getOutputStereo() const override
void stopHandle(SoundHandle handle) override
int getVolumeForSoundType(SoundType type) const override
Definition: timestamp.h:83