mirror of https://github.com/snes9xgit/snes9x.git
win32: disable sound sync when speed is not set to 100%
This commit is contained in:
parent
e2f764fc0c
commit
aad3f375db
|
@ -264,6 +264,7 @@ extern SNPServer NPServer;
|
||||||
|
|
||||||
__int64 PCBase, PCFrameTime, PCFrameTimeNTSC, PCFrameTimePAL, PCStart, PCEnd;
|
__int64 PCBase, PCFrameTime, PCFrameTimeNTSC, PCFrameTimePAL, PCStart, PCEnd;
|
||||||
DWORD PCStartTicks, PCEndTicks;
|
DWORD PCStartTicks, PCEndTicks;
|
||||||
|
bool PCFrameTimeIsDefault = true;
|
||||||
|
|
||||||
INT_PTR CALLBACK DlgSoundConf(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
INT_PTR CALLBACK DlgSoundConf(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||||
INT_PTR CALLBACK DlgInfoProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
INT_PTR CALLBACK DlgInfoProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||||
|
@ -274,7 +275,6 @@ INT_PTR CALLBACK DlgOpenROMProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lPara
|
||||||
INT_PTR CALLBACK DlgMultiROMProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
INT_PTR CALLBACK DlgMultiROMProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||||
LRESULT CALLBACK DlgChildSplitProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
LRESULT CALLBACK DlgChildSplitProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||||
INT_PTR CALLBACK DlgNPProgress(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
INT_PTR CALLBACK DlgNPProgress(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||||
INT_PTR CALLBACK DlgPackConfigProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
||||||
INT_PTR CALLBACK DlgNetConnect(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
INT_PTR CALLBACK DlgNetConnect(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||||
INT_PTR CALLBACK DlgNPOptions(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
INT_PTR CALLBACK DlgNPOptions(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||||
INT_PTR CALLBACK DlgFunky(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
INT_PTR CALLBACK DlgFunky(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||||
|
@ -3579,7 +3579,8 @@ int WINAPI WinMain(
|
||||||
{
|
{
|
||||||
ProcessInput();
|
ProcessInput();
|
||||||
|
|
||||||
while(!S9xSyncSound()) {
|
// no sound sync when speed is not set to 100%
|
||||||
|
while(PCFrameTimeIsDefault && !S9xSyncSound()) {
|
||||||
ResetEvent(GUI.SoundSyncEvent);
|
ResetEvent(GUI.SoundSyncEvent);
|
||||||
if(WaitForSingleObject(GUI.SoundSyncEvent,1000) != WAIT_OBJECT_0)
|
if(WaitForSingleObject(GUI.SoundSyncEvent,1000) != WAIT_OBJECT_0)
|
||||||
S9xClearSamples();
|
S9xClearSamples();
|
||||||
|
@ -4041,6 +4042,8 @@ static void ResetFrameTimer ()
|
||||||
else if (Settings.FrameTime == Settings.FrameTimePAL) PCFrameTime = PCFrameTimePAL;
|
else if (Settings.FrameTime == Settings.FrameTimePAL) PCFrameTime = PCFrameTimePAL;
|
||||||
else PCFrameTime = (__int64)((double)(PCBase * Settings.FrameTime) * .000001);
|
else PCFrameTime = (__int64)((double)(PCBase * Settings.FrameTime) * .000001);
|
||||||
|
|
||||||
|
// determines if we can do sound sync
|
||||||
|
PCFrameTimeIsDefault = Settings.PAL ? Settings.FrameTime == Settings.FrameTimePAL : Settings.FrameTime == Settings.FrameTimeNTSC;
|
||||||
|
|
||||||
if (GUI.hFrameTimer)
|
if (GUI.hFrameTimer)
|
||||||
timeKillEvent (GUI.hFrameTimer);
|
timeKillEvent (GUI.hFrameTimer);
|
||||||
|
|
Loading…
Reference in New Issue