diff options
author | Andrew Kurushin | 2005-07-19 19:05:52 +0000 |
---|---|---|
committer | Andrew Kurushin | 2005-07-19 19:05:52 +0000 |
commit | 50c2d8954d229145b508a9e822c6f49b353b9c9f (patch) | |
tree | 708bc3ff6b5f11052e96206c32d17fe7155bd350 /saga/music.h | |
parent | 546a9d852b1907dd8e1c9403842a934a98fd9a2d (diff) | |
download | scummvm-rg350-50c2d8954d229145b508a9e822c6f49b353b9c9f.tar.gz scummvm-rg350-50c2d8954d229145b508a9e822c6f49b353b9c9f.tar.bz2 scummvm-rg350-50c2d8954d229145b508a9e822c6f49b353b9c9f.zip |
finally Resource manager rewritten:
-adds patch file support
-global _vm removed
cleanups
svn-id: r18560
Diffstat (limited to 'saga/music.h')
-rw-r--r-- | saga/music.h | 37 |
1 files changed, 12 insertions, 25 deletions
diff --git a/saga/music.h b/saga/music.h index 0a8ac87d64..98f6de7aa4 100644 --- a/saga/music.h +++ b/saga/music.h @@ -26,27 +26,18 @@ #ifndef SAGA_MUSIC_H_ #define SAGA_MUSIC_H_ -#include "saga/rscfile_mod.h" #include "sound/mixer.h" #include "sound/mididrv.h" #include "sound/midiparser.h" namespace Saga { -enum MUSIC_FLAGS { + +enum MusicFlags { + MUSIC_NORMAL = 0, MUSIC_LOOP = 0x0001, MUSIC_DEFAULT = 0xffff }; -struct MUSIC_MIDITABLE { - const char *filename; - int flags; -}; - -struct MUSIC_DIGITABLE { - uint32 start; - uint32 length; -}; - class MusicPlayer : public MidiDriver { public: MusicPlayer(MidiDriver *driver); @@ -106,7 +97,7 @@ protected: class Music { public: - Music(Audio::Mixer *mixer, MidiDriver *driver, int enabled); + Music(SagaEngine *vm, Audio::Mixer *mixer, MidiDriver *driver, int enabled); ~Music(void); void setNativeMT32(bool b) { _player->setNativeMT32(b); } bool hasNativeMT32() { return _player->hasNativeMT32(); } @@ -115,35 +106,31 @@ public: void setPassThrough(bool b) { _player->setPassThrough(b); } bool isPlaying(void); - int play(uint32 music_rn, uint16 flags = MUSIC_DEFAULT); - int pause(void); - int resume(void); - int stop(void); + void play(uint32 resourceId, MusicFlags flags = MUSIC_DEFAULT); + void pause(void); + void resume(void); + void stop(void); void setVolume(int volume, int time); private: - + SagaEngine *_vm; Audio::Mixer *_mixer; MusicPlayer *_player; Audio::SoundHandle _musicHandle; uint32 _trackNumber; - static const MUSIC_MIDITABLE _midiTableITECD[26]; - MUSIC_DIGITABLE _digiTableITECD[27]; - - int _musicInitialized; int _enabled; - bool _hasDigiMusic; bool _adlib; int _targetVolume; int _currentVolume; int _currentVolumePercent; - RSCFILE_CONTEXT *_musicContext; - const char *_musicFname; + ResourceContext *_musicContext; + MidiParser *xmidiParser; + MidiParser *smfParser; static void musicVolumeGaugeCallback(void *refCon); void musicVolumeGauge(void); |