aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/sound.h
diff options
context:
space:
mode:
authorSven Hesse2007-02-15 22:07:44 +0000
committerSven Hesse2007-02-15 22:07:44 +0000
commit15043066f2d7644ee7e885b1c57227bfeec34c3a (patch)
tree41a104d10d66f0edcc28e6c9d84eac9de7b0e18d /engines/gob/sound.h
parente3e76b59b6022054433c6c1df994b5ef97d8fa82 (diff)
downloadscummvm-rg350-15043066f2d7644ee7e885b1c57227bfeec34c3a.tar.gz
scummvm-rg350-15043066f2d7644ee7e885b1c57227bfeec34c3a.tar.bz2
scummvm-rg350-15043066f2d7644ee7e885b1c57227bfeec34c3a.zip
- Changed the speaker stuff again
- Added the spanish gob2 version from bug report #1659884 svn-id: r25615
Diffstat (limited to 'engines/gob/sound.h')
-rw-r--r--engines/gob/sound.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/gob/sound.h b/engines/gob/sound.h
index 4a614fc8cc..8d7ffd7b8d 100644
--- a/engines/gob/sound.h
+++ b/engines/gob/sound.h
@@ -51,6 +51,7 @@ public:
Snd(GobEngine *vm);
void speakerOn(int16 frequency, int32 length);
void speakerOff(void);
+ void speakerOnUpdate(uint32 milis);
SoundDesc *loadSoundData(const char *path);
void stopSound(int16 fadeLength);
void playSample(SoundDesc *sndDesc, int16 repCount, int16 frequency, int16 fadeLength = 0);
@@ -79,6 +80,7 @@ protected:
uint32 _periodLength;
uint32 _periodSamples;
uint32 _remainingSamples;
+ uint32 _mixedSamples;
int16 _sampleValue;
public:
@@ -86,7 +88,8 @@ protected:
~SquareWaveStream() {}
void playNote(int freq, int32 ms, uint rate);
- void stop(void) { _remainingSamples = 0; }
+ void update(uint32 milis);
+ void stop(uint32 milis);
int readBuffer(int16 *buffer, const int numSamples);
@@ -98,6 +101,8 @@ protected:
SquareWaveStream _speakerStream;
Audio::SoundHandle _speakerHandle;
+ uint32 _speakerStartTimeKey;
+
Audio::SoundHandle *_activeHandle;
Audio::SoundHandle _compositionHandle;