aboutsummaryrefslogtreecommitdiff
path: root/audio/softsynth/opl/dosbox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'audio/softsynth/opl/dosbox.cpp')
-rw-r--r--audio/softsynth/opl/dosbox.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/audio/softsynth/opl/dosbox.cpp b/audio/softsynth/opl/dosbox.cpp
index bcc73a9b9e..f6f17c5e3c 100644
--- a/audio/softsynth/opl/dosbox.cpp
+++ b/audio/softsynth/opl/dosbox.cpp
@@ -153,6 +153,7 @@ OPL::~OPL() {
}
void OPL::free() {
+ stopCallbacks();
delete _emulator;
_emulator = 0;
}
@@ -176,6 +177,9 @@ bool OPL::init() {
_emulator->WriteReg(0x105, 1);
}
+ // FIXME: Remove this once EmulatedOPL is actually controlling playback
+ start(0);
+
return true;
}
@@ -308,7 +312,7 @@ void OPL::dualWrite(uint8 index, uint8 reg, uint8 val) {
_emulator->WriteReg(fullReg, val);
}
-void OPL::readBuffer(int16 *buffer, int length) {
+void OPL::generateSamples(int16 *buffer, int length) {
// For stereo OPL cards, we divide the sample count by 2,
// to match stereo AudioStream behavior.
if (_type != Config::kOpl2)