diff --git a/libs/ardour/ardour/region.h b/libs/ardour/ardour/region.h index 60023a5db4..23f8c715c5 100644 --- a/libs/ardour/ardour/region.h +++ b/libs/ardour/ardour/region.h @@ -379,6 +379,8 @@ public: Temporal::Beats absolute_time_to_region_beats (Temporal::timepos_t const &) const; + Temporal::timepos_t absolute_time_to_region_time (Temporal::timepos_t const &) const; + int apply (Filter &, PBD::Progress* progress = 0); std::shared_ptr playlist () const { return _playlist.lock(); } diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc index 38084879ee..808a02cba7 100644 --- a/libs/ardour/region.cc +++ b/libs/ardour/region.cc @@ -2218,7 +2218,13 @@ Region::source_beats_to_absolute_beats (Temporal::Beats beats) const Temporal::Beats Region::absolute_time_to_region_beats(timepos_t const & b) const { - return (position().distance (b)).beats () + start().beats();; + return (position().distance (b)).beats () + start().beats(); +} + +Temporal::timepos_t +Region::absolute_time_to_region_time (timepos_t const & t) const +{ + return start() + position().distance (t); } Temporal::timepos_t