aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-05-09 18:36:38 +0000
committerDavid Robillard <d@drobilla.net>2013-05-09 18:36:38 +0000
commitabb8cfaf30475f25659d89605cb24fb0d5aee68d (patch)
tree1bed11201e42b5ce4d5a1ecd533641b529fd6607 /src
parent93c86e7b19dd804d508ccdd0deaa7a2d76917a6b (diff)
downloadjalv-abb8cfaf30475f25659d89605cb24fb0d5aee68d.tar.gz
jalv-abb8cfaf30475f25659d89605cb24fb0d5aee68d.tar.bz2
jalv-abb8cfaf30475f25659d89605cb24fb0d5aee68d.zip
Add command-line option to control UI update frequency.
git-svn-id: http://svn.drobilla.net/lad/trunk/jalv@5106 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src')
-rw-r--r--src/jalv.c10
-rw-r--r--src/jalv_gtk.c2
-rw-r--r--src/jalv_internal.h1
3 files changed, 11 insertions, 2 deletions
diff --git a/src/jalv.c b/src/jalv.c
index 25676c2..0e77239 100644
--- a/src/jalv.c
+++ b/src/jalv.c
@@ -1041,8 +1041,14 @@ main(int argc, char** argv)
options_feature.data = &options;
- /* Calculate theoretical UI update frequency. */
- jalv.ui_update_hz = (double)jalv.sample_rate / jalv.midi_buf_size * 2.0;
+ if (!jalv.opts.update_rate) {
+ /* Calculate theoretical UI update frequency. */
+ jalv.ui_update_hz = (double)jalv.sample_rate / jalv.midi_buf_size * 2.0;
+ jalv.ui_update_hz = MAX(25, jalv.ui_update_hz);
+ } else {
+ jalv.ui_update_hz = jalv.opts.update_rate;
+ jalv.ui_update_hz = MAX(1, jalv.ui_update_hz);
+ }
/* The UI can only go so fast, clamp to reasonable limits */
jalv.ui_update_hz = MIN(60, jalv.ui_update_hz);
diff --git a/src/jalv_gtk.c b/src/jalv_gtk.c
index b1c069a..e371a6c 100644
--- a/src/jalv_gtk.c
+++ b/src/jalv_gtk.c
@@ -91,6 +91,8 @@ jalv_init(int* argc, char*** argv, JalvOptions* opts)
"Use Jalv generic UI and not the plugin UI", NULL},
{ "buffer-size", 'b', 0, G_OPTION_ARG_INT, &opts->buffer_size,
"Buffer size for plugin <=> UI communication", "SIZE"},
+ { "update-frequency", 'r', 0, G_OPTION_ARG_INT, &opts->update_rate,
+ "UI update frequency", NULL},
{ 0, 0, 0, 0, 0, 0, 0 } };
GError* error = NULL;
const int err = gtk_init_with_args(
diff --git a/src/jalv_internal.h b/src/jalv_internal.h
index 9800924..2fccbc5 100644
--- a/src/jalv_internal.h
+++ b/src/jalv_internal.h
@@ -86,6 +86,7 @@ typedef struct {
char* uuid;
char* load;
uint32_t buffer_size;
+ uint32_t update_rate;
bool dump;
bool generic_ui;
} JalvOptions;