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