This is a joined work of XK and me on improving the HLE plugin interface.

It allows run time selection of backends (AOSound, DSound and NullSound).
It replaces the DSP_NULL plugin (works even better!)
It also includes improved thread handling on asound, and using some common functions on both
asound and windows.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2027 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
nakeee
2009-01-29 00:57:55 +00:00
parent 121be22532
commit 7219bcd4d5
46 changed files with 705 additions and 4584 deletions

View File

@ -24,11 +24,6 @@ extern CDebugger* m_frame;
#endif
#include <sstream>
#ifdef _WIN32
#include "../PCHW/DSoundStream.h"
#else
#include "../PCHW/AOSoundStream.h"
#endif
#include "../PCHW/Mixer.h"
#include "../MailHandler.h"
@ -525,10 +520,10 @@ bool CUCode_AX::AXTask(u32& _uMail)
mixer_HLEready = true;
SaveLog("%08x : AXLIST PB address: %08x", uAddress, m_addressPBs);
#ifdef _WIN32
SaveLog("Update the SoundThread to be in sync");
DSound::DSound_UpdateSound(); //do it in this thread to avoid sync problems
#endif
soundStream->Update(); //do it in this thread to avoid sync problems
}
break;

View File

@ -23,12 +23,6 @@
extern CDebugger * m_frame;
#endif
#ifdef _WIN32
#include "../PCHW/DSoundStream.h"
#else
#include "../PCHW/AOSoundStream.h"
#endif
#include "../PCHW/Mixer.h"
#include "../MailHandler.h"
@ -329,10 +323,7 @@ bool CUCode_AXWii::AXTask(u32& _uMail)
lCUCode_AX->m_addressPBs = m_addressPBs; // for the sake of logging
mixer_HLEready = true;
SaveLog("%08x : AXLIST PB address: %08x", uAddress, m_addressPBs);
#ifdef _WIN32
//DebugLog("Update the SoundThread to be in sync");
DSound::DSound_UpdateSound(); //do it in this thread to avoid sync problems
#endif
soundStream->Update();
uAddress += 4;
break;

View File

@ -22,11 +22,6 @@
#include "UCode_AX.h"
#include "../main.h"
#ifdef _WIN32
#include "../PCHW/DSoundStream.h"
#else
#include "../PCHW/AOSoundStream.h"
#endif
// ----------------------------------------------------
// Externals
@ -112,11 +107,7 @@ inline void WriteBackPBsWii(u32 pbs_address, ParamBlockType& _pPBs, int _num)
template<class ParamBlockType>
inline void MixAddVoice(ParamBlockType &pb, int *templbuffer, int *temprbuffer, int _iSize, bool Wii)
{
#ifdef _WIN32
ratioFactor = 32000.0f / (float)DSound::DSound_GetSampleRate();
#else
ratioFactor = 32000.0f / (float)AOSound::AOSound_GetSampleRate();
#endif
ratioFactor = 32000.0f / (float)soundStream->GetSampleRate();
DoVoiceHacks(pb, Wii);

View File

@ -23,9 +23,7 @@
#include "UCode_Zelda.h"
#include "../MailHandler.h"
#ifdef _WIN32
#include "../PCHW/DSoundStream.h"
#endif
#include "../main.h"
#include "../PCHW/Mixer.h"
@ -126,10 +124,10 @@ void CUCode_Zelda::ExecuteList()
// We're ready to mix
mixer_HLEready = true;
#ifdef _WIN32
DebugLog("Update the SoundThread to be in sync");
DSound::DSound_UpdateSound(); //do it in this thread to avoid sync problems
#endif
soundStream->Update(); //do it in this thread to avoid sync problems
DebugLog("DsyncFrame");
DebugLog("???: 0x%08x", tmp[0]);