diff options
author | Johannes Schickel | 2010-10-13 03:57:44 +0000 |
---|---|---|
committer | Johannes Schickel | 2010-10-13 03:57:44 +0000 |
commit | 75e8452b6e6a2bf4fb2f588aa00b428a60d873b5 (patch) | |
tree | f29541d55309487a94bd1d38e8b53bb3dde9aec6 /engines/sci/sound/drivers/mididriver.h | |
parent | 48ee83b88957dab86bc763e9ef21a70179fa8679 (diff) | |
parent | e9f50882ea5b6beeefa994040be9d3bab6a1f107 (diff) | |
download | scummvm-rg350-75e8452b6e6a2bf4fb2f588aa00b428a60d873b5.tar.gz scummvm-rg350-75e8452b6e6a2bf4fb2f588aa00b428a60d873b5.tar.bz2 scummvm-rg350-75e8452b6e6a2bf4fb2f588aa00b428a60d873b5.zip |
OPENGL: Merged from trunk, from rev 52105 to 53396.
This includes an rather hacky attempt to merge all the recent gp2x backend
changes into the branch. I suppose the gp2x backend and probably all new
backends, i.e. gph, dingux etc., might not compile anymore.
Since I have no way of testing those it would be nice if porters could look
into getting those up to speed in this branch.
svn-id: r53399
Diffstat (limited to 'engines/sci/sound/drivers/mididriver.h')
-rw-r--r-- | engines/sci/sound/drivers/mididriver.h | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/engines/sci/sound/drivers/mididriver.h b/engines/sci/sound/drivers/mididriver.h index 2db6f25c70..129159ecdc 100644 --- a/engines/sci/sound/drivers/mididriver.h +++ b/engines/sci/sound/drivers/mididriver.h @@ -32,6 +32,20 @@ namespace Sci { +// Music patches in SCI games: +// =========================== +// 1.pat - MT-32 driver music patch +// 2.pat - Yamaha FB01 driver music patch +// 3.pat - Adlib driver music patch +// 4.pat - Casio MT-540 (in earlier SCI0 games) +// 4.pat - GM driver music patch (in later games that support GM) +// 7.pat (newer) / patch.200 (older) - Mac driver music patch / Casio CSM-1 +// 9.pat (newer) / patch.005 (older) - Amiga driver music patch +// 98.pat - Unknown, found in later SCI1.1 games. A MIDI format patch +// 101.pat - CMS/PCjr driver music patch. +// Only later PCjr drivers use this patch, earlier ones don't use a patch +// bank.001 - older SCI0 Amiga instruments + class ResourceManager; enum { @@ -39,7 +53,6 @@ enum { MIDI_PROP_MASTER_VOLUME = 0 }; - #define MIDI_RHYTHM_CHANNEL 9 /* Special SCI sound stuff */ @@ -69,7 +82,7 @@ protected: byte _reverb; public: - MidiPlayer(SciVersion version) : _reverb(0), _version(version) { } + MidiPlayer(SciVersion version) : _driver(0), _reverb(0), _version(version) { } int open() { ResourceManager *resMan = g_sci->getResMan(); // HACK @@ -84,9 +97,10 @@ public: MidiChannel *getPercussionChannel() { return _driver->getPercussionChannel(); } virtual void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) { _driver->setTimerCallback(timer_param, timer_proc); } - virtual byte getPlayId() = 0; + virtual byte getPlayId() const = 0; virtual int getPolyphony() const = 0; - virtual int getFirstChannel() { return 0; } + virtual int getFirstChannel() const { return 0; } + virtual int getLastChannel() const { return 15; } virtual void setVolume(byte volume) { if(_driver) @@ -97,7 +111,7 @@ public: return _driver ? _driver->property(MIDI_PROP_MASTER_VOLUME, 0xffff) : 0; } - virtual byte getReverb() { return _reverb; } + virtual byte getReverb() const { return _reverb; } virtual void setReverb(byte reverb) { _reverb = reverb; } virtual void playSwitch(bool play) { @@ -116,6 +130,7 @@ extern MidiPlayer *MidiPlayer_AdLib_create(SciVersion version); extern MidiPlayer *MidiPlayer_AmigaMac_create(SciVersion version); extern MidiPlayer *MidiPlayer_PCJr_create(SciVersion version); extern MidiPlayer *MidiPlayer_PCSpeaker_create(SciVersion version); +extern MidiPlayer *MidiPlayer_CMS_create(SciVersion version); extern MidiPlayer *MidiPlayer_Midi_create(SciVersion version); extern MidiPlayer *MidiPlayer_Fb01_create(SciVersion version); |