2e6473ef66efcadeddbe2afd3622c03aa05becc0
[ardour.git] / gtk2_ardour / canvas-program-change.cc
1 #include "canvas-program-change.h"
2 #include <iostream>
3 #include "ardour_ui.h"
4
5 using namespace Gnome::Canvas;
6 using namespace std;
7
8 CanvasProgramChange::CanvasProgramChange(
9                 MidiRegionView&                       region,
10                 Group&                                parent,
11                 string&                               text,
12                 double                                height,
13                 double                                x,
14                 double                                y)
15         : CanvasFlag(
16                         region, 
17                         parent, 
18                         height, 
19                         ARDOUR_UI::config()->canvasvar_MidiProgramChangeOutline.get(), 
20                         ARDOUR_UI::config()->canvasvar_MidiProgramChangeFill.get(),
21                         x,
22                         y
23                 )
24 {
25         set_text(text);
26 }
27
28 CanvasProgramChange::~CanvasProgramChange()
29 {
30 }
31
32 bool
33 CanvasProgramChange::on_event(GdkEvent* ev)
34 {
35         cerr << "CanvasProgramChange::on_event(GdkEvent* ev) type " << ev->type << endl;
36         switch (ev->type) {
37         case GDK_SCROLL:
38                 if (ev->scroll.direction == GDK_SCROLL_UP) {
39                         previous_patch();
40                         return true;
41                 } else if (ev->scroll.direction == GDK_SCROLL_DOWN) {
42                         next_patch();
43                         return true;
44                 } 
45         default:
46                 break;
47         }
48         
49         return false;
50 }
51
52 void 
53 CanvasProgramChange::previous_patch()
54 {
55         cerr << "decreasing program" <<  endl;
56 }
57
58 void 
59 CanvasProgramChange::next_patch()
60 {
61         cerr << "increasing program" <<  endl;
62 }