Add [hidden] option to list "Dummy" backend with optmized bundles
[ardour.git] / gtk2_ardour / automation_line.h
index a18f93d9ae164ff742b095e836d528aada0f1afa..a6df048354d0842a5f5b594ead4e58beee8e4d81 100644 (file)
@@ -60,7 +60,7 @@ public:
                ControlPoints = 0x2,
                SelectedControlPoints = 0x4
        };
-       
+
        AutomationLine (const std::string&                                 name,
                        TimeAxisView&                                      tv,
                        ArdourCanvas::Item&                                parent,
@@ -73,6 +73,7 @@ public:
        void queue_reset ();
        void reset ();
        void clear ();
+       void set_fill (bool f) { _fill = f; } // owner needs to call set_height
 
        void set_selected_points (PointSelection const &);
        void get_selectables (ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list<Selectable*>&);
@@ -122,6 +123,7 @@ public:
        void   view_to_model_coord (double& x, double& y) const;
        void   view_to_model_coord_y (double &) const;
        void   model_to_view_coord (double& x, double& y) const;
+       void   model_to_view_coord_y (double &) const;
 
        void set_list(boost::shared_ptr<ARDOUR::AutomationList> list);
        boost::shared_ptr<ARDOUR::AutomationList> the_list() const { return alist; }
@@ -152,6 +154,7 @@ public:
        }
 
        void set_offset (ARDOUR::framecnt_t);
+       ARDOUR::framecnt_t offset () { return _offset; }
        void set_width (ARDOUR::framecnt_t);
 
        framepos_t session_position (ARDOUR::AutomationList::const_iterator) const;
@@ -168,7 +171,7 @@ protected:
        bool _our_time_converter;
 
        VisibleAspects _visible;
+
        bool    _uses_gain_mapping;
        bool    terminal_points_can_slide;
        bool    update_pending;
@@ -201,12 +204,10 @@ private:
        typedef boost::shared_ptr<ContiguousControlPoints> CCP;
        std::vector<CCP> contiguous_points;
 
-       void sync_model_with_view_point (ControlPoint&);
-       void sync_model_with_view_points (std::list<ControlPoint*>);
+       bool sync_model_with_view_point (ControlPoint&);
+       bool sync_model_with_view_points (std::list<ControlPoint*>);
        void start_drag_common (double, float);
 
-       virtual void change_model (ARDOUR::AutomationList::iterator, double x, double y);
-
        void reset_callback (const Evoral::ControlList&);
        void list_changed ();
 
@@ -224,6 +225,7 @@ private:
         */
        ARDOUR::framecnt_t _offset;
 
+       bool is_stepped() const;
        void update_visibility ();
        void reset_line_coords (ControlPoint&);
        void add_visible_control_point (uint32_t, uint32_t, double, double, ARDOUR::AutomationList::iterator, uint32_t);
@@ -236,6 +238,8 @@ private:
        /** maximum time that a point on this line can be at, relative to the position of its region or start of its track */
        ARDOUR::framecnt_t _maximum_time;
 
+       bool _fill;
+
        const ARDOUR::ParameterDescriptor _desc;
 
        friend class AudioRegionGainLine;