Remove special handling of session range in export. Fixes things when the session...
[ardour.git] / gtk2_ardour / automation_streamview.h
index 3134d82c3f92d2f4b042ded3903e306411a33850..2b8013fefd659a80e530ce92c0710ea3c0e8c30c 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2001, 2007 Paul Davis 
+    Copyright (C) 2001, 2007 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -42,30 +42,42 @@ class AutomationRegionView;
 class AutomationStreamView : public StreamView
 {
   public:
-       AutomationStreamView (AutomationTimeAxisViewPtr tv);
+       AutomationStreamView (AutomationTimeAxisView& tv);
        ~AutomationStreamView ();
 
        void set_automation_state (ARDOUR::AutoState state);
+       ARDOUR::AutoState automation_state () const;
 
-       void redisplay_diskstream ();
-       
-       inline double contents_height() const { 
-               return (_trackview->current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 2);
+       void redisplay_track ();
+
+       inline double contents_height() const {
+               return (_trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 2);
        }
-       
+
+       bool has_automation () const;
+
+       void set_interpolation (ARDOUR::AutomationList::InterpolationStyle);
+       ARDOUR::AutomationList::InterpolationStyle interpolation () const;
+
+       void clear ();
+
+       void get_selectables (ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list<Selectable*> &);
+       void set_selected_points (PointSelection &);
+
+       std::list<boost::shared_ptr<AutomationLine> > get_lines () const;
+       boost::shared_ptr<AutomationLine> paste_line (ARDOUR::framepos_t);
+
   private:
        void setup_rec_box ();
-       void rec_data_range_ready (jack_nframes_t start, jack_nframes_t dur); 
-       void update_rec_regions (jack_nframes_t start, jack_nframes_t dur);
-       
+
        RegionView* add_region_view_internal (boost::shared_ptr<ARDOUR::Region>, bool wait_for_data, bool recording = false);
        void        display_region(AutomationRegionView* region_view);
-       
+
        void color_handler ();
-       
-       boost::shared_ptr<AutomationController> _controller;
-       
-       AutomationTimeAxisViewPtr _automation_view;
+
+       AutomationTimeAxisView& _automation_view;
+       /** automation state that should be applied when this view gets its first RegionView */
+       ARDOUR::AutoState _pending_automation_state;
 };
 
 #endif /* __ardour_automation_streamview_h__ */