diff options
Diffstat (limited to 'engines/neverhood/sound.h')
-rw-r--r-- | engines/neverhood/sound.h | 25 |
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 { |