From 1df4368056d53a308e985ef4c102969e55753624 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 22 Sep 2018 23:05:14 +0200 Subject: Add command to set control values by port index --- src/jalv_console.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/jalv_console.c') diff --git a/src/jalv_console.c b/src/jalv_console.c index 7bf69a2..dc3511e 100644 --- a/src/jalv_console.c +++ b/src/jalv_console.c @@ -139,14 +139,23 @@ jalv_native_ui_type(Jalv* jalv) static void jalv_process_command(Jalv* jalv, const char* cmd) { - char sym[64]; - float value; + char sym[64]; + uint32_t index; + float value; if (!strncmp(cmd, "help", 4)) { fprintf(stderr, "Commands:\n" " help Display this help message\n" - " set SYMBOL VALUE Set control value\n" - " SYMBOL = VALUE Set control value\n"); + " set INDEX VALUE Set control value by port index\n" + " set SYMBOL VALUE Set control value by symbol\n" + " SYMBOL = VALUE Set control value by symbol\n"); + } else if (sscanf(cmd, "set %u %f", &index, &value) == 2) { + if (index < jalv->num_ports) { + jalv->ports[index].control = value; + jalv_print_control(jalv, &jalv->ports[index], value); + } else { + fprintf(stderr, "error: port index out of range\n"); + } } else if (sscanf(cmd, "set %[a-zA-Z0-9_] %f", sym, &value) == 2 || sscanf(cmd, "%[a-zA-Z0-9_] = %f", sym, &value) == 2) { struct Port* port = NULL; -- cgit v1.2.1