aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound/drivers/pcjr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/sound/drivers/pcjr.cpp')
-rw-r--r--engines/sci/sound/drivers/pcjr.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/engines/sci/sound/drivers/pcjr.cpp b/engines/sci/sound/drivers/pcjr.cpp
index eb264fb9dd..e9204d0c72 100644
--- a/engines/sci/sound/drivers/pcjr.cpp
+++ b/engines/sci/sound/drivers/pcjr.cpp
@@ -230,16 +230,16 @@ void MidiDriver_PCJr::close() {
class MidiPlayer_PCJr : public MidiPlayer {
public:
- MidiPlayer_PCJr() { _driver = new MidiDriver_PCJr(g_system->getMixer()); }
+ MidiPlayer_PCJr(SciVersion version) : MidiPlayer(version) { _driver = new MidiDriver_PCJr(g_system->getMixer()); }
int open(ResourceManager *resMan) { return static_cast<MidiDriver_PCJr *>(_driver)->open(getPolyphony()); }
- byte getPlayId(SciVersion soundVersion);
+ byte getPlayId();
int getPolyphony() const { return 3; }
bool hasRhythmChannel() const { return false; }
void setVolume(byte volume) { static_cast<MidiDriver_PCJr *>(_driver)->_global_volume = volume; }
};
-byte MidiPlayer_PCJr::getPlayId(SciVersion soundVersion) {
- switch (soundVersion) {
+byte MidiPlayer_PCJr::getPlayId() {
+ switch (_version) {
case SCI_VERSION_0_EARLY:
return 0x02;
case SCI_VERSION_0_LATE:
@@ -249,18 +249,20 @@ byte MidiPlayer_PCJr::getPlayId(SciVersion soundVersion) {
}
}
-MidiPlayer *MidiPlayer_PCJr_create() {
- return new MidiPlayer_PCJr();
+MidiPlayer *MidiPlayer_PCJr_create(SciVersion version) {
+ return new MidiPlayer_PCJr(version);
}
class MidiPlayer_PCSpeaker : public MidiPlayer_PCJr {
public:
- byte getPlayId(SciVersion soundVersion);
+ MidiPlayer_PCSpeaker(SciVersion version) : MidiPlayer_PCJr(version) { }
+
+ byte getPlayId();
int getPolyphony() const { return 1; }
};
-byte MidiPlayer_PCSpeaker::getPlayId(SciVersion soundVersion) {
- switch (soundVersion) {
+byte MidiPlayer_PCSpeaker::getPlayId() {
+ switch (_version) {
case SCI_VERSION_0_EARLY:
return 0x04;
case SCI_VERSION_0_LATE:
@@ -270,8 +272,8 @@ byte MidiPlayer_PCSpeaker::getPlayId(SciVersion soundVersion) {
}
}
-MidiPlayer *MidiPlayer_PCSpeaker_create() {
- return new MidiPlayer_PCSpeaker();
+MidiPlayer *MidiPlayer_PCSpeaker_create(SciVersion version) {
+ return new MidiPlayer_PCSpeaker(version);
}
} // End of namespace Sci