use notification of what was changed in MidiRegion::post_set() call
authorPaul Davis <paul@linuxaudiosystems.com>
Mon, 20 Dec 2010 16:11:23 +0000 (16:11 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 20 Dec 2010 16:11:23 +0000 (16:11 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@8307 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/ardour/audioregion.h
libs/ardour/ardour/midi_region.h
libs/ardour/audioregion.cc
libs/ardour/midi_region.cc

index 460d76b551e585ec980fc179605859e18e835cd1..07766698747d3b9a7aa1ce3c1ea0ef29cd28c902 100644 (file)
@@ -197,7 +197,7 @@ class AudioRegion : public Region
        PBD::Property<gain_t>   _scale_amplitude;
        
        void register_properties ();
-       void post_set ();
+       void post_set (const PBD::PropertyChange&);
 
        void init ();
        void set_default_fades ();
index 53ffb4497c782f2b629d669a7d331d72969453b4..650c7c9b2e1329b809eece02ea30ad976a28ab37 100644 (file)
@@ -130,6 +130,7 @@ class MidiRegion : public Region
                             MidiStateTracker* tracker = 0) const;
 
        void register_properties ();
+        void post_set (const PBD::PropertyChange&);
 
        void recompute_at_start ();
        void recompute_at_end ();
index 5c213bfb7cacac75d7f7b7637c72378e02d21d2b..9de1de1279d5a2651cddfdfce18e61505c855511 100644 (file)
@@ -224,7 +224,7 @@ AudioRegion::~AudioRegion ()
 }
 
 void
-AudioRegion::post_set ()
+AudioRegion::post_set (const PropertyChange& /*ignored*/)
 {
        if (!_sync_marked) {
                _sync_position = _start;
index e487cae2f5224426fc9a8947846de9f078e7d146..02d9f7d3984c2a396818a488e2d0c0272eeab632 100644 (file)
@@ -123,6 +123,14 @@ MidiRegion::clone ()
         return boost::dynamic_pointer_cast<MidiRegion> (RegionFactory::create (ms, plist, true));
 }
 
+void
+MidiRegion::post_set (const PropertyChange& pc)
+{
+        if (pc.contains (Properties::length) || pc.contains (Properties::position)) {
+                update_length_beats ();
+        }
+}
+
 void
 MidiRegion::set_length_internal (framecnt_t len)
 {