Fix crash when updating timing panel.
[dcpomatic.git] / src / wx / timeline.h
index 0217373b9c3bbbf6a6a6986d77c3f74e1ecc99d7..fafb09c0e5aa0dc56b9c830131ae899a5c4616f7 100644 (file)
@@ -52,7 +52,7 @@ public:
                return 48;
        }
 
-       double pixels_per_time_unit () const {
+       boost::optional<double> pixels_per_time_unit () const {
                return _pixels_per_time_unit;
        }
 
@@ -64,6 +64,14 @@ public:
 
        void setup_pixels_per_time_unit ();
 
+       void set_snap (bool s) {
+               _snap = s;
+       }
+
+       bool snap () const {
+               return _snap;
+       }
+
 private:
        void paint ();
        void left_down (wxMouseEvent &);
@@ -71,6 +79,7 @@ private:
        void right_down (wxMouseEvent &);
        void mouse_moved (wxMouseEvent &);
        void playlist_changed ();
+       void playlist_content_changed (int);
        void resized ();
        void assign_tracks ();
        void set_position_from_event (wxMouseEvent &);
@@ -88,13 +97,15 @@ private:
        ViewList _views;
        boost::shared_ptr<TimeAxisView> _time_axis_view;
        int _tracks;
-       double _pixels_per_time_unit;
+       boost::optional<double> _pixels_per_time_unit;
        bool _left_down;
        wxPoint _down_point;
        boost::shared_ptr<ContentView> _down_view;
        Time _down_view_position;
        bool _first_move;
        ContentMenu _menu;
+       bool _snap;
 
-       boost::signals2::scoped_connection _playlist_connection;
+       boost::signals2::scoped_connection _playlist_changed_connection;
+       boost::signals2::scoped_connection _playlist_content_changed_connection;
 };