From f6da60fd6aba9022e5e11d2b81aa089c651cae37 Mon Sep 17 00:00:00 2001 From: rick Date: Mon, 19 Dec 2022 15:48:33 +0100 Subject: [PATCH] add repetitions --- src/main.cpp | 2 +- src/ui.c | 20 ++++++++++++++++++-- src/ui.h | 4 ++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 8ee6416..ac11464 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -10,7 +10,7 @@ extern "C" { #include "ui.h" } -#define WIDTH 400 +#define WIDTH 425 #define HEIGHT 200 void glfw_logger(int error, const char *desc) diff --git a/src/ui.c b/src/ui.c index 269724e..996b77d 100644 --- a/src/ui.c +++ b/src/ui.c @@ -3,6 +3,7 @@ #include #include #include +#include #include "read_events.h" #include "read_file.h" @@ -18,6 +19,8 @@ ui_infos * init_ui(const char *name) ret->file = fopen(name, "w+"); ret->is_recording = 0; ret->args_rf = args_rf_init(ret->file, 1); + ret->nb_loop = 0; + ret->sleep_loop = 0; return ret; } @@ -79,10 +82,23 @@ int draw_ui(ui_infos *ptr) igInputInt("Temps de repos entre chaque clic (s)", &ptr->args_rf->time_sleep, 1, 10, 0); if (ptr->args_rf->time_sleep <= 0) ptr->args_rf->time_sleep = 1; + igSetNextItemWidth(100.0); + igInputInt("Nombre de répétitions du fichier", &ptr->nb_loop, 1, 10, 0); + if (ptr->nb_loop < 0) ptr->nb_loop = 0; + + igSetNextItemWidth(100.0); + igInputInt("Temps de repos entre chaque répétition (s)", &ptr->sleep_loop, 1, 10, 0); + if (ptr->sleep_loop < 0) ptr->sleep_loop = 0; + if (igButton("Replay", zero_vec2)) { - rewind(ptr->file); - readfile(ptr->args_rf); + int i; + for (i = 0; i <= ptr->nb_loop; i++) + { + rewind(ptr->file); + readfile(ptr->args_rf); + sleep(ptr->sleep_loop); + } } } diff --git a/src/ui.h b/src/ui.h index c873b67..c7b01f6 100644 --- a/src/ui.h +++ b/src/ui.h @@ -9,6 +9,10 @@ typedef struct { char is_recording; pthread_t pid; args_readfile *args_rf; + /* Number of repetition */ + int nb_loop; + /* Sleep in s between each repetition */ + int sleep_loop; } ui_infos; ui_infos * init_ui(const char *name);