diff options
author | Joost Peters | 2004-01-22 23:10:05 +0000 |
---|---|---|
committer | Joost Peters | 2004-01-22 23:10:05 +0000 |
commit | 0bece175e485b4456cb966052662b38fe2147647 (patch) | |
tree | 8a089201660d90c4ab63b07c5a526f5eb11098a6 /queen/music.h | |
parent | 99e3175d548d5dce704aaedab9ed291a4b365dae (diff) | |
download | scummvm-rg350-0bece175e485b4456cb966052662b38fe2147647.tar.gz scummvm-rg350-0bece175e485b4456cb966052662b38fe2147647.tar.bz2 scummvm-rg350-0bece175e485b4456cb966052662b38fe2147647.zip |
- Some refactoring/clean-up.
- Handle special music types (> 1000)
- Implemented random looping (untested)
svn-id: r12577
Diffstat (limited to 'queen/music.h')
-rw-r--r-- | queen/music.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/queen/music.h b/queen/music.h index 9c94c2941c..005f37248c 100644 --- a/queen/music.h +++ b/queen/music.h @@ -39,6 +39,7 @@ public: void playMusic(); void stopMusic(); void setLoop(bool loop) { _looping = loop; } + void queueTuneList(int16 tuneList); bool queueSong(uint16 songNum); void queueClear(); @@ -59,10 +60,11 @@ public: protected: enum { - MUSIC_QUEUE_SIZE = 8 + MUSIC_QUEUE_SIZE = 14 }; void queueUpdatePos(); + uint8 randomQueuePos(); static void onTimer(void *data); uint32 songOffset(uint16 songNum); uint32 songLength(uint16 songNum); @@ -71,9 +73,12 @@ protected: MidiParser *_parser; MidiChannel *_channel[16]; byte _channelVolume[16]; - + + Common::RandomSource _rnd; + bool _isPlaying; bool _looping; + bool _randomLoop; byte _volume; uint8 _queuePos; int16 _lastSong; //first song from previous queue @@ -89,11 +94,9 @@ public: Music(MidiDriver *_driver, QueenEngine *vm); ~Music(); void playSong(uint16 songNum); - void queueClear() { return _player->queueClear(); } - bool queueSong(uint16 songNum); - void playMusic() { return _player->playMusic(); } - void stopSong(); - void loop(bool val) { return _player->setLoop(val); } + void queueTuneList(int16 tuneList) { return _player->queueTuneList(tuneList); } + void playMusic() { return _player->playMusic(); } + void stopSong() { return _player->stopMusic(); } protected: byte *_musicData; |