vtl: mark session dirty if video position-lock or timeline height changes
authorRobin Gareus <robin@gareus.org>
Mon, 8 Apr 2013 19:17:48 +0000 (21:17 +0200)
committerRobin Gareus <robin@gareus.org>
Mon, 8 Apr 2013 19:17:48 +0000 (21:17 +0200)
gtk2_ardour/video_timeline.cc
gtk2_ardour/video_timeline.h

index 729ac05ed3cc774bfef4cc70183dcb3454a08b6d..269e4656233a64b74c90890ce6cd8bf8a932b2f3 100644 (file)
@@ -228,6 +228,22 @@ VideoTimeLine::set_session (ARDOUR::Session *s)
        _session->config.ParameterChanged.connect (*this, invalidator (*this), ui_bind (&VideoTimeLine::parameter_changed, this, _1), gui_context());
 }
 
+void
+VideoTimeLine::set_offset_locked (bool v) {
+       if (_session && v != video_offset_lock) {
+               _session->set_dirty ();
+       }
+       video_offset_lock = v;
+}
+
+void
+VideoTimeLine::toggle_offset_locked () {
+       video_offset_lock = !video_offset_lock;
+       if (_session) {
+               _session->set_dirty ();
+       }
+}
+
 void
 VideoTimeLine::save_undo ()
 {
@@ -614,6 +630,9 @@ VideoTimeLine::gui_update(std::string const & t) {
 
 void
 VideoTimeLine::set_height (int height) {
+       if (_session && bar_height != height) {
+               _session->set_dirty ();
+       }
        bar_height = height;
        flush_local_cache();
 }
index ab1a9a92d85e0b85799edc0116ec7974ee742cf1..559709d708d6d3670f7b7e169d6c1115a8994e3b 100644 (file)
@@ -72,8 +72,8 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p
        double get_video_file_fps () { return video_file_fps; }
        void set_update_session_fps (bool v=true) { auto_set_session_fps = v; }
 
-       void set_offset_locked (bool v) { video_offset_lock = v; }
-       void toggle_offset_locked () { video_offset_lock = !video_offset_lock; }
+       void set_offset_locked (bool v);
+       void toggle_offset_locked ();
        bool is_offset_locked () { return video_offset_lock; }
 
        void open_video_monitor ();