X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_streamview.h;h=2b8013fefd659a80e530ce92c0710ea3c0e8c30c;hb=105caf23daf5aed16c7ee8b904fcca2ddbd4f59f;hp=c5eac370217aa30ff291aba3488fdb23b02b470c;hpb=c190aca4a0debe1220558d14afb8f1ab4adb959f;p=ardour.git diff --git a/gtk2_ardour/automation_streamview.h b/gtk2_ardour/automation_streamview.h index c5eac37021..2b8013fefd 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,7 +22,7 @@ #include #include -#include +#include "ardour/location.h" #include "enums.h" #include "simplerect.h" #include "streamview.h" @@ -45,28 +45,39 @@ class AutomationStreamView : public StreamView 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_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 &); + void set_selected_points (PointSelection &); + + std::list > get_lines () const; + boost::shared_ptr paste_line (ARDOUR::framepos_t); - void redisplay_diskstream (); - - inline double contents_height() const - { return (_trackview.height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 2); } - 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); + + 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__ */