From 8edb49acc4e63a7222aeffe89d6a3f64e82368be Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 3 Dec 2014 13:31:49 -0500 Subject: [PATCH] add signal to indicate absence of removal of scene change from Location --- libs/ardour/ardour/location.h | 5 +++-- libs/ardour/location.cc | 9 ++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/libs/ardour/ardour/location.h b/libs/ardour/ardour/location.h index f809dbf280..ffe35a65d5 100644 --- a/libs/ardour/ardour/location.h +++ b/libs/ardour/ardour/location.h @@ -143,8 +143,9 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest void set_position_lock_style (PositionLockStyle ps); void recompute_frames_from_bbt (); - static PBD::Signal0 scene_changed; - + static PBD::Signal0 scene_changed; /* for use by backend scene change management, class level */ + PBD::Signal0 SceneChangeChanged; /* for use by objects interested in this object */ + private: std::string _name; framepos_t _start; diff --git a/libs/ardour/location.cc b/libs/ardour/location.cc index b943ce17f7..17020d942b 100644 --- a/libs/ardour/location.cc +++ b/libs/ardour/location.cc @@ -737,9 +737,12 @@ Location::unlock () void Location::set_scene_change (boost::shared_ptr sc) { - _scene_change = sc; - - scene_changed (); /* EMIT SIGNAL */ + if (_scene_change != sc) { + _scene_change = sc; + + scene_changed (); /* EMIT SIGNAL */ + SceneChangeChanged (); /* EMIT SIGNAL */ + } } /*---------------------------------------------------------------------- */