From ae36f8e445768d27399c1c2d6e57c01b74698a9d Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 20 Dec 2022 21:31:02 -0700 Subject: [PATCH] temporal: provide TempoMap::replace_tempo() --- libs/temporal/tempo.cc | 8 ++++++++ libs/temporal/temporal/tempo.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/libs/temporal/tempo.cc b/libs/temporal/tempo.cc index d40a34fa9b..81c06b7695 100644 --- a/libs/temporal/tempo.cc +++ b/libs/temporal/tempo.cc @@ -814,9 +814,17 @@ TempoMap::change_tempo (TempoPoint & p, Tempo const & t) reset_starting_at (p.sclock()); } +void +TempoMap::replace_tempo (TempoPoint const & old, Tempo const & t, timepos_t const & time) +{ + remove_tempo (old); + set_tempo (t, time); +} + TempoPoint & TempoMap::set_tempo (Tempo const & t, BBT_Time const & bbt) { + std::cerr << "ST with bbt = " << bbt << std::endl; return set_tempo (t, timepos_t (quarters_at (bbt))); } diff --git a/libs/temporal/temporal/tempo.h b/libs/temporal/temporal/tempo.h index 45c58abba7..aacc2449c6 100644 --- a/libs/temporal/temporal/tempo.h +++ b/libs/temporal/temporal/tempo.h @@ -739,6 +739,8 @@ class /*LIBTEMPORAL_API*/ TempoMap : public PBD::StatefulDestructible LIBTEMPORAL_API TempoPoint& set_tempo (Tempo const &, BBT_Time const &); LIBTEMPORAL_API TempoPoint& set_tempo (Tempo const &, timepos_t const &); + LIBTEMPORAL_API void replace_tempo (TempoPoint const & old, Tempo const & thenew, timepos_t const &); + LIBTEMPORAL_API MeterPoint& set_meter (Meter const &, BBT_Time const &); LIBTEMPORAL_API MeterPoint& set_meter (Meter const &, timepos_t const &);