From 2aa7dd42eaab7d6872f640d69cb5fe57de1531c0 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 15 Jul 2023 11:30:40 -0600 Subject: [PATCH] lv2: plugins get an iterator to (sometimes|often) speed up ::get_grid() calls --- libs/ardour/ardour/lv2_plugin.h | 4 ++++ libs/ardour/lv2_plugin.cc | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/libs/ardour/ardour/lv2_plugin.h b/libs/ardour/ardour/lv2_plugin.h index 088fd8d605..8014202322 100644 --- a/libs/ardour/ardour/lv2_plugin.h +++ b/libs/ardour/ardour/lv2_plugin.h @@ -30,6 +30,8 @@ #include #include +#include "temporal/tempo.h" + #include "ardour/plugin.h" #include "ardour/plugin_scan_result.h" #include "ardour/uri_map.h" @@ -389,6 +391,8 @@ class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee void do_remove_preset (std::string); void find_presets (); void add_state (XMLNode *) const; + + Temporal::GridIterator grid_iterator; }; diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc index 1317a2bae0..c391122075 100644 --- a/libs/ardour/lv2_plugin.cc +++ b/libs/ardour/lv2_plugin.cc @@ -2875,9 +2875,9 @@ LV2Plugin::connect_and_run(BufferSet& bufs, if (!got_grid) { got_grid = true; - tmap->get_grid (tempo_map_points, - samples_to_superclock (start0, TEMPORAL_SAMPLE_RATE), - samples_to_superclock (end, TEMPORAL_SAMPLE_RATE), 0); + tmap->get_grid (grid_iterator, tempo_map_points, + samples_to_superclock (start0, TEMPORAL_SAMPLE_RATE), + samples_to_superclock (end, TEMPORAL_SAMPLE_RATE), 0); } }