diff options
author | James Brown | 2004-11-11 13:37:35 +0000 |
---|---|---|
committer | James Brown | 2004-11-11 13:37:35 +0000 |
commit | 1f7ccd02938a1e418bf83ed44014631187df7fcb (patch) | |
tree | 4520666f4533c081d991932bdb6cb81ae9f0fe7c /kyra/sound.h | |
parent | e67ffaaff0c95a25580db000e4fc1cc9ae81940c (diff) | |
download | scummvm-rg350-1f7ccd02938a1e418bf83ed44014631187df7fcb.tar.gz scummvm-rg350-1f7ccd02938a1e418bf83ed44014631187df7fcb.tar.bz2 scummvm-rg350-1f7ccd02938a1e418bf83ed44014631187df7fcb.zip |
Bring kyra up-to-date with patch 1051358
svn-id: r15786
Diffstat (limited to 'kyra/sound.h')
-rw-r--r-- | kyra/sound.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/kyra/sound.h b/kyra/sound.h new file mode 100644 index 0000000000..dfe393e53c --- /dev/null +++ b/kyra/sound.h @@ -0,0 +1,58 @@ +#ifndef SOUND_H +#define SOUND_H + +#include "common/stdafx.h" +#include "common/scummsys.h" +#include "sound/mididrv.h" +#include "sound/midiparser.h" +#include "kyra.h" + +namespace Kyra { + class MusicPlayer : public MidiDriver { + + public: + + MusicPlayer(MidiDriver* driver, KyraEngine* engine); + ~MusicPlayer(); + + void setVolume(int volume); + int getVolume() { return _volume; } + + void hasNativeMT32(bool nativeMT32) { _nativeMT32 = nativeMT32; } + + void playMusic(const char* file); + void playMusic(uint8* data, uint32 size); + void stopMusic(); + + void playTrack(uint8 track); + + //MidiDriver interface implementation + int open(); + void close(); + void send(uint32 b); + void metaEvent(byte type, byte *data, uint16 length); + + void setTimerCallback(void *timerParam, void (*timerProc)(void *)) { } + uint32 getBaseTempo(void) { return _driver ? _driver->getBaseTempo() : 0; } + + //Channel allocation functions + MidiChannel *allocateChannel() { return 0; } + MidiChannel *getPercussionChannel() { return 0; } + + protected: + + static void onTimer(void *data); + + MidiChannel* _channel[16]; + uint8 _channelVolume[16]; + MidiDriver* _driver; + bool _nativeMT32; + uint8 _volume; + bool _isPlaying; + MidiParser* _parser; + KyraEngine* _engine; + + }; +} // end of namespace Kyra + +#endif |