summaryrefslogtreecommitdiff
path: root/gtk2_ardour/region_gain_line.h
blob: 97e2253d01f12687df7276d3873a4744135ae9f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef __ardour_gtk_region_gain_line_h__
#define __ardour_gtk_region_gain_line_h__

#include <ardour/ardour.h>
#include <libgnomecanvasmm/libgnomecanvasmm.h>
#include <gtkmm.h>

#include "automation_line.h"

namespace ARDOUR {
	class Session;
}

class TimeAxisView;
class AudioRegionView;

class AudioRegionGainLine : public AutomationLine
{
  public:
        AudioRegionGainLine (string name, ARDOUR::Session&, AudioRegionView&, Gnome::Canvas::Item& parent,
			     ARDOUR::Curve&, 
		       gint (*point_callback)(Gnome::Canvas::Item*, GdkEvent*, gpointer),
		       gint (*line_callback)(Gnome::Canvas::Item*, GdkEvent*, gpointer));
	
	void view_to_model_y (double&);
	void model_to_view_y (double&);

	void start_drag (ControlPoint*, float fraction);
	void end_drag (ControlPoint*);

	void remove_point (ControlPoint&);



  private:
	ARDOUR::Session& session;
	AudioRegionView& rv;

	UndoAction get_memento();
};


#endif /* __ardour_gtk_region_gain_line_h__ */