diff --git a/bin/lang/Chinese_Simplified.json b/bin/lang/Chinese_Simplified.json index 5725305..4c7a5dc 100644 --- a/bin/lang/Chinese_Simplified.json +++ b/bin/lang/Chinese_Simplified.json @@ -18,6 +18,7 @@ "IDC_RADIO_MODE_NOISE":"仅降噪", "IDC_RADIO_AUTO_SCALE":"自动降噪和放大", "IDC_STATIC_JPEG_NOISE_LEVEL":"降噪等级", +"IDC_RADIONOISE_LEVEL0":"0 级", "IDC_RADIONOISE_LEVEL1":"1 级", "IDC_RADIONOISE_LEVEL2":"2 级", "IDC_RADIONOISE_LEVEL3":"3 级", diff --git a/bin/lang/Chinese_Traditional.json b/bin/lang/Chinese_Traditional.json index b00fe73..4776e92 100644 --- a/bin/lang/Chinese_Traditional.json +++ b/bin/lang/Chinese_Traditional.json @@ -18,6 +18,7 @@ "IDC_RADIO_MODE_NOISE":"降噪", "IDC_RADIO_AUTO_SCALE":"自動降噪和放大", "IDC_STATIC_JPEG_NOISE_LEVEL":"降噪水平", +"IDC_RADIONOISE_LEVEL0":"等級0", "IDC_RADIONOISE_LEVEL1":"等級1", "IDC_RADIONOISE_LEVEL2":"等級2", "IDC_RADIONOISE_LEVEL3":"等級3", diff --git a/bin/lang/english.json b/bin/lang/english.json index b0a83c7..613d662 100644 --- a/bin/lang/english.json +++ b/bin/lang/english.json @@ -18,6 +18,7 @@ "IDC_RADIO_MODE_NOISE":"Denoise only", "IDC_RADIO_AUTO_SCALE":"Magnify && Auto Denoise", "IDC_STATIC_JPEG_NOISE_LEVEL":"Denoise level", +"IDC_RADIONOISE_LEVEL1":"Level 0", "IDC_RADIONOISE_LEVEL1":"Level 1", "IDC_RADIONOISE_LEVEL2":"Level 2", "IDC_RADIONOISE_LEVEL3":"Level 3", diff --git a/bin/lang/japanese.json b/bin/lang/japanese.json index 7ccecc8..5510065 100644 --- a/bin/lang/japanese.json +++ b/bin/lang/japanese.json @@ -18,6 +18,7 @@ "IDC_RADIO_MODE_NOISE":"ノイズ除去", "IDC_RADIO_AUTO_SCALE":"ノイズ除去(自動判別)と拡大", "IDC_STATIC_JPEG_NOISE_LEVEL":"ノイズ除去レベル", +"IDC_RADIONOISE_LEVEL0":"レベル0", "IDC_RADIONOISE_LEVEL1":"レベル1", "IDC_RADIONOISE_LEVEL2":"レベル2", "IDC_RADIONOISE_LEVEL3":"レベル3", diff --git a/bin/lang/korean.json b/bin/lang/korean.json index 4ef3708..8914964 100644 --- a/bin/lang/korean.json +++ b/bin/lang/korean.json @@ -1,4 +1,4 @@ -{ +{ "IDC_STATIC_IO_SETTING":"입출력 설정", "IDC_STATIC_INPUT_PATH":"입력 경로\r\n(파일 및 폴더)", "IDC_BUTTON_INPUT_REF":"찾기", @@ -18,6 +18,7 @@ "IDC_RADIO_MODE_NOISE":"노이즈 제거", "IDC_RADIO_AUTO_SCALE":"자동 노이즈 제거 && 확대", "IDC_STATIC_JPEG_NOISE_LEVEL":"노이즈 제거 단계", +"IDC_RADIONOISE_LEVEL0":"0단계", "IDC_RADIONOISE_LEVEL1":"1단계", "IDC_RADIONOISE_LEVEL2":"2단계", "IDC_RADIONOISE_LEVEL3":"3단계", diff --git a/bin/lang/turkish.json b/bin/lang/turkish.json index 157fb49..9e0ab2f 100644 --- a/bin/lang/turkish.json +++ b/bin/lang/turkish.json @@ -18,6 +18,7 @@ "IDC_RADIO_MODE_NOISE":"Sadece gürültüsüzleştir", "IDC_RADIO_AUTO_SCALE":"Büyüt ve Oto-Gürültüsüzleştir", "IDC_STATIC_JPEG_NOISE_LEVEL":"gürültüsüzleştirme düzeyi", +"IDC_RADIONOISE_LEVEL0":"Seviye 0", "IDC_RADIONOISE_LEVEL1":"Seviye 1", "IDC_RADIONOISE_LEVEL2":"Seviye 2", "IDC_RADIONOISE_LEVEL3":"Seviye 3", diff --git a/waifu2x-caffe-gui/MainDialog.cpp b/waifu2x-caffe-gui/MainDialog.cpp index 04691a0..5e6a17f 100644 --- a/waifu2x-caffe-gui/MainDialog.cpp +++ b/waifu2x-caffe-gui/MainDialog.cpp @@ -223,7 +223,9 @@ bool DialogEvent::SyncMember(const bool NotSyncCropSize, const bool silent) modeStr = "auto_scale"; } - if (SendMessage(GetDlgItem(dh, IDC_RADIONOISE_LEVEL1), BM_GETCHECK, 0, 0)) + if (SendMessage(GetDlgItem(dh, IDC_RADIONOISE_LEVEL0), BM_GETCHECK, 0, 0)) + noise_level = 0; + else if (SendMessage(GetDlgItem(dh, IDC_RADIONOISE_LEVEL1), BM_GETCHECK, 0, 0)) noise_level = 1; else if (SendMessage(GetDlgItem(dh, IDC_RADIONOISE_LEVEL2), BM_GETCHECK, 0, 0)) noise_level = 2; @@ -1224,7 +1226,7 @@ UINT_PTR DialogEvent::OFNHookProcOut(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARA return 0L; } -DialogEvent::DialogEvent() : mode(Waifu2x::eWaifu2xModelTypeNoiseScale), modeStr("noise_scale"), noise_level(1), scale_ratio(2.0), scale_width(0), scale_height(0), model_dir(TEXT("models/anime_style_art_rgb")), +DialogEvent::DialogEvent() : mode(Waifu2x::eWaifu2xModelTypeNoiseScale), modeStr("noise_scale"), noise_level(0), scale_ratio(2.0), scale_width(0), scale_height(0), model_dir(TEXT("models/anime_style_art_rgb")), process("gpu"), outputExt(TEXT(".png")), inputFileExt(TEXT("png:jpg:jpeg:tif:tiff:bmp:tga")), use_tta(false), output_depth(8), crop_size(128), batch_size(1), gpu_no(0), isLastError(false), scaleType(eScaleTypeEnd), TimeLeftThread(-1), TimeLeftGetTimeThread(0), isCommandLineStart(false), tAutoMode(TEXT("none")), @@ -1471,6 +1473,7 @@ void DialogEvent::SetWindowTextLang() SET_WINDOW_TEXT(IDC_RADIO_MODE_NOISE); SET_WINDOW_TEXT(IDC_RADIO_AUTO_SCALE); SET_WINDOW_TEXT(IDC_STATIC_JPEG_NOISE_LEVEL); + SET_WINDOW_TEXT(IDC_RADIONOISE_LEVEL0); SET_WINDOW_TEXT(IDC_RADIONOISE_LEVEL1); SET_WINDOW_TEXT(IDC_RADIONOISE_LEVEL2); SET_WINDOW_TEXT(IDC_RADIONOISE_LEVEL3); @@ -1752,7 +1755,7 @@ void DialogEvent::Create(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData) tmp[_countof(tmp) - 1] = TEXT('\0'); tmode = tmp; - noise_level = GetPrivateProfileInt(TEXT("Setting"), TEXT("LastNoiseLevel"), 1, getTString(SettingFilePath).c_str()); + noise_level = GetPrivateProfileInt(TEXT("Setting"), TEXT("LastNoiseLevel"), 0, getTString(SettingFilePath).c_str()); GetPrivateProfileString(TEXT("Setting"), TEXT("LastProcess"), TEXT("gpu"), tmp, _countof(tmp), getTString(SettingFilePath).c_str()); tmp[_countof(tmp) - 1] = TEXT('\0'); @@ -1804,8 +1807,8 @@ void DialogEvent::Create(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData) if (outputExt.length() > 0 && outputExt[0] != TEXT('.')) outputExt = L"." + outputExt; - if (!(1 <= noise_level && noise_level <= 3)) - noise_level = 1; + if (!(0 <= noise_level && noise_level <= 3)) + noise_level = 0; if (tprcess == TEXT("gpu")) process = "gpu"; @@ -1846,20 +1849,30 @@ void DialogEvent::Create(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData) EnableWindow(GetDlgItem(dh, IDC_EDIT_SCALE_HEIGHT), TRUE); } - if (noise_level == 1) + if (noise_level == 0) { + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL0), BM_SETCHECK, BST_CHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_UNCHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_UNCHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL3), BM_SETCHECK, BST_UNCHECKED, 0); + } + else if (noise_level == 1) + { + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL0), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_CHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL3), BM_SETCHECK, BST_UNCHECKED, 0); } else if (noise_level == 2) { + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL0), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_CHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL3), BM_SETCHECK, BST_UNCHECKED, 0); } else { + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL0), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL3), BM_SETCHECK, BST_CHECKED, 0); @@ -1886,6 +1899,7 @@ void DialogEvent::Create(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData) SendMessage(GetDlgItem(hWnd, IDC_RADIO_MODE_NOISE), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIO_AUTO_SCALE), BM_SETCHECK, BST_UNCHECKED, 0); + EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL0), FALSE); EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL1), FALSE); EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL2), FALSE); EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL3), FALSE); @@ -2006,7 +2020,7 @@ void DialogEvent::Create(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData) cmdNRLConstraintV.push_back(3); TCLAP::ValuesConstraint cmdNRLConstraint(cmdNRLConstraintV); TCLAP::ValueArg cmdNRLevel(L"n", L"noise_level", L"noise reduction level", - false, 1, &cmdNRLConstraint, cmd); + false, 0, &cmdNRLConstraint, cmd); TCLAP::ValueArg cmdScaleRatio(L"s", L"scale_ratio", L"custom scale ratio", false, 2.0, L"double", cmd); @@ -2151,20 +2165,30 @@ void DialogEvent::Create(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData) { const auto noise_level = cmdNRLevel.getValue(); - if (noise_level == 1) + if (noise_level == 0) { + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL0), BM_SETCHECK, BST_CHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_UNCHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_UNCHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL3), BM_SETCHECK, BST_UNCHECKED, 0); + } + else if (noise_level == 1) + { + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL0), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_CHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL3), BM_SETCHECK, BST_UNCHECKED, 0); } else if (noise_level == 2) { + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL0), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_CHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL3), BM_SETCHECK, BST_UNCHECKED, 0); } else { + SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL0), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL1), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL2), BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(GetDlgItem(hWnd, IDC_RADIONOISE_LEVEL3), BM_SETCHECK, BST_CHECKED, 0); @@ -2391,12 +2415,14 @@ void DialogEvent::OnModeChange(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID l if (isNoise) { + EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL0), TRUE); EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL1), TRUE); EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL2), TRUE); EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL3), TRUE); } else { + EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL0), FALSE); EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL1), FALSE); EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL2), FALSE); EnableWindow(GetDlgItem(dh, IDC_RADIONOISE_LEVEL3), FALSE); diff --git a/waifu2x-caffe-gui/Resource.rc b/waifu2x-caffe-gui/Resource.rc index 9930bc9..9532b79 100644 Binary files a/waifu2x-caffe-gui/Resource.rc and b/waifu2x-caffe-gui/Resource.rc differ diff --git a/waifu2x-caffe-gui/resource.h b/waifu2x-caffe-gui/resource.h index 8c5518e..c121d13 100644 Binary files a/waifu2x-caffe-gui/resource.h and b/waifu2x-caffe-gui/resource.h differ