diff --git a/Source/Core/Core/Src/PowerPC/PowerPC.cpp b/Source/Core/Core/Src/PowerPC/PowerPC.cpp
index 35fd413aed..a62f0f12b6 100644
--- a/Source/Core/Core/Src/PowerPC/PowerPC.cpp
+++ b/Source/Core/Core/Src/PowerPC/PowerPC.cpp
@@ -35,280 +35,280 @@
 namespace PowerPC
 {
 
-	// STATE_TO_SAVE
-	PowerPCState GC_ALIGNED16(ppcState);
-	volatile CPUState state = CPU_STEPPING;
+// STATE_TO_SAVE
+PowerPCState GC_ALIGNED16(ppcState);
+volatile CPUState state = CPU_STEPPING;
 
-	static CoreMode mode;
+static CoreMode mode;
 
-	void CompactCR()
+void CompactCR()
+{
+	ppcState.cr = 0;
+	for (int i = 0; i < 8; i++) {
+		ppcState.cr |= ppcState.cr_fast[i] << (28 - i * 4);
+	}
+}
+
+void ExpandCR()
+{
+	for (int i = 0; i < 8; i++) {
+		ppcState.cr_fast[i] = (ppcState.cr >> (28 - i * 4)) & 0xF;
+	}
+}
+
+
+void DoState(PointerWrap &p)
+{
+	p.Do(ppcState);
+}
+
+void ResetRegisters()
+{
+	for (int i = 0; i < 32; i++)
 	{
-		ppcState.cr = 0;
-		for (int i = 0; i < 8; i++) {
-			ppcState.cr |= ppcState.cr_fast[i] << (28 - i * 4);
-		}
+		ppcState.gpr[i] = 0;
+		riPS0(i) = 0;
+		riPS1(i) = 0;
 	}
 
-	void ExpandCR()
-	{
-		for (int i = 0; i < 8; i++) {
-			ppcState.cr_fast[i] = (ppcState.cr >> (28 - i * 4)) & 0xF;
-		}
-	}
+	memset(ppcState.spr, 0, sizeof(ppcState.spr));
 
+	ppcState.cr = 0;
+	ppcState.fpscr = 0;
+	ppcState.pc = 0;
+	ppcState.npc = 0;
+	ppcState.Exceptions = 0;
 
-	void DoState(PointerWrap &p)
-	{
-		p.Do(ppcState);
-	}
+	TL = 0;
+	TU = 0;
 
-	void ResetRegisters()
-	{
-		for (int i = 0; i < 32; i++)
-		{
-			ppcState.gpr[i] = 0;
-			riPS0(i) = 0;
-			riPS1(i) = 0;
-		}
+	ppcState.msr = 0;
+	rDEC = 0xFFFFFFFF;
+}
 
-		memset(ppcState.spr, 0, sizeof(ppcState.spr));
-
-		ppcState.cr = 0;
-		ppcState.fpscr = 0;
-		ppcState.pc = 0;
-		ppcState.npc = 0;
-		ppcState.Exceptions = 0;
-
-		TL = 0;
-		TU = 0;
-
-		ppcState.msr = 0;
-		rDEC = 0xFFFFFFFF;
-	}
-
-	void Init()
-	{
-		enum {
-			FPU_PREC_24 = 0 << 8,
-			FPU_PREC_53 = 2 << 8,
-			FPU_PREC_64 = 3 << 8,
-			FPU_PREC_MASK = 3 << 8,
-		};
+void Init()
+{
+	enum {
+		FPU_PREC_24 = 0 << 8,
+		FPU_PREC_53 = 2 << 8,
+		FPU_PREC_64 = 3 << 8,
+		FPU_PREC_MASK = 3 << 8,
+	};
 #ifdef _M_IX86
-		// sets the floating-point lib to 53-bit
-		// PowerPC has a 53bit floating pipeline only
-		// eg: sscanf is very sensitive
+	// sets the floating-point lib to 53-bit
+	// PowerPC has a 53bit floating pipeline only
+	// eg: sscanf is very sensitive
 #ifdef _WIN32
-		_control87(_PC_53, MCW_PC);
+	_control87(_PC_53, MCW_PC);
 #else
-		unsigned short _mode;
-		asm ("fstcw %0" : : "m" (_mode));
-		_mode = (_mode & ~FPU_PREC_MASK) | FPU_PREC_53;
-		asm ("fldcw %0" : : "m" (_mode));
+	unsigned short _mode;
+	asm ("fstcw %0" : : "m" (_mode));
+	_mode = (_mode & ~FPU_PREC_MASK) | FPU_PREC_53;
+	asm ("fldcw %0" : : "m" (_mode));
 #endif
 #else
-		//x64 doesn't need this - fpu is done with SSE
-		//but still - set any useful sse options here
+	//x64 doesn't need this - fpu is done with SSE
+	//but still - set any useful sse options here
 #endif
 
-		ResetRegisters();
-		PPCTables::InitTables();
+	ResetRegisters();
+	PPCTables::InitTables();
 
-		// Initialize both execution engines ... 
-		Interpreter::Init();
-		jit.Init();
-		// ... but start as interpreter by default.
-		mode = MODE_INTERPRETER;
-		state = CPU_STEPPING;
+	// Initialize both execution engines ... 
+	Interpreter::Init();
+	jit.Init();
+	// ... but start as interpreter by default.
+	mode = MODE_INTERPRETER;
+	state = CPU_STEPPING;
+}
+
+void Shutdown()
+{
+	// Shutdown both execution engines. Doesn't matter which one is active.
+	jit.Shutdown();
+	Interpreter::Shutdown();
+}
+
+void SetMode(CoreMode new_mode)
+{
+	if (new_mode == mode)
+		return;  // We don't need to do anything.
+
+	mode = new_mode;
+	switch (mode)
+	{
+	case MODE_INTERPRETER:  // Switching from JIT to interpreter
+		jit.ClearCache();  // Remove all those nasty JIT patches.
+		break;
+
+	case MODE_JIT:  // Switching from interpreter to JIT.
+		// Don't really need to do much. It'll work, the cache will refill itself.
+		break;
+	}
+}
+
+void SingleStep() 
+{
+	switch (mode)
+	{
+	case MODE_INTERPRETER:
+		Interpreter::SingleStep();
+		break;
+	case MODE_JIT:
+		jit.SingleStep();
+		break;
+	}
+}
+
+void RunLoop()
+{
+	state = CPU_RUNNING;
+	switch (mode) 
+	{
+	case MODE_INTERPRETER:
+		Interpreter::Run();
+		break;
+	case MODE_JIT:
+		jit.Run();
+		break;
+	}
+	Host_UpdateDisasmDialog();
+}
+
+CPUState GetState()
+{
+	return state;
+}
+
+volatile CPUState *GetStatePtr()
+{
+	return &state;
+}
+
+void Start()
+{
+	state = CPU_RUNNING;
+	Host_UpdateDisasmDialog();
+}
+
+void Pause()
+{
+	state = CPU_STEPPING;
+	Host_UpdateDisasmDialog();
+}
+
+void Stop()
+{
+	state = CPU_POWERDOWN;
+	Host_UpdateDisasmDialog();
+}
+
+void CheckExceptions()
+{
+	// This check is unnecessary in JIT mode. However, it probably doesn't really hurt.
+	if (!ppcState.Exceptions)
+		return;
+
+	// TODO(ector): 
+	// gcemu uses the mask 0x87C0FFFF instead of 0x0780FF77
+	// Investigate!
+
+	if (ppcState.Exceptions & EXCEPTION_FPU_UNAVAILABLE)
+	{			
+		//This happens a lot - Gamecube OS uses deferred FPU context switching
+		SRR0 = PC;	// re-execute the instruction
+		SRR1 = MSR & 0x0780FF77;
+		NPC = 0x80000800;
+
+		INFO_LOG(GEKKO, "EXCEPTION_FPU_UNAVAILABLE");
+		ppcState.Exceptions &= ~EXCEPTION_FPU_UNAVAILABLE;
+		SRR1 |= 0x02;  //recoverable
+	}
+	else if (ppcState.Exceptions & EXCEPTION_SYSCALL)
+	{	
+		SRR0 = NPC; // execute next instruction when we come back from handler
+		SRR1 = MSR & 0x0780FF77;
+		NPC = 0x80000C00;
+
+		INFO_LOG(GEKKO, "EXCEPTION_SYSCALL (PC=%08x)", PC);
+		ppcState.Exceptions &= ~EXCEPTION_SYSCALL;
+		SRR1 |= 0x02;  //recoverable
+	}
+	else if (ppcState.Exceptions & EXCEPTION_DSI)
+	{
+		SRR0 = PC;  // re-execute the instruction
+		SRR1 = MSR & 0x0780FF77; 
+		NPC = 0x80000300;
+
+		INFO_LOG(GEKKO, "EXCEPTION_DSI");
+		ppcState.Exceptions &= ~EXCEPTION_DSI;			
+		//SRR1 |= 0x02;  //make recoverable ?
+	}
+	else if (ppcState.Exceptions & EXCEPTION_ISI)
+	{
+		SRR0 = PC;
+		SRR1 = (MSR & 0x0780FF77) | 0x40000000;
+		NPC = 0x80000400;
+
+		INFO_LOG(GEKKO, "EXCEPTION_ISI");
+		ppcState.Exceptions &= ~EXCEPTION_ISI;			
+		//SRR1 |= 0x02;  //make recoverable ?
+	}
+	else if (ppcState.Exceptions & EXCEPTION_ALIGNMENT)
+	{
+		//This never happens ATM
+		SRR0 = NPC;
+		SRR1 = MSR & 0x0780FF77;
+		NPC = 0x80000600;
+
+		INFO_LOG(GEKKO, "EXCEPTION_ALIGNMENT");
+		ppcState.Exceptions &= ~EXCEPTION_ALIGNMENT;			
+		//SRR1 |= 0x02;  //make recoverable ?
 	}
 
-	void Shutdown()
+	// EXTERNAL INTTERUPT
+	else if (MSR & 0x0008000)
 	{
-		// Shutdown both execution engines. Doesn't matter which one is active.
-		jit.Shutdown();
-		Interpreter::Shutdown();
-	}
-
-	void SetMode(CoreMode new_mode)
-	{
-		if (new_mode == mode)
-			return;  // We don't need to do anything.
-
-		mode = new_mode;
-		switch (mode)
+		if (ppcState.Exceptions & EXCEPTION_EXTERNAL_INT)
 		{
-		case MODE_INTERPRETER:  // Switching from JIT to interpreter
-			jit.ClearCache();  // Remove all those nasty JIT patches.
-			break;
+			// Pokemon gets this "too early", it hasn't a handler yet
+			ppcState.Exceptions &= ~EXCEPTION_EXTERNAL_INT;	// clear exception
 
-		case MODE_JIT:  // Switching from interpreter to JIT.
-			// Don't really need to do much. It'll work, the cache will refill itself.
-			break;
-		}
-	}
-
-	void SingleStep() 
-	{
-		switch (mode)
-		{
-		case MODE_INTERPRETER:
-			Interpreter::SingleStep();
-			break;
-		case MODE_JIT:
-			jit.SingleStep();
-			break;
-		}
-	}
-
-	void RunLoop()
-	{
-		state = CPU_RUNNING;
-		switch (mode) 
-		{
-		case MODE_INTERPRETER:
-			Interpreter::Run();
-			break;
-		case MODE_JIT:
-			jit.Run();
-			break;
-		}
-		Host_UpdateDisasmDialog();
-	}
-
-	CPUState GetState()
-	{
-		return state;
-	}
-
-	volatile CPUState *GetStatePtr()
-	{
-		return &state;
-	}
-
-	void Start()
-	{
-		state = CPU_RUNNING;
-		Host_UpdateDisasmDialog();
-	}
-
-	void Pause()
-	{
-		state = CPU_STEPPING;
-		Host_UpdateDisasmDialog();
-	}
-
-	void Stop()
-	{
-		state = CPU_POWERDOWN;
-		Host_UpdateDisasmDialog();
-	}
-
-	void CheckExceptions()
-	{
-		// This check is unnecessary in JIT mode. However, it probably doesn't really hurt.
-		if (!ppcState.Exceptions)
-			return;
-
-		// TODO(ector): 
-		// gcemu uses the mask 0x87C0FFFF instead of 0x0780FF77
-		// Investigate!
-
-		if (ppcState.Exceptions & EXCEPTION_FPU_UNAVAILABLE)
-		{			
-			//This happens a lot - Gamecube OS uses deferred FPU context switching
-			SRR0 = PC;	// re-execute the instruction
-			SRR1 = MSR & 0x0780FF77;
-			NPC = 0x80000800;
-
-			INFO_LOG(GEKKO, "EXCEPTION_FPU_UNAVAILABLE");
-			ppcState.Exceptions &= ~EXCEPTION_FPU_UNAVAILABLE;
-			SRR1 |= 0x02;  //recoverable
-		}
-		else if (ppcState.Exceptions & EXCEPTION_SYSCALL)
-		{	
-			SRR0 = NPC; // execute next instruction when we come back from handler
-			SRR1 = MSR & 0x0780FF77;
-			NPC = 0x80000C00;
-
-			INFO_LOG(GEKKO, "EXCEPTION_SYSCALL (PC=%08x)", PC);
-			ppcState.Exceptions &= ~EXCEPTION_SYSCALL;
-			SRR1 |= 0x02;  //recoverable
-		}
-		else if (ppcState.Exceptions & EXCEPTION_DSI)
-		{
-			SRR0 = PC;  // re-execute the instruction
-			SRR1 = MSR & 0x0780FF77; 
-			NPC = 0x80000300;
-
-			INFO_LOG(GEKKO, "EXCEPTION_DSI");
-			ppcState.Exceptions &= ~EXCEPTION_DSI;			
-			//SRR1 |= 0x02;  //make recoverable ?
-		}
-		else if (ppcState.Exceptions & EXCEPTION_ISI)
-		{
-			SRR0 = PC;
-			SRR1 = (MSR & 0x0780FF77) | 0x40000000;
-			NPC = 0x80000400;
-
-			INFO_LOG(GEKKO, "EXCEPTION_ISI");
-			ppcState.Exceptions &= ~EXCEPTION_ISI;			
-			//SRR1 |= 0x02;  //make recoverable ?
-		}
-		else if (ppcState.Exceptions & EXCEPTION_ALIGNMENT)
-		{
-			//This never happens ATM
 			SRR0 = NPC;
-			SRR1 = MSR & 0x0780FF77;
-			NPC = 0x80000600;
+			NPC = 0x80000500;
+			SRR1 = (MSR & 0x0780FF77);
 
-			INFO_LOG(GEKKO, "EXCEPTION_ALIGNMENT");
-			ppcState.Exceptions &= ~EXCEPTION_ALIGNMENT;			
-			//SRR1 |= 0x02;  //make recoverable ?
+			INFO_LOG(GEKKO, "EXCEPTION_EXTERNAL_INT");
+
+			SRR1 |= 0x02; //set it to recoverable
+			_dbg_assert_msg_(GEKKO, (SRR1 & 0x02) != 0, "GEKKO", "EXTERNAL_INT unrecoverable???");  // unrecoverable exception !?!
 		}
-
-		// EXTERNAL INTTERUPT
-		else if (MSR & 0x0008000)
+		else if (ppcState.Exceptions & EXCEPTION_DECREMENTER)
 		{
-			if (ppcState.Exceptions & EXCEPTION_EXTERNAL_INT)
-			{
-				// Pokemon gets this "too early", it hasn't a handler yet
-				ppcState.Exceptions &= ~EXCEPTION_EXTERNAL_INT;	// clear exception
+			SRR0 = NPC;
+			SRR1 = MSR & 0x0000FF77;
+			NPC = 0x80000900;
 
-				SRR0 = NPC;
-				NPC = 0x80000500;
-				SRR1 = (MSR & 0x0780FF77);
+			ppcState.Exceptions &= ~EXCEPTION_DECREMENTER;
 
-				INFO_LOG(GEKKO, "EXCEPTION_EXTERNAL_INT");
-
-				SRR1 |= 0x02; //set it to recoverable
-				_dbg_assert_msg_(GEKKO, (SRR1 & 0x02) != 0, "GEKKO", "EXTERNAL_INT unrecoverable???");  // unrecoverable exception !?!
-			}
-			else if (ppcState.Exceptions & EXCEPTION_DECREMENTER)
-			{
-				SRR0 = NPC;
-				SRR1 = MSR & 0x0000FF77;
-				NPC = 0x80000900;
-
-				ppcState.Exceptions &= ~EXCEPTION_DECREMENTER;
-
-				INFO_LOG(GEKKO, "EXCEPTION_DECREMENTER");
-				SRR1 |= 0x02;  //make recoverable
-			}
-			else
-			{
-				_dbg_assert_msg_(GEKKO, 0, "Unknown EXT interrupt: Exceptions == %08x", ppcState.Exceptions);
-				ERROR_LOG(GEKKO, "Unknown EXTERNAL INTERRUPT exception: Exceptions == %08x", ppcState.Exceptions);
-			}
+			INFO_LOG(GEKKO, "EXCEPTION_DECREMENTER");
+			SRR1 |= 0x02;  //make recoverable
+		}
+		else
+		{
+			_dbg_assert_msg_(GEKKO, 0, "Unknown EXT interrupt: Exceptions == %08x", ppcState.Exceptions);
+			ERROR_LOG(GEKKO, "Unknown EXTERNAL INTERRUPT exception: Exceptions == %08x", ppcState.Exceptions);
 		}
-		MSR &= ~0x0008000;		// clear EE-bit so interrupts aren't possible anymore
 	}
+	MSR &= ~0x0008000;		// clear EE-bit so interrupts aren't possible anymore
+}
 
-	void OnIdle(u32 _uThreadAddr)
-	{
-		u32 nextThread = Memory::Read_U32(_uThreadAddr);
-		//do idle skipping
-		if (nextThread == 0)
-			CoreTiming::Idle();
-	}
+void OnIdle(u32 _uThreadAddr)
+{
+	u32 nextThread = Memory::Read_U32(_uThreadAddr);
+	//do idle skipping
+	if (nextThread == 0)
+		CoreTiming::Idle();
+}
 
 }  // namespace
\ No newline at end of file
diff --git a/Source/Core/DolphinWX/Src/GameListCtrl.cpp b/Source/Core/DolphinWX/Src/GameListCtrl.cpp
index 53f5681813..878b59493b 100644
--- a/Source/Core/DolphinWX/Src/GameListCtrl.cpp
+++ b/Source/Core/DolphinWX/Src/GameListCtrl.cpp
@@ -94,13 +94,14 @@ EVT_MENU(IDM_DELETEGCM, CGameListCtrl::OnDeleteGCM)
 END_EVENT_TABLE()
 
 CGameListCtrl::CGameListCtrl(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
-	: wxListCtrl(parent, id, pos, size, style)                                                                                                                 // | wxLC_VIRTUAL)
+	: wxListCtrl(parent, id, pos, size, style)
 {
 }
 
 CGameListCtrl::~CGameListCtrl()
 {
-	if (m_imageListSmall) delete m_imageListSmall;
+	if (m_imageListSmall)
+		delete m_imageListSmall;
 }
 
 void CGameListCtrl::InitBitmaps()
@@ -234,6 +235,11 @@ wxString NiceSizeFormat(s64 _size)
 
 void CGameListCtrl::InsertItemInReportView(long _Index)
 {
+	// When using wxListCtrl, there is no hope of per-column text colors.
+	// But for reference, here are the old colors that were used: (BGR)
+	// title: 0xFF0000
+	// company: 0x007030
+
 	GameListItem& rISOFile = m_ISOFiles[_Index];
 
 	int ImageIndex = -1;
@@ -246,34 +252,26 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
 	// Insert a row with the banner image
 	long ItemIndex = InsertItem(_Index, wxEmptyString, ImageIndex);
 
-	// Background color
-	SetBackgroundColor();
-
-	// When using wxListCtrl, there is no hope of per-column text colors.
-	// But for reference, here are the old colors that were used: (BGR)
-	// title: 0xFF0000
-	// company: 0x007030
-
 	switch (rISOFile.GetCountry())
 	{
 	case DiscIO::IVolume::COUNTRY_JAP:
 		{
-			// keep these codes, when we move to wx unicode...
-			//wxCSConv convFrom(wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS));
-			//wxCSConv convTo(wxFontMapper::GetEncodingName(wxFONTENCODING_DEFAULT));
-			//SetItem(_Index, COLUMN_TITLE, wxString(wxString(rISOFile.GetName()).wc_str(convFrom) , convTo), -1);
-			//SetItem(_Index, COLUMN_NOTES, wxString(wxString(rISOFile.GetDescription()).wc_str(convFrom) , convTo), -1);
-			wxString name;
-			if (CopySJISToString(name, rISOFile.GetName(0).c_str()))
-			{
-				SetItem(_Index, COLUMN_TITLE, name, -1);
-			}
+		// keep these codes, when we move to wx unicode...
+		//wxCSConv convFrom(wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS));
+		//wxCSConv convTo(wxFontMapper::GetEncodingName(wxFONTENCODING_DEFAULT));
+		//SetItem(_Index, COLUMN_TITLE, wxString(wxString(rISOFile.GetName()).wc_str(convFrom) , convTo), -1);
+		//SetItem(_Index, COLUMN_NOTES, wxString(wxString(rISOFile.GetDescription()).wc_str(convFrom) , convTo), -1);
+		wxString name;
+		if (CopySJISToString(name, rISOFile.GetName(0).c_str()))
+		{
+			SetItem(_Index, COLUMN_TITLE, name, -1);
+		}
 
-			wxString description;
-			if (CopySJISToString(description, rISOFile.GetDescription(0).c_str()))
-			{
-				SetItem(_Index, COLUMN_NOTES, description, -1);
-			}
+		wxString description;
+		if (CopySJISToString(description, rISOFile.GetDescription(0).c_str()))
+		{
+			SetItem(_Index, COLUMN_NOTES, description, -1);
+		}
 		}
 		break;
 	case DiscIO::IVolume::COUNTRY_USA:
@@ -344,19 +342,10 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
 	}
 
 	// Country
-	{
-		wxListItem item;
-		item.m_itemId = ItemIndex;
-		item.SetColumn(COLUMN_COUNTRY);
-		DiscIO::IVolume::ECountry Country = rISOFile.GetCountry();
+	SetItemColumnImage(_Index, COLUMN_COUNTRY, m_FlagImageIndex[rISOFile.GetCountry()]);
 
-		if (size_t(Country) < m_FlagImageIndex.size())
-		{
-			item.SetImage(m_FlagImageIndex[rISOFile.GetCountry()]);
-		}
-
-		SetItem(item);
-	}
+	// Background color
+	SetBackgroundColor();
 
 	// Item data
 	SetItemData(_Index, ItemIndex);
diff --git a/Source/Dolphin.sln b/Source/Dolphin.sln
index 53fec0594b..36dc6bb863 100644
--- a/Source/Dolphin.sln
+++ b/Source/Dolphin.sln
@@ -152,6 +152,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxCore28", "..\Externals\wx
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioCommon", "Core\AudioCommon\AudioCommon.vcproj", "{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_DSP_LLE_Test", "Plugins\Plugin_DSP_LLE-testing\Plugin_DSP_LLE_Test.vcproj", "{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}"
+	ProjectSection(ProjectDependencies) = postProject
+		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6} = {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}
+		{C573CAF7-EE6A-458E-8049-16C0BF34C2E9} = {C573CAF7-EE6A-458E-8049-16C0BF34C2E9}
+	EndProjectSection
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Win32 = Debug|Win32
@@ -504,17 +510,27 @@ Global
 		{11F55366-12EC-4C44-A8CB-1D4E315D61ED}.Release|x64.Build.0 = Release|x64
 		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|Win32.ActiveCfg = Debug|Win32
 		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|Win32.Build.0 = Debug|Win32
-		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|x64.ActiveCfg = Debug|Win32
+		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|x64.ActiveCfg = Debug|x64
+		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|x64.Build.0 = Debug|x64
 		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|Win32.ActiveCfg = Debug|Win32
 		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|Win32.Build.0 = Debug|Win32
-		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|x64.ActiveCfg = Debug|Win32
+		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|x64.ActiveCfg = Debug|x64
+		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|x64.Build.0 = Debug|x64
 		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|Win32.ActiveCfg = Release|Win32
 		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|Win32.Build.0 = Release|Win32
-		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|x64.ActiveCfg = Release|Win32
+		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|x64.ActiveCfg = Release|x64
 		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|Win32.ActiveCfg = Release|Win32
 		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|Win32.Build.0 = Release|Win32
 		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|x64.ActiveCfg = Release|x64
 		{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|x64.Build.0 = Release|x64
+		{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Debug|Win32.ActiveCfg = Debug|Win32
+		{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Debug|x64.ActiveCfg = Debug|x64
+		{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.DebugFast|Win32.ActiveCfg = DebugFast|Win32
+		{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.DebugFast|x64.ActiveCfg = DebugFast|x64
+		{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release_JITIL|Win32.ActiveCfg = Release|Win32
+		{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release_JITIL|x64.ActiveCfg = Release|x64
+		{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release|Win32.ActiveCfg = Release|Win32
+		{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release|x64.ActiveCfg = Release|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/Source/Plugins/Plugin_DSP_HLE/Plugin_DSP_HLE.vcproj b/Source/Plugins/Plugin_DSP_HLE/Plugin_DSP_HLE.vcproj
index 902c0c6da9..9ec4ae029a 100644
--- a/Source/Plugins/Plugin_DSP_HLE/Plugin_DSP_HLE.vcproj
+++ b/Source/Plugins/Plugin_DSP_HLE/Plugin_DSP_HLE.vcproj
@@ -78,7 +78,7 @@
 				SubSystem="2"
 				RandomizedBaseAddress="1"
 				DataExecutionPrevention="0"
-				ImportLibrary="$(OutDir)/DSP_HLE.lib"
+				ImportLibrary="$(TargetDir)$(TargetName).lib"
 				TargetMachine="1"
 			/>
 			<Tool
@@ -163,7 +163,7 @@
 				SubSystem="2"
 				RandomizedBaseAddress="1"
 				DataExecutionPrevention="0"
-				ImportLibrary="$(OutDir)/DSP_HLE.lib"
+				ImportLibrary="$(TargetDir)$(TargetName).lib"
 				TargetMachine="17"
 			/>
 			<Tool
@@ -252,7 +252,7 @@
 				EnableCOMDATFolding="2"
 				RandomizedBaseAddress="1"
 				DataExecutionPrevention="0"
-				ImportLibrary="$(OutDir)/DSP_HLE.lib"
+				ImportLibrary="$(TargetDir)$(TargetName).lib"
 				TargetMachine="1"
 			/>
 			<Tool
@@ -341,7 +341,7 @@
 				EnableCOMDATFolding="2"
 				RandomizedBaseAddress="1"
 				DataExecutionPrevention="0"
-				ImportLibrary="$(OutDir)/DSP_HLE.lib"
+				ImportLibrary="$(TargetDir)$(TargetName).lib"
 				TargetMachine="17"
 			/>
 			<Tool
@@ -430,7 +430,7 @@
 				EnableCOMDATFolding="2"
 				RandomizedBaseAddress="1"
 				DataExecutionPrevention="0"
-				ImportLibrary="$(OutDir)/DSP_HLE.lib"
+				ImportLibrary="$(TargetDir)$(TargetName).lib"
 				TargetMachine="1"
 			/>
 			<Tool
@@ -519,7 +519,7 @@
 				EnableCOMDATFolding="2"
 				RandomizedBaseAddress="1"
 				DataExecutionPrevention="0"
-				ImportLibrary="$(OutDir)/DSP_HLE.lib"
+				ImportLibrary="$(TargetDir)$(TargetName).lib"
 				TargetMachine="17"
 			/>
 			<Tool
diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE.sln b/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.sln
similarity index 100%
rename from Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE.sln
rename to Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.sln
diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE.vcproj b/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.vcproj
similarity index 88%
rename from Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE.vcproj
rename to Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.vcproj
index afb77c8424..f52df5535a 100644
--- a/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE.vcproj
+++ b/Source/Plugins/Plugin_DSP_LLE-testing/Plugin_DSP_LLE_Test.vcproj
@@ -2,8 +2,8 @@
 <VisualStudioProject
 	ProjectType="Visual C++"
 	Version="9.00"
-	Name="Plugin_DSP_LLE-testing"
-	ProjectGUID="{C60D0E7A-ED05-4C67-9EE7-3A6C0D7801C8}"
+	Name="Plugin_DSP_LLE_Test"
+	ProjectGUID="{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}"
 	RootNamespace="Plugin_DSP_LLE"
 	Keyword="Win32Proj"
 	TargetFrameworkVersion="131072"
@@ -45,7 +45,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs"
+				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
@@ -69,8 +69,9 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
-				OutputFile="../../../Binary/Win32/Plugins/Plugin_DSP_LLED.dll"
+				OutputFile="../../../Binary/Win32/Plugins/$(ProjectName)D.dll"
 				LinkIncremental="2"
+				AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
 				GenerateManifest="false"
 				GenerateDebugInformation="true"
 				ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
@@ -130,7 +131,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs"
+				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0"
 				MinimalRebuild="false"
 				BasicRuntimeChecks="0"
@@ -154,8 +155,9 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
-				OutputFile="../../../Binary/x64/Plugins/Plugin_DSP_LLED.dll"
+				OutputFile="../../../Binary/x64/Plugins/$(ProjectName)D.dll"
 				LinkIncremental="2"
+				AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
 				GenerateManifest="false"
 				GenerateDebugInformation="true"
 				AssemblyDebug="1"
@@ -218,7 +220,7 @@
 				EnableIntrinsicFunctions="true"
 				FavorSizeOrSpeed="1"
 				OmitFramePointers="true"
-				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs"
+				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0"
 				RuntimeLibrary="0"
 				EnableEnhancedInstructionSet="2"
@@ -241,8 +243,9 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
-				OutputFile="../../../Binary/Win32/Plugins/Plugin_DSP_LLE.dll"
+				OutputFile="../../../Binary/Win32/Plugins/$(ProjectName).dll"
 				LinkIncremental="1"
+				AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
 				GenerateManifest="false"
 				GenerateDebugInformation="true"
 				ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
@@ -308,7 +311,7 @@
 				EnableIntrinsicFunctions="true"
 				FavorSizeOrSpeed="1"
 				OmitFramePointers="true"
-				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs"
+				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0"
 				RuntimeLibrary="0"
 				UsePrecompiledHeader="2"
@@ -330,8 +333,9 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
-				OutputFile="../../../Binary/x64/Plugins/Plugin_DSP_LLE.dll"
+				OutputFile="../../../Binary/x64/Plugins/$(ProjectName).dll"
 				LinkIncremental="1"
+				AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
 				GenerateManifest="false"
 				GenerateDebugInformation="true"
 				ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
@@ -395,7 +399,7 @@
 				EnableIntrinsicFunctions="true"
 				FavorSizeOrSpeed="1"
 				OmitFramePointers="true"
-				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs"
+				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;DEBUGFAST;_SECURE_SCL=0"
 				RuntimeLibrary="0"
 				EnableEnhancedInstructionSet="2"
@@ -418,8 +422,9 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
-				OutputFile="../../../Binary/Win32/Plugins/Plugin_DSP_LLEDF.dll"
+				OutputFile="../../../Binary/Win32/Plugins/$(ProjectName)DF.dll"
 				LinkIncremental="1"
+				AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
 				GenerateManifest="false"
 				GenerateDebugInformation="true"
 				ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
@@ -485,7 +490,7 @@
 				EnableIntrinsicFunctions="true"
 				FavorSizeOrSpeed="1"
 				OmitFramePointers="true"
-				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs"
+				AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;DEBUGFAST;_SECURE_SCL=0"
 				RuntimeLibrary="0"
 				UsePrecompiledHeader="2"
@@ -507,8 +512,9 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
-				OutputFile="../../../Binary/x64/Plugins/Plugin_DSP_LLEDF.dll"
+				OutputFile="../../../Binary/x64/Plugins/$(ProjectName)DF.dll"
 				LinkIncremental="1"
+				AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
 				GenerateManifest="false"
 				GenerateDebugInformation="true"
 				ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
@@ -727,18 +733,6 @@
 				>
 			</File>
 		</Filter>
-		<Filter
-			Name="PCHW"
-			>
-			<File
-				RelativePath=".\Src\Mixer.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Src\Mixer.h"
-				>
-			</File>
-		</Filter>
 		<Filter
 			Name="HLE"
 			>
@@ -771,6 +765,18 @@
 				>
 			</File>
 		</Filter>
+		<Filter
+			Name="PCHW"
+			>
+			<File
+				RelativePath=".\Src\Mixer.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\Src\Mixer.h"
+				>
+			</File>
+		</Filter>
 		<File
 			RelativePath=".\Src\Globals.cpp"
 			>