Fix restore of fader automation from 2.X sessions.
[ardour.git] / gtk2_ardour / time_axis_view.h
index d002cc02cf6f23b08f97d035fb3dc990251fd448..f01aa508ae0acbb2aa70ec3139eb9f0b03a76f0b 100644 (file)
@@ -83,12 +83,6 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
        };
 
   public:
-       static uint32_t hLargest;
-       static uint32_t hLarge;
-       static uint32_t hLarger;
-       static uint32_t hNormal;
-       static uint32_t hSmaller;
-       static uint32_t hSmall;
 
        TimeAxisView(ARDOUR::Session* sess, PublicEditor& ed, TimeAxisView* parent, ArdourCanvas::Canvas& canvas);
        virtual ~TimeAxisView ();
@@ -155,6 +149,7 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
        virtual void exited () {}
 
        virtual void set_height (uint32_t h);
+       void set_height (Height);
        void reset_height();
 
        std::pair<TimeAxisView*, ARDOUR::layer_t> covers_y_position (double);
@@ -170,9 +165,6 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
        virtual ARDOUR::RouteGroup* route_group() const { return 0; }
        virtual boost::shared_ptr<ARDOUR::Playlist> playlist() const { return boost::shared_ptr<ARDOUR::Playlist> (); }
 
-       virtual void show_feature_lines (const ARDOUR::AnalysisFeatureList&);
-       virtual void hide_feature_lines ();
-
        virtual void set_samples_per_unit (double);
        virtual void show_selection (TimeSelection&);
        virtual void hide_selection ();
@@ -185,8 +177,8 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
 
        /* editing operations */
 
-       virtual bool cut_copy_clear (Selection&, Editing::CutCopyOp) { return false; }
-       virtual bool paste (nframes_t, float /*times*/, Selection&, size_t /*nth*/) { return false; }
+       virtual void cut_copy_clear (Selection&, Editing::CutCopyOp) {}
+       virtual bool paste (ARDOUR::framepos_t, float /*times*/, Selection&, size_t /*nth*/) { return false; }
 
        virtual void set_selected_regionviews (RegionSelection&) {}
        virtual void set_selected_points (PointSelection&) {}
@@ -197,7 +189,7 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
 
        void order_selection_trims (ArdourCanvas::Item *item, bool put_start_on_top);
 
-       virtual void get_selectables (nframes_t start, nframes_t end, double top, double bot, std::list<Selectable*>& results);
+       virtual void get_selectables (ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list<Selectable*>&);
        virtual void get_inverted_selectables (Selection&, std::list<Selectable *>& results);
 
        void add_ghost (RegionView*);
@@ -214,14 +206,17 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
 
        /* call this on the parent */
 
-       virtual XMLNode* get_automation_child_xml_node (Evoral::Parameter /*param*/) { return 0; }
+       virtual XMLNode* get_automation_child_xml_node (Evoral::Parameter, int) { return 0; }
 
        virtual LayerDisplay layer_display () const { return Overlaid; }
        virtual StreamView* view () const { return 0; }
 
        typedef std::vector<boost::shared_ptr<TimeAxisView> > Children;
+       Children get_child_list ();
 
        SelectionRect* get_selection_rect(uint32_t id);
+
+       static uint32_t preset_height (Height);
        
   protected:
        /* The Standard LHS Controls */
@@ -310,16 +305,9 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
        bool in_destructor;
        NamePackingBits name_packing;
 
-       static void compute_controls_size_info ();
-       static bool need_size_info;
-
        void set_heights (uint32_t h);
        void color_handler ();
 
-       std::list<ArdourCanvas::SimpleLine*> feature_lines;
-       ARDOUR::AnalysisFeatureList analysis_features;
-       void reshow_feature_lines ();
-
        void conditionally_add_to_selection ();
 
        ArdourCanvas::Group* _canvas_display;
@@ -335,6 +323,10 @@ private:
        double _resize_drag_start;
        ArdourCanvas::Group* _ghost_group;
 
+       void compute_heights ();
+       static uint32_t extra_height;
+       static uint32_t smaller_height;
+
        static int const _max_order;
 
 }; /* class TimeAxisView */