aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sfx/softseq
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/sfx/softseq')
-rw-r--r--engines/sci/sfx/softseq/adlib.cpp13
-rw-r--r--engines/sci/sfx/softseq/adlib.h3
2 files changed, 15 insertions, 1 deletions
diff --git a/engines/sci/sfx/softseq/adlib.cpp b/engines/sci/sfx/softseq/adlib.cpp
index 15e1ed9089..1623520ea5 100644
--- a/engines/sci/sfx/softseq/adlib.cpp
+++ b/engines/sci/sfx/softseq/adlib.cpp
@@ -629,6 +629,19 @@ bool MidiDriver_Adlib::loadResource(const byte *data, uint size) {
return true;
}
+int32 MidiDriver_Adlib::property(int prop, int32 param) {
+ switch(prop) {
+ case MIDI_PROP_MASTER_VOLUME:
+ if(param != -1)
+ _masterVolume = param;
+ return _masterVolume;
+ default:
+ break;
+ }
+ return -1;
+}
+
+
int MidiPlayer_Adlib::open(ResourceManager *resMan) {
assert(resMan != NULL);
diff --git a/engines/sci/sfx/softseq/adlib.h b/engines/sci/sfx/softseq/adlib.h
index 771bdc3927..fccf0a2c94 100644
--- a/engines/sci/sfx/softseq/adlib.h
+++ b/engines/sci/sfx/softseq/adlib.h
@@ -36,7 +36,7 @@ public:
};
MidiDriver_Adlib(Audio::Mixer *mixer) : MidiDriver_Emulated(mixer), _playSwitch(true), _masterVolume(15), _rhythmKeyMap(0), _opl(0) { }
- ~MidiDriver_Adlib() { }
+ virtual ~MidiDriver_Adlib() { }
// MidiDriver
int open(bool isSCI0);
@@ -55,6 +55,7 @@ public:
void setVolume(byte volume);
void playSwitch(bool play);
bool loadResource(const byte *data, uint size);
+ virtual int32 property(int prop, int32 param);
private:
enum ChannelID {