From b5d63916aec46ffd71d982bd39f902a71f972c96 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 5 Oct 2016 18:59:34 -0400 Subject: Avoid repeatedly requesting the same peaks --- plugins/eg-sampler.lv2/sampler_ui.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'plugins/eg-sampler.lv2') diff --git a/plugins/eg-sampler.lv2/sampler_ui.c b/plugins/eg-sampler.lv2/sampler_ui.c index 9ea662c..ac4601a 100644 --- a/plugins/eg-sampler.lv2/sampler_ui.c +++ b/plugins/eg-sampler.lv2/sampler_ui.c @@ -102,6 +102,10 @@ on_play_clicked(GtkFileChooserButton* widget, void* handle) static void request_peaks(SamplerUI* ui, uint32_t n_peaks) { + if (n_peaks == ui->requested_n_peaks) { + return; + } + lv2_atom_forge_set_buffer(&ui->forge, ui->forge_buf, sizeof(ui->forge_buf)); LV2_Atom_Forge_Frame frame; @@ -292,6 +296,7 @@ port_event(LV2UI_Handle handle, gtk_file_chooser_set_filename( GTK_FILE_CHOOSER(ui->file_button), path); peaks_receiver_clear(&ui->precv); + ui->requested_n_peaks = 0; request_peaks(ui, ui->width / 2 * 2); } else if (!path) { lv2_log_warning(&ui->logger, "Set message has no path\n"); -- cgit v1.2.1