summaryrefslogtreecommitdiff
path: root/libs/ardour/region.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-09-19 14:38:46 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-09-19 14:38:46 +0000
commit6f8cd634501efd70711b148b4ac0e0ce2aa5cc95 (patch)
tree07df4b771792ec9a0b8ba7c8c01db0234f1efe22 /libs/ardour/region.cc
parent60f588f21d6ad62335d72e8dc682abf8859107ea (diff)
chris goddard's region list patch; port 2.X marker drag/move changes to 3.0; compilation fixes-post-evoral
git-svn-id: svn://localhost/ardour2/branches/3.0@3760 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/region.cc')
-rw-r--r--libs/ardour/region.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc
index 42564a8b5e..25435024b3 100644
--- a/libs/ardour/region.cc
+++ b/libs/ardour/region.cc
@@ -53,6 +53,7 @@ Change Region::LockChanged = ARDOUR::new_change ();
Change Region::LayerChanged = ARDOUR::new_change ();
Change Region::HiddenChanged = ARDOUR::new_change ();
+sigc::signal<void,boost::shared_ptr<ARDOUR::Region> > Region::RegionPropertyChanged;
/* derived-from-derived constructor (no sources in constructor) */
Region::Region (Session& s, nframes_t start, nframes_t length, const string& name, DataType type, layer_t layer, Region::Flag flags)
@@ -1350,6 +1351,21 @@ Region::send_change (Change what_changed)
}
StateChanged (what_changed);
+
+ if (!(_flags & DoNotSaveState)) {
+
+ /* Try and send a shared_pointer unless this is part of the constructor.
+ If so, do nothing.
+ */
+
+ try {
+ boost::shared_ptr<Region> rptr = shared_from_this();
+ RegionPropertyChanged (rptr);
+ } catch (...) {
+ /* no shared_ptr available, relax; */
+ }
+ }
+
}
void