diff --git a/libs/ardour/ardour/region_fx_plugin.h b/libs/ardour/ardour/region_fx_plugin.h index babe655c61..34f795d353 100644 --- a/libs/ardour/ardour/region_fx_plugin.h +++ b/libs/ardour/ardour/region_fx_plugin.h @@ -137,6 +137,7 @@ public: void truncate_automation_start (timecnt_t); void truncate_automation_end (timepos_t); + void x_scale_automation (Temporal::ratio_t); bool can_support_io_configuration (const ChanCount& in, ChanCount& out); bool configure_io (ChanCount in, ChanCount out); diff --git a/libs/ardour/region_fx_plugin.cc b/libs/ardour/region_fx_plugin.cc index 66453ec97d..59f2d4b4d2 100644 --- a/libs/ardour/region_fx_plugin.cc +++ b/libs/ardour/region_fx_plugin.cc @@ -620,6 +620,15 @@ RegionFxPlugin::truncate_automation_end (timepos_t end) } } +void +RegionFxPlugin::x_scale_automation (Temporal::ratio_t r) +{ + for (auto const& i : _controls) { + std::shared_ptr ac = std::dynamic_pointer_cast (i.second); + ac->alist ()->x_scale (r); + } +} + bool RegionFxPlugin::write_immediate_event (Evoral::EventType event_type, size_t size, const uint8_t* buf) {