diff --git a/changelog.txt b/changelog.txt index c14fa0cc..c80b4e87 100644 --- a/changelog.txt +++ b/changelog.txt @@ -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 diff --git a/src/drivers/win/input.cpp b/src/drivers/win/input.cpp index 7ba33405..3461840a 100644 --- a/src/drivers/win/input.cpp +++ b/src/drivers/win/input.cpp @@ -1499,7 +1499,7 @@ void FCEUD_TurboToggle(void) } turbo = !turbo; - if (muteTurbo) + if (muteTurbo & !soundo) { if (turbo) TrashSound(); if (!turbo) InitSound(); diff --git a/src/drivers/win/sound.cpp b/src/drivers/win/sound.cpp index 79fb4a25..a4225897 100644 --- a/src/drivers/win/sound.cpp +++ b/src/drivers/win/sound.cpp @@ -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) diff --git a/src/drivers/win/sound.h b/src/drivers/win/sound.h index cf2bf37f..e5806aa7 100644 --- a/src/drivers/win/sound.h +++ b/src/drivers/win/sound.h @@ -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;