ardour
automation_streamview.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2001, 2007 Paul Davis
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 */
18 
19 #ifndef __ardour_automation_streamview_h__
20 #define __ardour_automation_streamview_h__
21 
22 #include <list>
23 #include <cmath>
24 
25 #include "ardour/location.h"
26 #include "enums.h"
27 #include "streamview.h"
28 #include "time_axis_view_item.h"
29 #include "route_time_axis.h"
30 #include "automation_controller.h"
31 
32 namespace Gdk {
33  class Color;
34 }
35 
36 class PublicEditor;
37 class Selectable;
38 class Selection;
40 
42 {
43  public:
46 
49 
50  void redisplay_track ();
51 
52  inline double contents_height() const {
54  }
55 
56  bool has_automation () const;
57 
60 
61  void clear ();
62 
63  void get_selectables (ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list<Selectable*> &, bool within = false);
65 
66  std::list<boost::shared_ptr<AutomationLine> > get_lines () const;
67 
68  bool paste (framepos_t pos,
69  unsigned paste_count,
70  float times,
72 
73  private:
74  void setup_rec_box ();
75 
76  RegionView* add_region_view_internal (boost::shared_ptr<ARDOUR::Region>, bool wait_for_data, bool recording = false);
77  void display_region(AutomationRegionView* region_view);
78 
79  void color_handler ();
80 
84 };
85 
86 #endif /* __ardour_automation_streamview_h__ */
void set_selected_points(PointSelection &)
Lists of selected things.
Definition: selection.h:66
Representation of the interface of the Editor class.
AutomationTimeAxisView & _automation_view
uint32_t current_height() const
ARDOUR::AutoState automation_state() const
bool paste(framepos_t pos, unsigned paste_count, float times, boost::shared_ptr< ARDOUR::AutomationList > list)
RegionView * add_region_view_internal(boost::shared_ptr< ARDOUR::Region >, bool wait_for_data, bool recording=false)
void get_selectables(ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list< Selectable * > &, bool within=false)
AutomationStreamView(AutomationTimeAxisView &tv)
ARDOUR::AutoState _pending_automation_state
int64_t framepos_t
Definition: types.h:66
RouteTimeAxisView & _trackview
Definition: streamview.h:151
void set_interpolation(ARDOUR::AutomationList::InterpolationStyle)
std::list< boost::shared_ptr< AutomationLine > > get_lines() const
void display_region(AutomationRegionView *region_view)
ARDOUR::AutomationList::InterpolationStyle interpolation() const
void set_automation_state(ARDOUR::AutoState state)
int64_t framepos_t
static double NAME_HIGHLIGHT_SIZE
double contents_height() const
AutoState
Definition: types.h:145