changing the start (position) of a marker with a scene change needs to update the...
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 2 May 2014 22:43:04 +0000 (18:43 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 2 May 2014 22:43:04 +0000 (18:43 -0400)
libs/ardour/location.cc

index 90265af4e4262410fa4bfd37b09d5b117eee89a7..eef94797e9a41db778f46acbad150b6c8c591839 100644 (file)
@@ -188,6 +188,14 @@ Location::set_start (framepos_t s, bool force, bool allow_bbt_recompute)
                        end_changed (this); /* EMIT SIGNAL */
                }
 
+               /* moving the start (position) of a marker with a scene change
+                  requires an update in the Scene Changer.
+               */
+
+               if (_scene_change) {
+                       scene_changed (); /* EMIT SIGNAL */
+               }
+
                assert (_start >= 0);
                assert (_end >= 0);
 
@@ -203,6 +211,7 @@ Location::set_start (framepos_t s, bool force, bool allow_bbt_recompute)
                        recompute_bbt_from_frames ();
                }
                start_changed (this); /* EMIT SIGNAL */
+                               
                if (is_session_range ()) {
                        Session::StartTimeChanged (old); /* EMIT SIGNAL */
                        AudioFileSource::set_header_position_offset (s);
@@ -536,10 +545,6 @@ Location::set_state (const XMLNode& node, int version)
        
        if (scene_child) {
                _scene_change = SceneChange::factory (*scene_child, version);
-
-               if (_scene_change) {
-                       _scene_change->set_time (_start);
-               }
        }
 
        recompute_bbt_from_frames ();