22#ifndef SCUMM_INSANE_REBEL_AUDIO_H
23#define SCUMM_INSANE_REBEL_AUDIO_H
25#include "audio/mixer.h"
26#include "common/scummsys.h"
27#include "scumm/smush/saud.h"
30class QueuingAudioStream;
42 void init(ScummEngine_v7 *vm,
int sampleRate);
45 int sampleRate()
const {
return _sampleRate; }
47 void queueData(
int trackIdx,
const uint8 *data, int32 size,
int volume,
int pan,
int sampleRate = 0);
48 void processFrame(SmushPlayer *player, int16 feedSize);
49 void setGroupVolume(SmushPlayer *player,
int groupId,
int volume);
50 void setGroupPan(SmushPlayer *player,
int groupId,
int pan);
53 static const int kMaxTracks = 4;
55 bool processAudioCodes(SmushPlayer *player,
int idx, int32 &tmpFeedSize,
int &mixVolume);
56 int computeMixVolume(SmushPlayer *player,
int idx)
const;
58 int getTrackPan(SmushPlayer *player,
int idx)
const;
59 void updateTrackMixerState(SmushPlayer *player,
int idx);
60 void stopStream(
int trackIdx);
61 void stopFadeStream(
int trackIdx);
62 void queueData(
int trackIdx,
const uint8 *data, int32 size,
int volume,
int pan,
int sampleRate,
Audio::Mixer::SoundType soundType);
63 void queueFadeData(
int trackIdx,
const uint8 *data, int32 size,
int volume,
int pan,
int sampleRate,
Audio::Mixer::SoundType soundType);
70 bool _trackActive[kMaxTracks];
71 bool _fadeTrackActive[kMaxTracks];
SoundType
Definition: mixer.h:73
Definition: audiostream.h:370
Definition: rebel_audio.h:38