diff options
Diffstat (limited to 'audio/softsynth/opl/dosbox.cpp')
-rw-r--r-- | audio/softsynth/opl/dosbox.cpp | 6 |
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) |