BACKENDS: Modify the null mixer manager to not require SDL
This commit is contained in:
parent
697d1a8672
commit
d1bfa2c4ec
5 changed files with 19 additions and 33 deletions
|
@ -20,10 +20,10 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "backends/mixer/nullmixer/nullsdl-mixer.h"
|
||||
#include "backends/mixer/null/null-mixer.h"
|
||||
#include "common/savefile.h"
|
||||
|
||||
NullSdlMixerManager::NullSdlMixerManager() : SdlMixerManager() {
|
||||
NullMixerManager::NullMixerManager() : MixerManager() {
|
||||
_outputRate = 22050;
|
||||
_callsCounter = 0;
|
||||
_callbackPeriod = 10;
|
||||
|
@ -33,21 +33,21 @@ NullSdlMixerManager::NullSdlMixerManager() : SdlMixerManager() {
|
|||
_samplesBuf = new uint8[_samples * 4];
|
||||
}
|
||||
|
||||
NullSdlMixerManager::~NullSdlMixerManager() {
|
||||
NullMixerManager::~NullMixerManager() {
|
||||
delete _samplesBuf;
|
||||
}
|
||||
|
||||
void NullSdlMixerManager::init() {
|
||||
void NullMixerManager::init() {
|
||||
_mixer = new Audio::MixerImpl(_outputRate);
|
||||
assert(_mixer);
|
||||
_mixer->setReady(true);
|
||||
}
|
||||
|
||||
void NullSdlMixerManager::suspendAudio() {
|
||||
void NullMixerManager::suspendAudio() {
|
||||
_audioSuspended = true;
|
||||
}
|
||||
|
||||
int NullSdlMixerManager::resumeAudio() {
|
||||
int NullMixerManager::resumeAudio() {
|
||||
if (!_audioSuspended) {
|
||||
return -2;
|
||||
}
|
||||
|
@ -55,21 +55,13 @@ int NullSdlMixerManager::resumeAudio() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void NullSdlMixerManager::startAudio() {
|
||||
}
|
||||
|
||||
void NullSdlMixerManager::callbackHandler(byte *samples, int len) {
|
||||
assert(_mixer);
|
||||
_mixer->mixCallback(samples, len);
|
||||
}
|
||||
|
||||
void NullSdlMixerManager::update() {
|
||||
void NullMixerManager::update() {
|
||||
if (_audioSuspended) {
|
||||
return;
|
||||
}
|
||||
_callsCounter++;
|
||||
if ((_callsCounter % _callbackPeriod) == 0) {
|
||||
callbackHandler(_samplesBuf, _samples);
|
||||
assert(_mixer);
|
||||
_mixer->mixCallback(_samplesBuf, _samples);
|
||||
}
|
||||
}
|
|
@ -20,11 +20,10 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#ifndef BACKENDS_MIXER_NULLSDL_H
|
||||
#define BACKENDS_MIXER_NULLSDL_H
|
||||
#ifndef BACKENDS_MIXER_NULL_H
|
||||
#define BACKENDS_MIXER_NULL_H
|
||||
|
||||
#include "backends/mixer/sdl/sdl-mixer.h"
|
||||
#include "common/str.h"
|
||||
#include "backends/mixer/mixer.h"
|
||||
|
||||
/** Audio mixer which in fact does not output audio.
|
||||
*
|
||||
|
@ -35,10 +34,10 @@
|
|||
* users could work without modifications.
|
||||
*/
|
||||
|
||||
class NullSdlMixerManager : public SdlMixerManager {
|
||||
class NullMixerManager : public MixerManager {
|
||||
public:
|
||||
NullSdlMixerManager();
|
||||
virtual ~NullSdlMixerManager();
|
||||
NullMixerManager();
|
||||
virtual ~NullMixerManager();
|
||||
|
||||
virtual void init();
|
||||
void update();
|
||||
|
@ -46,11 +45,6 @@ public:
|
|||
virtual void suspendAudio();
|
||||
virtual int resumeAudio();
|
||||
|
||||
protected:
|
||||
|
||||
virtual void startAudio();
|
||||
virtual void callbackHandler(byte *samples, int len);
|
||||
|
||||
private:
|
||||
uint32 _outputRate;
|
||||
uint32 _callsCounter;
|
|
@ -344,7 +344,7 @@ endif
|
|||
|
||||
ifdef ENABLE_EVENTRECORDER
|
||||
MODULE_OBJS += \
|
||||
mixer/nullmixer/nullsdl-mixer.o \
|
||||
mixer/null/null-mixer.o \
|
||||
saves/recorder/recorder-saves.o
|
||||
endif
|
||||
|
||||
|
|
|
@ -260,7 +260,7 @@ Common::String EventRecorder::generateRecordFileName(const Common::String &targe
|
|||
|
||||
|
||||
void EventRecorder::init(Common::String recordFileName, RecordMode mode) {
|
||||
_fakeMixerManager = new NullSdlMixerManager();
|
||||
_fakeMixerManager = new NullMixerManager();
|
||||
_fakeMixerManager->init();
|
||||
_fakeMixerManager->suspendAudio();
|
||||
_fakeTimer = 0;
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
#include "common/config-manager.h"
|
||||
#include "common/recorderfile.h"
|
||||
#include "backends/saves/recorder/recorder-saves.h"
|
||||
#include "backends/mixer/nullmixer/nullsdl-mixer.h"
|
||||
#include "backends/mixer/null/null-mixer.h"
|
||||
#include "backends/saves/default/default-saves.h"
|
||||
|
||||
|
||||
|
@ -190,7 +190,7 @@ private:
|
|||
MixerManager *_realMixerManager;
|
||||
DefaultTimerManager *_timerManager;
|
||||
RecorderSaveFileManager _fakeSaveManager;
|
||||
NullSdlMixerManager *_fakeMixerManager;
|
||||
NullMixerManager *_fakeMixerManager;
|
||||
GUI::OnScreenDialog *_controlPanel;
|
||||
Common::RecorderEvent _nextEvent;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue