diff --git a/include/wrapper.h b/include/wrapper.h index 14db05c..c764095 100644 --- a/include/wrapper.h +++ b/include/wrapper.h @@ -41,6 +41,6 @@ bool is_mdirty(PT_VMR vmr); long macrobutton_getstatus(PT_VMR vmr, long n, float *val, long mode); long macrobutton_setstatus(PT_VMR vmr, long n, float val, long mode); -void clear_dirty(PT_VMR vmr); +void clear(PT_VMR vmr, bool (*f)(PT_VMR)); #endif /* __WRAPPER_H__ */ \ No newline at end of file diff --git a/src/vmrcli.c b/src/vmrcli.c index 289b87d..c98eece 100644 --- a/src/vmrcli.c +++ b/src/vmrcli.c @@ -175,7 +175,7 @@ int main(int argc, char *argv[]) log_info("Profile %s loaded", cvalue); set_parameter_string(vmr, "command.load", cvalue); Sleep(300); - clear_dirty(vmr); + clear(vmr, is_pdirty); } if (iflag) @@ -373,7 +373,7 @@ void parse_command(PT_VMR vmr, char *command) */ void get(PT_VMR vmr, char *command, struct result *res) { - clear_dirty(vmr); + clear(vmr, is_pdirty); if (get_parameter_float(vmr, command, &res->val.f) != 0) { res->type = STRING_T; diff --git a/src/wrapper.c b/src/wrapper.c index be0fc9b..08fb0b9 100644 --- a/src/wrapper.c +++ b/src/wrapper.c @@ -61,7 +61,7 @@ long login(PT_VMR vmr, int kind) if (rep == 0) { - clear_dirty(vmr); + clear(vmr, is_pdirty); } return rep; } @@ -157,9 +157,9 @@ long macrobutton_setstatus(PT_VMR vmr, long n, float val, long mode) return vmr->VBVMR_MacroButton_SetStatus(n, val, mode); } -void clear_dirty(PT_VMR vmr) +void clear(PT_VMR vmr, bool (*f)(PT_VMR)) { Sleep(30); - while (is_pdirty(vmr)) + while (f(vmr)) Sleep(1); } \ No newline at end of file