25 #include "common/scummsys.h" 26 #include "common/serializer.h" 27 #include "common/str.h" 28 #include "audio/mididrv.h" 29 #include "backends/audiocd/audiocd.h" 30 #include "scumm/file.h" 36 #define DEFAULT_LOOM_OVERTURE_TRANSITION 1160 38 #define DIGI_SND_MODE_EMPTY 0 39 #define DIGI_SND_MODE_SFX 1 40 #define DIGI_SND_MODE_TALKIE 2 51 struct MP3OffsetTable;
72 int16 _midiQueuePos, _midiQueue[0x100];
88 MP3OffsetTable *_offsetTable;
91 uint32 _queuedSfxOffset, _queuedTalkieOffset, _queuedSfxLen, _queuedTalkieLen;
92 byte _queuedSoundMode, _queuedSfxChannel;
95 uint16 _mouthSyncTimes[64];
98 int16 _currentCDSound;
104 bool _useReplacementAudioTracks;
106 int _loomOvertureTransition;
107 uint32 _replacementTrackStartTime;
115 uint32 _cdMusicTimerMod;
116 uint32 _cdMusicTimer;
117 uint32 _speechTimerMod;
124 virtual void startSound(
int sound,
int heOffset = 0,
int heChannel = 0,
int heFlags = 0,
int heFreq = 0,
int hePan = 0,
int heVol = 0);
125 virtual void addSoundToQueue(
int sound,
int heOffset = 0,
int heChannel = 0,
int heFlags = 0,
int heFreq = 0,
int hePan = 0,
int heVol = 0);
127 virtual void modifySound(
int sound,
int offset,
int frequencyShift,
int pan,
int volume,
int flags) {};
129 void triggerSound(
int soundID);
130 void startTalkSound(uint32 offset, uint32 b,
int mode,
Audio::SoundHandle *handle = NULL);
131 void stopTalkSound();
132 bool isMouthSyncOff(uint pos);
133 virtual int isSoundRunning(
int sound)
const;
134 virtual bool isSoundInUse(
int sound)
const;
135 virtual void stopSound(
int sound);
136 virtual void stopAllSounds();
137 void soundKludge(
int *list,
int num);
138 void talkSound(uint32 offset, uint32 length,
int mode,
int channel = 0);
139 virtual void setupSound();
140 virtual void pauseSounds(
bool pause);
141 bool isSfxFileCompressed();
142 bool hasSfxFile()
const;
143 ScummFile *restoreDiMUSESpeechFile(
const char *fileName);
144 void extractSyncsFromDiMUSEMarker(
const char *marker);
145 void incrementSpeechTimer();
146 void resetSpeechTimer();
147 void startSpeechTimer();
148 void stopSpeechTimer();
149 bool speechIsPlaying();
154 void playCDTrack(
int track,
int numLoops,
int startFrame,
int duration);
155 void playCDTrackInternal(
int track,
int numLoops,
int startFrame,
int duration);
160 int getCurrentCDSound()
const {
return _currentCDSound; }
161 int getCDTrackIdFromSoundId(
int soundId,
int &loops,
int &start);
162 bool isRolandLoom()
const;
163 bool useReplacementAudio()
const {
return _useReplacementAudioTracks; }
164 void updateMusicTimer();
165 int getMusicTimer()
const {
return _musicTimer; }
166 int getCDMusicTimer()
const {
return _cdMusicTimer; }
169 void restoreAfterLoad();
171 bool isAudioDisabled();
175 bool isSfxFinished()
const;
176 void processSfxQueues();
178 bool isSoundInQueue(
int sound)
const;
180 virtual void processSoundQueues();
182 int getReplacementAudioTrack(
int soundID);
MidiDriverFlags
Definition: mididrv.h:81
Definition: serializer.h:79
Definition: serializer.h:308