aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/sound.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/neverhood/sound.h')
-rw-r--r--engines/neverhood/sound.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/engines/neverhood/sound.h b/engines/neverhood/sound.h
index 24947f0191..e5e4ec9216 100644
--- a/engines/neverhood/sound.h
+++ b/engines/neverhood/sound.h
@@ -24,23 +24,22 @@
#define NEVERHOOD_SOUND_H
#include "audio/audiostream.h"
-#include "audio/mixer.h"
#include "common/array.h"
-#include "graphics/surface.h"
-#include "neverhood/neverhood.h"
-#include "neverhood/resource.h"
+#include "neverhood/resourceman.h"
-namespace Neverhood {
+namespace Common {
+class SeekableReadStream;
+}
-// Convert volume from percent to 0..255
-#define VOLUME(volume) (Audio::Mixer::kMaxChannelVolume / 100 * (volume))
+namespace Audio {
+class SoundHandle;
+}
-// Convert panning from percent (50% equals center) to -127..0..+127
-#define PANNING(panning) (254 / 100 * (panning) - 127)
+namespace Neverhood {
+class NeverhoodEngine;
class AudioResourceManSoundItem;
class AudioResourceManMusicItem;
-class AudioResourceMan;
class SoundResource {
public:
@@ -214,6 +213,7 @@ private:
class AudioResourceManSoundItem {
public:
AudioResourceManSoundItem(NeverhoodEngine *vm, uint32 fileHash);
+ ~AudioResourceManSoundItem();
void loadSound();
void unloadSound();
void setVolume(int16 volume);
@@ -230,12 +230,13 @@ protected:
bool _isPlaying;
int16 _volume;
int16 _panning;
- Audio::SoundHandle _soundHandle;
+ Audio::SoundHandle *_soundHandle;
};
class AudioResourceManMusicItem {
public:
AudioResourceManMusicItem(NeverhoodEngine *vm, uint32 fileHash);
+ ~AudioResourceManMusicItem();
void playMusic(int16 fadeVolumeStep);
void stopMusic(int16 fadeVolumeStep);
void unloadMusic();
@@ -259,7 +260,7 @@ protected:
bool _isFadingOut;
int16 _fadeVolume;
int16 _fadeVolumeStep;
- Audio::SoundHandle _soundHandle;
+ Audio::SoundHandle *_soundHandle;
};
class AudioResourceMan {