diff --git a/libs/temporal/tempo.cc b/libs/temporal/tempo.cc index 34f1818fac..338821950a 100644 --- a/libs/temporal/tempo.cc +++ b/libs/temporal/tempo.cc @@ -2864,3 +2864,14 @@ TempoMap::twist_tempi (TempoSection* ts, const Tempo& bpm, const framepos_t fram } #endif + +void +TempoMap::MementoBinder::set_state (XMLNode const & node, int version) const +{ + TempoMap::SharedPtr map (write_copy()); + map->set_state (node, version); + update (map); + fetch (); +} + + diff --git a/libs/temporal/temporal/tempo.h b/libs/temporal/temporal/tempo.h index 143b8e8db9..1bbcf7efcd 100644 --- a/libs/temporal/temporal/tempo.h +++ b/libs/temporal/temporal/tempo.h @@ -771,7 +771,7 @@ class LIBTEMPORAL_API TempoMap : public PBD::StatefulDestructible class MementoBinder : public MementoCommandBinder { public: MementoBinder () {} - void set_state (XMLNode const & node, int version) const { TempoMap::use()->set_state (node, version); } + void set_state (XMLNode const & node, int version) const; XMLNode& get_state () const { return TempoMap::use()->get_state(); } std::string type_name() const { return X_("Temporal::TempoMap"); } void add_state (XMLNode*) {}