Win32 - Fix bug where no sound + mute turbo caused chirps when toggling turbo. Disabling sound disables sound options.

This commit is contained in:
adelikat 2008-12-08 17:52:06 +00:00
parent 6554177813
commit 4c49d50590
4 changed files with 29 additions and 2 deletions

View File

@ -1,4 +1,6 @@
---version 2.0.4 yet to be released---
08-dec-2008 - adelikat - win32 - fix bug where no sound + mute turbo caused chirps when toggling
08-dec-2008 - adelikat - win32 - sound dialog - disabling sound disabled sound options
08-dec-2008 - adelikat - win32 - opening a rom runs closerom first, fixes bug where new sav file was not getting loaded
07-dec-2008 - adelikat - win32 - turbo now employs frame skip
30-nov-2008 - punkrockguy - commit 1000

View File

@ -1499,7 +1499,7 @@ void FCEUD_TurboToggle(void)
}
turbo = !turbo;
if (muteTurbo)
if (muteTurbo & !soundo)
{
if (turbo) TrashSound();
if (!turbo) InitSound();

View File

@ -394,7 +394,6 @@ static void UpdateSD(HWND hwndDlg)
CheckDlgButton(hwndDlg,CHECK_SOUND_GLOBAL_FOCUS,(soundoptions&SO_GFOCUS)?BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hwndDlg,CHECK_SOUND_MUTEFA,(soundoptions&SO_MUTEFA)?BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hwndDlg,CHECK_SOUND_MUTETURBO,(muteTurbo)?BST_CHECKED:BST_UNCHECKED);
// The option formerly flagged by SO_OLDUP can no longer be enabled.
// CheckDlgButton(hwndDlg,131,(soundoptions&SO_OLDUP)?BST_CHECKED:BST_UNCHECKED);
SendDlgItemMessage(hwndDlg,COMBO_SOUND_QUALITY,CB_SETCURSEL,soundquality,(LPARAM)(LPSTR)0);
@ -404,6 +403,31 @@ static void UpdateSD(HWND hwndDlg)
else if(soundrate==48000) t=3;
else if(soundrate==96000) t=4;
SendDlgItemMessage(hwndDlg,COMBO_SOUND_RATE,CB_SETCURSEL,t,(LPARAM)(LPSTR)0);
if (!soundo)
{
EnableWindow(GetDlgItem(hwndDlg,CHECK_SOUND_MUTETURBO),FALSE);
EnableWindow(GetDlgItem(hwndDlg,CHECK_SOUND_MUTEFA),FALSE);
EnableWindow(GetDlgItem(hwndDlg,CHECK_SOUND_8BIT),FALSE);
EnableWindow(GetDlgItem(hwndDlg,COMBO_SOUND_QUALITY),FALSE);
EnableWindow(GetDlgItem(hwndDlg,COMBO_SOUND_RATE),FALSE);
EnableWindow(GetDlgItem(hwndDlg,CTL_LATENCY_TRACKBAR),FALSE);
EnableWindow(GetDlgItem(hwndDlg,CTL_VOLUME_TRACKBAR),FALSE);
EnableWindow(GetDlgItem(hwndDlg,124),FALSE);
}
else
{
EnableWindow(GetDlgItem(hwndDlg,CHECK_SOUND_MUTETURBO),TRUE);
EnableWindow(GetDlgItem(hwndDlg,CHECK_SOUND_MUTEFA),TRUE);
EnableWindow(GetDlgItem(hwndDlg,CHECK_SOUND_8BIT),TRUE);
EnableWindow(GetDlgItem(hwndDlg,COMBO_SOUND_QUALITY),TRUE);
EnableWindow(GetDlgItem(hwndDlg,COMBO_SOUND_RATE),TRUE);
EnableWindow(GetDlgItem(hwndDlg,CTL_LATENCY_TRACKBAR),TRUE);
EnableWindow(GetDlgItem(hwndDlg,CTL_VOLUME_TRACKBAR),TRUE);
EnableWindow(GetDlgItem(hwndDlg,124),TRUE);
}
}
BOOL CALLBACK SoundConCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)

View File

@ -7,3 +7,4 @@ void win_SoundSetScale(int scale);
void win_SoundWriteData(int32 *buffer, int count);
void win_Throttle();
extern bool muteTurbo;
extern int soundo;