From a94126ddd0b35214357d230b927d00342e8b0fec Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Wed, 11 Jan 2023 20:13:56 +0200 Subject: [PATCH] Added continuous screenshot mode to GUI. --- od-win32/resources/resource.h | 1 + od-win32/resources/winuae.rc | 5 +++-- od-win32/win32gui.cpp | 28 ++++++++++++++++++---------- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/od-win32/resources/resource.h b/od-win32/resources/resource.h index d76f4cff..af9cde73 100644 --- a/od-win32/resources/resource.h +++ b/od-win32/resources/resource.h @@ -986,6 +986,7 @@ #define IDC_SCREENSHOT_PALETTED 1654 #define IDC_SOUNDSTEREO 1655 #define IDC_CONFIGTYPE 1655 +#define IDC_SCREENSHOT_AUTO 1655 #define IDC_SOUNDDRIVETXT 1656 #define IDC_PATHS_ROM 1656 #define IDC_SOUNDSTEREOSEP 1656 diff --git a/od-win32/resources/winuae.rc b/od-win32/resources/winuae.rc index 4eabe042..30494983 100644 --- a/od-win32/resources/winuae.rc +++ b/od-win32/resources/winuae.rc @@ -892,9 +892,10 @@ BEGIN COMBOBOX IDC_STATEREC_RATE,141,278,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP RTEXT "Recording buffers:",IDC_STATIC,195,280,91,10,SS_CENTERIMAGE | WS_TABSTOP COMBOBOX IDC_STATEREC_BUFFERSIZE,291,278,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP - CONTROL "Autoclip screenshot",IDC_SCREENSHOT_CLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,276,192,97,10 + CONTROL "Autoclip screenshot",IDC_SCREENSHOT_CLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,192,169,10 CONTROL "Create 256 color palette indexed screenshot if possible",IDC_SCREENSHOT_PALETTED, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,206,231,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,206,193,10 + CONTROL "Continuous screenshots",IDC_SCREENSHOT_AUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,206,169,10 END IDD_INPUT DIALOGEX 0, 0, 396, 316 diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index e7e2beda..046f14df 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -20857,19 +20857,20 @@ static void values_to_avioutputdlg (HWND hDlg) { updatewinfsmode(0, &workprefs); - SetDlgItemText (hDlg, IDC_AVIOUTPUT_FILETEXT, avioutput_filename_gui); - CheckDlgButton (hDlg, IDC_AVIOUTPUT_FRAMELIMITER, avioutput_framelimiter ? FALSE : TRUE); - CheckDlgButton (hDlg, IDC_AVIOUTPUT_NOSOUNDOUTPUT, avioutput_nosoundoutput ? TRUE : FALSE); - CheckDlgButton (hDlg, IDC_AVIOUTPUT_NOSOUNDSYNC, avioutput_nosoundsync ? TRUE : FALSE); - CheckDlgButton (hDlg, IDC_AVIOUTPUT_ORIGINALSIZE, avioutput_originalsize ? TRUE : FALSE); - CheckDlgButton (hDlg, IDC_AVIOUTPUT_ACTIVATED, avioutput_requested ? BST_CHECKED : BST_UNCHECKED); + SetDlgItemText(hDlg, IDC_AVIOUTPUT_FILETEXT, avioutput_filename_gui); + CheckDlgButton(hDlg, IDC_AVIOUTPUT_FRAMELIMITER, avioutput_framelimiter ? FALSE : TRUE); + CheckDlgButton(hDlg, IDC_AVIOUTPUT_NOSOUNDOUTPUT, avioutput_nosoundoutput ? TRUE : FALSE); + CheckDlgButton(hDlg, IDC_AVIOUTPUT_NOSOUNDSYNC, avioutput_nosoundsync ? TRUE : FALSE); + CheckDlgButton(hDlg, IDC_AVIOUTPUT_ORIGINALSIZE, avioutput_originalsize ? TRUE : FALSE); + CheckDlgButton(hDlg, IDC_AVIOUTPUT_ACTIVATED, avioutput_requested ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg, IDC_SCREENSHOT_ORIGINALSIZE, screenshot_originalsize ? TRUE : FALSE); CheckDlgButton(hDlg, IDC_SCREENSHOT_PALETTED, screenshot_paletteindexed ? TRUE : FALSE); CheckDlgButton(hDlg, IDC_SCREENSHOT_CLIP, screenshot_clipmode ? TRUE : FALSE); - CheckDlgButton (hDlg, IDC_SAMPLERIPPER_ACTIVATED, sampleripper_enabled ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton (hDlg, IDC_STATEREC_RECORD, input_record ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton (hDlg, IDC_STATEREC_PLAY, input_play ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton (hDlg, IDC_STATEREC_AUTOPLAY, workprefs.inprec_autoplay ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hDlg, IDC_SCREENSHOT_AUTO, screenshot_multi != 0 ? TRUE : FALSE); + CheckDlgButton(hDlg, IDC_SAMPLERIPPER_ACTIVATED, sampleripper_enabled ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hDlg, IDC_STATEREC_RECORD, input_record ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hDlg, IDC_STATEREC_PLAY, input_play ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hDlg, IDC_STATEREC_AUTOPLAY, workprefs.inprec_autoplay ? BST_CHECKED : BST_UNCHECKED); } static void values_from_avioutputdlg (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) @@ -21089,6 +21090,13 @@ static INT_PTR CALLBACK AVIOutputDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LP regsetint(NULL, _T("Screenshot_ClipMode"), screenshot_clipmode); screenshot_reset(); break; + case IDC_SCREENSHOT_AUTO: + screenshot_multi = ischecked(hDlg, IDC_SCREENSHOT_AUTO) ? -1 : 0; + screenshot_reset(); + if (screenshot_multi) { + screenshot(-1, 3, 0); + } + break; case IDC_STATEREC_SAVE: if (input_record > INPREC_RECORD_NORMAL) { if (DiskSelection (hDlg, wParam, 16, &workprefs, NULL, NULL)) { -- 2.47.3