added TempoMap::Changed signal
[ardour.git] / tools / bb / gui.h
1 #ifndef __bb_gui_h__
2 #define __bb_gui_h__
3
4 #include <gtkmm.h>
5 #include <jack/jack.h>
6
7 class BeatBox;
8
9 class BBGUI {
10   public:
11         BBGUI (int*, char** [], jack_client_t* jack, BeatBox* bb);
12         ~BBGUI ();
13
14         void run ();
15
16   private:
17         jack_client_t* jack;
18         BeatBox* bbox;
19         Gtk::Main main;
20         Gtk::Window window;
21
22         Gtk::RadioButtonGroup quantize_group;
23         Gtk::RadioButton quantize_off;
24         Gtk::RadioButton quantize_32nd;
25         Gtk::RadioButton quantize_16th;
26         Gtk::RadioButton quantize_8th;
27         Gtk::RadioButton quantize_quarter;
28         Gtk::RadioButton quantize_half;
29         Gtk::RadioButton quantize_whole;
30
31         Gtk::ToggleButton play_button;
32         Gtk::Button clear_button;
33
34         Gtk::Adjustment tempo_adjustment;
35         Gtk::SpinButton tempo_spinner;
36
37         Gtk::VBox global_vbox;
38         Gtk::VBox quantize_button_box;
39         Gtk::HBox misc_button_box;
40
41
42         void set_quantize (int divisor);
43         void toggle_play ();
44         void clear ();
45         void tempo_changed ();
46 };
47
48 #endif /* __bb_gui_h__ */