X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_streamview.h;h=eed0bb7bbb25e1292ede61379ee8a6aea92bedc7;hb=720292696a94c96d764e74b5e84fce09a1b3621c;hp=5eebfaf28d7247c0b412b23caa65d3d8125b41f4;hpb=68e943265edf04e63a8e8b8f62bab20f99d9c637;p=ardour.git diff --git a/gtk2_ardour/automation_streamview.h b/gtk2_ardour/automation_streamview.h index 5eebfaf28d..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 @@ -22,9 +22,8 @@ #include #include -#include +#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,33 +40,47 @@ class AutomationRegionView; class AutomationStreamView : public StreamView { - public: +public: AutomationStreamView (AutomationTimeAxisView& tv); ~AutomationStreamView (); - void set_selected_regionviews (RegionSelection&); - void get_selectables (jack_nframes_t start, jack_nframes_t end, list&); - void get_inverted_selectables (Selection&, list& results); + 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__ */