diff options
Diffstat (limited to 'saga/music.h')
-rw-r--r-- | saga/music.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/saga/music.h b/saga/music.h index ca7ad2b783..e5ba862667 100644 --- a/saga/music.h +++ b/saga/music.h @@ -34,7 +34,8 @@ namespace Saga { enum MUSIC_FLAGS { - R_MUSIC_LOOP = 0x01 + R_MUSIC_LOOP = 0x0001, + R_MUSIC_DEFAULT = 0xffff }; struct MUSIC_MIDITABLE { @@ -42,6 +43,11 @@ struct MUSIC_MIDITABLE { int flags; }; +struct MUSIC_DIGITABLE { + uint32 start; + uint32 length; +}; + class MusicPlayer : public MidiDriver { public: MusicPlayer(MidiDriver *driver); @@ -95,11 +101,11 @@ protected: class Music { public: - Music(MidiDriver *driver, int enabled); + Music(SoundMixer *mixer, MidiDriver *driver, int enabled); ~Music(void); void hasNativeMT32(bool b) { _player->hasNativeMT32(b); } - int play(uint32 music_rn, uint16 flags); + int play(uint32 music_rn, uint16 flags = R_MUSIC_DEFAULT); int pause(void); int resume(void); int stop(void); @@ -109,11 +115,14 @@ private: SoundMixer *_mixer; MusicPlayer *_player; + PlayingSoundHandle _musicHandle; static const MUSIC_MIDITABLE _midiTableITECD[26]; + MUSIC_DIGITABLE _digiTableITECD[27]; int _musicInitialized; int _enabled; + bool _hasDigiMusic; }; } // End of namespace Saga |