* first working prototype of changing program changes by scroll wheel (still some...
[ardour.git] / gtk2_ardour / canvas-program-change.h
1 #ifndef CANVASPROGRAMCHANGE_H_
2 #define CANVASPROGRAMCHANGE_H_
3
4 #include "canvas-flag.h"
5
6 class MidiRegionView;
7
8 namespace Gnome {
9 namespace Canvas {
10
11 class CanvasProgramChange : public CanvasFlag
12 {
13 public:
14         CanvasProgramChange(
15                 MidiRegionView&                       region,
16                 Group&                                parent,
17                 string&                               text,
18                 double                                height,
19                 double                                x = 0.0,
20                 double                                y = 0.0
21         );
22         
23         virtual ~CanvasProgramChange();
24         
25         virtual bool on_event(GdkEvent* ev);
26         
27         nframes_t event_time() const { return _event_time; }
28         void set_event_time(nframes_t new_time) { _event_time = new_time; };
29
30         uint8_t program() const { return _program; }
31         void set_program(uint8_t new_program) { _program = new_program; };
32
33         uint8_t channel() const { return _channel; }
34         void set_channel(uint8_t new_channel) { _channel = new_channel; };
35         
36
37 private:
38         nframes_t _event_time;
39         uint8_t   _program;
40         uint8_t   _channel;
41 };
42
43 } // namespace Canvas
44 } // namespace Gnome
45
46 #endif /*CANVASPROGRAMCHANGE_H_*/