X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_streamview.h;h=67f720dc5ff8792a73505ccd5be589622d9e9fbd;hb=4d14ae4e23bc58e356dcda387213d0ba4ab6364b;hp=d11de8113b2b97c144ab8926439fa45e357039ae;hpb=402cc384ced6cb152c8abe4294009fe0de0a6dea;p=ardour.git diff --git a/gtk2_ardour/automation_streamview.h b/gtk2_ardour/automation_streamview.h index d11de8113b..67f720dc5f 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" @@ -46,26 +45,42 @@ class AutomationStreamView : public StreamView ~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); } - + + 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__ */