From 60c9f81259310a8738d20110f3c6104a047fd082 Mon Sep 17 00:00:00 2001 From: Lorenzooone Date: Tue, 9 Dec 2025 00:13:39 +0100 Subject: [PATCH] Version bump - Change settings reset timeout to 10 seconds --- README.md | 6 +++--- include/frontend.hpp | 2 +- source/conversions.cpp | 38 +++++++++++++++++++------------------- source/utils.cpp | 4 ++++ 4 files changed, 27 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 1ba2804..5a6aaa4 100755 --- a/README.md +++ b/README.md @@ -86,16 +86,16 @@ The software has a GUI which exposes all of the available settings. There are al Most of the settings are explained in [Keyboard shortcuts](#Keyboard-shortcuts). ### Keyboard controls -- __Enter key__: Used to open the GUI when it is not shown, as well as to confirm the selection of an option. Holding it for 30 seconds will reset the application to its defaults. +- __Enter key__: Used to open the GUI when it is not shown, as well as to confirm the selection of an option. Holding it for 10 seconds will reset the application to its defaults. - __Arrow keys__: Used to change the selected option in the GUI. ### Mouse controls -- __Right click__: Used to open the GUI when it is not shown. Holding it for 30 seconds will reset the application to its defaults. +- __Right click__: Used to open the GUI when it is not shown. Holding it for 10 seconds will reset the application to its defaults. - __Left click__: Used to confirm the selection of an option. ### Joystick controls - __Option/Share buttons__: Used to open the GUI when it is not shown. -- __A/B/X/Y buttons__: Used to confirm the selection of an option. Holding B (X on a PS5 controller) for 30 seconds will reset the application to its defaults. +- __A/B/X/Y buttons__: Used to confirm the selection of an option. Holding B (X on a PS5 controller) for 10 seconds will reset the application to its defaults. - __Dpad/Sitcks__: Used to change the selected option in the GUI. _Note: Currently only tested using a PS5 controller._ diff --git a/include/frontend.hpp b/include/frontend.hpp index 5622b3f..f020515 100755 --- a/include/frontend.hpp +++ b/include/frontend.hpp @@ -164,7 +164,7 @@ private: const float touch_long_press_timer = 1.5f; const float mouse_timeout = 5.0f; const float v_sync_timeout = 5.0f; - const float bad_resolution_timeout = 30.0f; + const float bad_resolution_timeout = 10.0f; const float menu_change_timeout = 0.3f; const float input_data_format_change_timeout = 1.0f; diff --git a/source/conversions.cpp b/source/conversions.cpp index 15a9906..9ab9653 100755 --- a/source/conversions.cpp +++ b/source/conversions.cpp @@ -77,7 +77,7 @@ static inline void memcpy_data_u16le_origin(uint16_t* dst, uint8_t* src, size_t dst[i] = (src[(i * 2) + 1] << 8) | src[i * 2]; } -static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptLE(deinterleaved_rgb565_pixels* out_ptr_top, deinterleaved_rgb565_pixels* out_ptr_bottom, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, int input_halfline, int output_halfline, int multiplier_top = 1) { +static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptLE(deinterleaved_rgb565_pixels* out_ptr_top, deinterleaved_rgb565_pixels* out_ptr_bottom, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, size_t input_halfline, size_t output_halfline, int multiplier_top = 1) { //de-interleave pixels const int bottom_pos = 0; const int top_pos = 1; @@ -93,7 +93,7 @@ static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptLE(deinterle } } -static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptLEMonoTop(deinterleaved_rgb565_pixels* out_ptr_top, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, int input_halfline, int output_halfline, int multiplier_top = 1) { +static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptLEMonoTop(deinterleaved_rgb565_pixels* out_ptr_top, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, size_t input_halfline, size_t output_halfline, int multiplier_top = 1) { //de-interleave pixels const int top_pos = 1; const size_t real_num_iters = num_iters / INTERLEAVED_RGB565_PIXEL_NUM; @@ -105,7 +105,7 @@ static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptLEMonoTop(de } } -static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptLEMonoBottom(deinterleaved_rgb565_pixels* out_ptr_bottom, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, int input_halfline, int output_halfline) { +static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptLEMonoBottom(deinterleaved_rgb565_pixels* out_ptr_bottom, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, size_t input_halfline, size_t output_halfline) { //de-interleave pixels const int bottom_pos = 0; const size_t real_num_iters = num_iters / INTERLEAVED_RGB565_PIXEL_NUM; @@ -117,7 +117,7 @@ static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptLEMonoBottom } } -static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptBE(deinterleaved_rgb565_pixels* out_ptr_top, deinterleaved_rgb565_pixels* out_ptr_bottom, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, int input_halfline, int output_halfline, int multiplier_top = 1) { +static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptBE(deinterleaved_rgb565_pixels* out_ptr_top, deinterleaved_rgb565_pixels* out_ptr_bottom, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, size_t input_halfline, size_t output_halfline, int multiplier_top = 1) { //de-interleave pixels const int bottom_pos = 0; const int top_pos = 1; @@ -133,7 +133,7 @@ static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptBE(deinterle } } -static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptBEMonoTop(deinterleaved_rgb565_pixels* out_ptr_top, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, int input_halfline, int output_halfline, int multiplier_top = 1) { +static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptBEMonoTop(deinterleaved_rgb565_pixels* out_ptr_top, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, size_t input_halfline, size_t output_halfline, int multiplier_top = 1) { //de-interleave pixels const int top_pos = 1; const size_t real_num_iters = num_iters / INTERLEAVED_RGB565_PIXEL_NUM; @@ -145,7 +145,7 @@ static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptBEMonoTop(de } } -static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptBEMonoBottom(deinterleaved_rgb565_pixels* out_ptr_bottom, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, int input_halfline, int output_halfline) { +static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptBEMonoBottom(deinterleaved_rgb565_pixels* out_ptr_bottom, interleaved_rgb565_pixels* in_ptr, uint32_t num_iters, size_t input_halfline, size_t output_halfline) { //de-interleave pixels const int bottom_pos = 0; const size_t real_num_iters = num_iters / INTERLEAVED_RGB565_PIXEL_NUM; @@ -157,7 +157,7 @@ static inline void usb_rgb565convertInterleaveVideoToOutputDirectOptBEMonoBottom } } -static inline void usb_rgb888convertInterleaveU16VideoToOutputDirectOpt(deinterleaved_rgb888_u16_pixels* out_ptr_top, deinterleaved_rgb888_u16_pixels* out_ptr_bottom, interleaved_rgb888_u16_pixels* in_ptr, uint32_t num_iters, int input_halfline, int output_halfline) { +static inline void usb_rgb888convertInterleaveU16VideoToOutputDirectOpt(deinterleaved_rgb888_u16_pixels* out_ptr_top, deinterleaved_rgb888_u16_pixels* out_ptr_bottom, interleaved_rgb888_u16_pixels* in_ptr, uint32_t num_iters, size_t input_halfline, size_t output_halfline) { //de-interleave pixels const int bottom_pos = 0; const int top_pos = 1; @@ -172,7 +172,7 @@ static inline void usb_rgb888convertInterleaveU16VideoToOutputDirectOpt(deinterl } } -static inline void usb_rgb888convertInterleaveU16VideoToOutputDirectOptMonoTop(deinterleaved_rgb888_u16_pixels* out_ptr_top, interleaved_rgb888_u16_pixels* in_ptr, uint32_t num_iters, int input_halfline, int output_halfline) { +static inline void usb_rgb888convertInterleaveU16VideoToOutputDirectOptMonoTop(deinterleaved_rgb888_u16_pixels* out_ptr_top, interleaved_rgb888_u16_pixels* in_ptr, uint32_t num_iters, size_t input_halfline, size_t output_halfline) { //de-interleave pixels const int top_pos = 1; const size_t real_num_iters = num_iters / INTERLEAVED_RGB888_PIXEL_NUM; @@ -184,7 +184,7 @@ static inline void usb_rgb888convertInterleaveU16VideoToOutputDirectOptMonoTop(d } } -static inline void usb_rgb888convertInterleaveU16VideoToOutputDirectOptMonoBottom(deinterleaved_rgb888_u16_pixels* out_ptr_bottom, interleaved_rgb888_u16_pixels* in_ptr, uint32_t num_iters, int input_halfline, int output_halfline) { +static inline void usb_rgb888convertInterleaveU16VideoToOutputDirectOptMonoBottom(deinterleaved_rgb888_u16_pixels* out_ptr_bottom, interleaved_rgb888_u16_pixels* in_ptr, uint32_t num_iters, size_t input_halfline, size_t output_halfline) { //de-interleave pixels const int bottom_pos = 0; const size_t real_num_iters = num_iters / INTERLEAVED_RGB888_PIXEL_NUM; @@ -266,7 +266,7 @@ static void ftd3_convertVideoToOutput(CaptureReceived *p_in, VideoOutputData *p_ } } -static inline void usb_oldDSconvertVideoToOutputHalfLineDirectOptLE(USBOldDSCaptureReceived *p_in, VideoOutputData *p_out, int input_halfline, int output_halfline) { +static inline void usb_oldDSconvertVideoToOutputHalfLineDirectOptLE(USBOldDSCaptureReceived *p_in, VideoOutputData *p_out, size_t input_halfline, size_t output_halfline) { //de-interleave pixels const int pixels_size = sizeof(VideoPixelBGR16); const int num_halflines = 2; @@ -278,7 +278,7 @@ static inline void usb_oldDSconvertVideoToOutputHalfLineDirectOptLE(USBOldDSCapt usb_rgb565convertInterleaveVideoToOutputDirectOptLE(out_ptr_top, out_ptr_bottom, in_ptr, halfline_iters, input_halfline, output_halfline); } -static inline void usb_oldDSconvertVideoToOutputHalfLineDirectOptBE(USBOldDSCaptureReceived *p_in, VideoOutputData *p_out, int input_halfline, int output_halfline) { +static inline void usb_oldDSconvertVideoToOutputHalfLineDirectOptBE(USBOldDSCaptureReceived *p_in, VideoOutputData *p_out, size_t input_halfline, size_t output_halfline) { //de-interleave pixels const int pixels_size = sizeof(VideoPixelBGR16); const int num_halflines = 2; @@ -604,13 +604,13 @@ static void usb_oldDSconvertVideoToOutput(USBOldDSCaptureReceived *p_in, VideoOu memset(p_out->bgr16_video_output_data.screen_data, 0, WIDTH_DS * sizeof(uint16_t)); if(!is_big_endian) { - int input_halfline = 0; - for(int i = 0; i < 2; i++) { + size_t input_halfline = 0; + for(size_t i = 0; i < 2; i++) { if(p_in->frameinfo.half_line_flags[(i >> 3)] & (1 << (i & 7))) usb_oldDSconvertVideoToOutputHalfLineDirectOptLE(p_in, p_out, input_halfline++, i); } - for(int i = 2; i < HEIGHT_DS * 2; i++) { + for(size_t i = 2; i < HEIGHT_DS * 2; i++) { if(p_in->frameinfo.half_line_flags[(i >> 3)] & (1 << (i & 7))) usb_oldDSconvertVideoToOutputHalfLineDirectOptLE(p_in, p_out, input_halfline++, i); else { // deal with missing half-line @@ -622,13 +622,13 @@ static void usb_oldDSconvertVideoToOutput(USBOldDSCaptureReceived *p_in, VideoOu } } else { - int input_halfline = 0; - for(int i = 0; i < 2; i++) { + size_t input_halfline = 0; + for(size_t i = 0; i < 2; i++) { if(p_in->frameinfo.half_line_flags[(i >> 3)] & (1 << (i & 7))) usb_oldDSconvertVideoToOutputHalfLineDirectOptBE(p_in, p_out, input_halfline++, i); } - for(int i = 2; i < HEIGHT_DS * 2; i++) { + for(size_t i = 2; i < HEIGHT_DS * 2; i++) { if(p_in->frameinfo.half_line_flags[(i >> 3)] & (1 << (i & 7))) usb_oldDSconvertVideoToOutputHalfLineDirectOptBE(p_in, p_out, input_halfline++, i); else { // deal with missing half-line @@ -641,10 +641,10 @@ static void usb_oldDSconvertVideoToOutput(USBOldDSCaptureReceived *p_in, VideoOu } #else if(!is_big_endian) - for(int i = 0; i < HEIGHT_DS * 2; i++) + for(size_t i = 0; i < HEIGHT_DS * 2; i++) usb_oldDSconvertVideoToOutputHalfLineDirectOptLE(p_in, p_out, i, i); else - for(int i = 0; i < HEIGHT_DS * 2; i++) + for(size_t i = 0; i < HEIGHT_DS * 2; i++) usb_oldDSconvertVideoToOutputHalfLineDirectOptBE(p_in, p_out, i, i); #endif } diff --git a/source/utils.cpp b/source/utils.cpp index ebf3b8b..890d986 100755 --- a/source/utils.cpp +++ b/source/utils.cpp @@ -39,6 +39,7 @@ #define APP_VERSION_MAJOR 1 #define APP_VERSION_MINOR 3 #define APP_VERSION_REVISION 0 +#define APP_VERSION_SUBREVISION 1 #ifdef RASPI #define APP_VERSION_LETTER R #else @@ -306,6 +307,9 @@ void complete_threads(void) { std::string get_version_string(bool get_letter) { std::string version_str = std::to_string(APP_VERSION_MAJOR) + "." + std::to_string(APP_VERSION_MINOR) + "." + std::to_string(APP_VERSION_REVISION); + #ifdef APP_VERSION_SUBREVISION + version_str += "." + std::to_string(APP_VERSION_SUBREVISION); + #endif if(get_letter) return version_str + xstr(APP_VERSION_LETTER); return version_str;