X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_streamview.h;h=eed0bb7bbb25e1292ede61379ee8a6aea92bedc7;hb=9bfe404b4e9f5bc1bbe11b4ef6fd9778a362d04c;hp=d11de8113b2b97c144ab8926439fa45e357039ae;hpb=e0aaed6d65f160c328cb8b56d7c6552ee15d65e2;p=ardour.git diff --git a/gtk2_ardour/automation_streamview.h b/gtk2_ardour/automation_streamview.h index d11de8113b..eed0bb7bbb 100644 --- a/gtk2_ardour/automation_streamview.h +++ b/gtk2_ardour/automation_streamview.h @@ -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 @@ -24,7 +24,6 @@ #include "ardour/location.h" #include "enums.h" -#include "simplerect.h" #include "streamview.h" #include "time_axis_view_item.h" #include "route_time_axis.h" @@ -41,31 +40,47 @@ class AutomationRegionView; class AutomationStreamView : public StreamView { - public: +public: AutomationStreamView (AutomationTimeAxisView& tv); ~AutomationStreamView (); void set_automation_state (ARDOUR::AutoState state); + ARDOUR::AutoState automation_state () const; - void redisplay_diskstream (); - - inline double contents_height() const { + void redisplay_track (); + + inline double contents_height() const { return (_trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 2); } - - private: + + 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 &, bool within = false); + void set_selected_points (PointSelection &); + + std::list > get_lines () const; + + bool paste (framepos_t pos, + unsigned paste_count, + float times, + boost::shared_ptr list); + +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, bool wait_for_data, bool recording = false); void display_region(AutomationRegionView* region_view); - + void color_handler (); - - boost::shared_ptr _controller; - + 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__ */