Removing apu/ deps on Emulator.

This commit is contained in:
Ben Vanik
2015-08-18 10:54:56 -07:00
parent ad090a40eb
commit 19299fad4b
16 changed files with 93 additions and 124 deletions

View File

@@ -16,7 +16,6 @@
#include "xenia/apu/apu_flags.h"
#include "xenia/base/clock.h"
#include "xenia/base/logging.h"
#include "xenia/emulator.h"
namespace xe {
namespace apu {
@@ -43,9 +42,9 @@ class XAudio2AudioDriver::VoiceCallback : public IXAudio2VoiceCallback {
xe::threading::Semaphore* semaphore_ = nullptr;
};
XAudio2AudioDriver::XAudio2AudioDriver(Emulator* emulator,
XAudio2AudioDriver::XAudio2AudioDriver(Memory* memory,
xe::threading::Semaphore* semaphore)
: AudioDriver(emulator), semaphore_(semaphore) {
: AudioDriver(memory), semaphore_(semaphore) {
static_assert(frame_count_ == XAUDIO2_MAX_QUEUED_BUFFERS,
"xaudio header differs");
}

View File

@@ -11,6 +11,7 @@
#define XENIA_APU_XAUDIO2_XAUDIO2_AUDIO_DRIVER_H_
#include "xenia/apu/audio_driver.h"
#include "xenia/base/threading.h"
struct IXAudio2;
struct IXAudio2MasteringVoice;
@@ -22,7 +23,7 @@ namespace xaudio2 {
class XAudio2AudioDriver : public AudioDriver {
public:
XAudio2AudioDriver(Emulator* emulator, xe::threading::Semaphore* semaphore);
XAudio2AudioDriver(Memory* memory, xe::threading::Semaphore* semaphore);
~XAudio2AudioDriver() override;
void Initialize();

View File

@@ -13,18 +13,18 @@
#include "xenia/apu/apu_flags.h"
#include "xenia/apu/xaudio2/xaudio2_audio_driver.h"
#include "xenia/emulator.h"
namespace xe {
namespace apu {
namespace xaudio2 {
std::unique_ptr<AudioSystem> XAudio2AudioSystem::Create(Emulator* emulator) {
return std::make_unique<XAudio2AudioSystem>(emulator);
std::unique_ptr<AudioSystem> XAudio2AudioSystem::Create(
cpu::Processor* processor) {
return std::make_unique<XAudio2AudioSystem>(processor);
}
XAudio2AudioSystem::XAudio2AudioSystem(Emulator* emulator)
: AudioSystem(emulator) {}
XAudio2AudioSystem::XAudio2AudioSystem(cpu::Processor* processor)
: AudioSystem(processor) {}
XAudio2AudioSystem::~XAudio2AudioSystem() {}
@@ -34,7 +34,7 @@ X_STATUS XAudio2AudioSystem::CreateDriver(size_t index,
xe::threading::Semaphore* semaphore,
AudioDriver** out_driver) {
assert_not_null(out_driver);
auto driver = new XAudio2AudioDriver(emulator_, semaphore);
auto driver = new XAudio2AudioDriver(memory_, semaphore);
driver->Initialize();
*out_driver = driver;
return X_STATUS_SUCCESS;

View File

@@ -18,10 +18,10 @@ namespace xaudio2 {
class XAudio2AudioSystem : public AudioSystem {
public:
explicit XAudio2AudioSystem(Emulator* emulator);
explicit XAudio2AudioSystem(cpu::Processor* processor);
~XAudio2AudioSystem() override;
static std::unique_ptr<AudioSystem> Create(Emulator* emulator);
static std::unique_ptr<AudioSystem> Create(cpu::Processor* processor);
X_RESULT CreateDriver(size_t index, xe::threading::Semaphore* semaphore,
AudioDriver** out_driver) override;