diff options
author | Matthew Hoops | 2015-04-03 00:18:58 -0400 |
---|---|---|
committer | Matthew Hoops | 2015-07-07 20:19:42 -0400 |
commit | f1f29302f5401c4782985cec4d47d069b99036ee (patch) | |
tree | 60c6c8c7b2867cf9524197d2c2c0734746906b71 /engines/sky/music/adlibmusic.cpp | |
parent | 2fa1ce51dd3cb00eef289094fe9f660c237254bc (diff) | |
download | scummvm-rg350-f1f29302f5401c4782985cec4d47d069b99036ee.tar.gz scummvm-rg350-f1f29302f5401c4782985cec4d47d069b99036ee.tar.bz2 scummvm-rg350-f1f29302f5401c4782985cec4d47d069b99036ee.zip |
AUDIO: Remove the legacy OPL API
Diffstat (limited to 'engines/sky/music/adlibmusic.cpp')
-rw-r--r-- | engines/sky/music/adlibmusic.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/engines/sky/music/adlibmusic.cpp b/engines/sky/music/adlibmusic.cpp index dd64c5bc81..2b73cb1411 100644 --- a/engines/sky/music/adlibmusic.cpp +++ b/engines/sky/music/adlibmusic.cpp @@ -22,6 +22,7 @@ #include "common/endian.h" +#include "common/textconsole.h" #include "sky/music/adlibmusic.h" #include "sky/music/adlibchannel.h" @@ -34,14 +35,16 @@ AdLibMusic::AdLibMusic(Audio::Mixer *pMixer, Disk *pDisk) : MusicBase(pMixer, pD _driverFileBase = 60202; _sampleRate = pMixer->getOutputRate(); - _opl = makeAdLibOPL(_sampleRate); + _opl = OPL::Config::create(); + if (!_opl || !_opl->init(_sampleRate)) + error("Failed to create OPL"); _mixer->playStream(Audio::Mixer::kMusicSoundType, &_soundHandle, this, -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO, true); } AdLibMusic::~AdLibMusic() { - OPLDestroy(_opl); _mixer->stopHandle(_soundHandle); + delete _opl; } int AdLibMusic::readBuffer(int16 *data, const int numSamples) { @@ -61,7 +64,7 @@ int AdLibMusic::readBuffer(int16 *data, const int numSamples) { render = (remaining > _nextMusicPoll) ? _nextMusicPoll : remaining; remaining -= render; _nextMusicPoll -= render; - YM3812UpdateOne(_opl, data, render); + _opl->readBuffer(data, render); data += render; if (_nextMusicPoll == 0) { pollMusic(); @@ -102,7 +105,7 @@ void AdLibMusic::setupChannels(uint8 *channelData) { void AdLibMusic::startDriver() { uint16 cnt = 0; while (_initSequence[cnt] || _initSequence[cnt + 1]) { - OPLWriteReg (_opl, _initSequence[cnt], _initSequence[cnt + 1]); + _opl->writeReg(_initSequence[cnt], _initSequence[cnt + 1]); cnt += 2; } } |