X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftempo_dialog.h;h=cbb237abb87a5296f5c965fb7897e88a4f4a73d3;hb=ee42a6dd97045253d1a9bb32fc2e571d235f9967;hp=f5412d07861e7bc609a65463199dbdb4eeb3b27a;hpb=170d6b24cec9b7fe51d74b75544a097948e03082;p=ardour.git diff --git a/gtk2_ardour/tempo_dialog.h b/gtk2_ardour/tempo_dialog.h index f5412d0786..cbb237abb8 100644 --- a/gtk2_ardour/tempo_dialog.h +++ b/gtk2_ardour/tempo_dialog.h @@ -1,3 +1,22 @@ +/* + Copyright (C) 2000-2007 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + #ifndef __ardour_gtk_tempo_dialog_h__ #define __ardour_gtk_tempo_dialog_h__ @@ -8,6 +27,7 @@ #include #include #include +#include #include #include @@ -17,62 +37,63 @@ struct TempoDialog : public ArdourDialog { - Gtk::Entry bpm_entry; - Gtk::Frame bpm_frame; - Gtk::VBox vpacker; - Gtk::Button ok_button; - Gtk::Button cancel_button; - Gtk::HBox button_box; - Gtk::HBox hspacer1; - Gtk::VBox vspacer1; - Gtk::Entry when_bar_entry; - Gtk::Entry when_beat_entry; - Gtk::Label when_bar_label; - Gtk::Label when_beat_label; - Gtk::Table when_table; - Gtk::Frame when_frame; - char buf[64]; + Gtk::ComboBoxText note_types; + vector strings; + Gtk::Adjustment bpm_adjustment; + Gtk::SpinButton bpm_spinner; + Gtk::Frame bpm_frame; + Gtk::Button ok_button; + Gtk::Button cancel_button; + Gtk::HBox hspacer1, hspacer2; + Gtk::VBox vspacer1; + Gtk::Entry when_bar_entry; + Gtk::Entry when_beat_entry; + Gtk::Label when_bar_label; + Gtk::Label when_beat_label; + Gtk::Table when_table; + Gtk::Frame when_frame; + char buf[64]; - TempoDialog (ARDOUR::TempoMap&, jack_nframes_t, ARDOUR::stringcr_t action); - TempoDialog (ARDOUR::TempoSection&, ARDOUR::stringcr_t action); + TempoDialog (ARDOUR::TempoMap&, nframes_t, const string & action); + TempoDialog (ARDOUR::TempoSection&, const string & action); - double get_bpm (); - bool get_bbt_time (ARDOUR::BBT_Time&); + double get_bpm (); + double get_note_type (); + bool get_bbt_time (ARDOUR::BBT_Time&); - private: - void init (const ARDOUR::BBT_Time& start, double, bool); +private: + void init (const ARDOUR::BBT_Time& start, double, double, bool); + void bpm_changed (); + bool bpm_button_press (GdkEventButton* ); + bool bpm_button_release (GdkEventButton* ); + bool entry_key_release (GdkEventKey* ); + void note_types_change (); }; struct MeterDialog : public ArdourDialog { - Gtk::Entry bpb_entry; - Gtk::ComboBoxText note_types; - vector strings; - Gtk::Frame note_frame; - Gtk::Frame bpb_frame; - Gtk::VBox vpacker; - Gtk::Button ok_button; - Gtk::Button cancel_button; - Gtk::HBox button_box; - Gtk::HBox hspacer1, hspacer2; - Gtk::VBox vspacer1, vspacer2; - Gtk::Entry when_bar_entry; - Gtk::Entry when_beat_entry; - Gtk::Label when_bar_label; - Gtk::Label when_beat_label; - Gtk::Table when_table; - Gtk::Frame when_frame; - char buf[64]; + Gtk::Entry bpb_entry; + Gtk::ComboBoxText note_types; + vector strings; + Gtk::Frame bpb_frame; + Gtk::Button ok_button; + Gtk::Button cancel_button; + Gtk::Entry when_bar_entry; + Gtk::Frame when_frame; + char buf[64]; - MeterDialog (ARDOUR::TempoMap&, jack_nframes_t, ARDOUR::stringcr_t action); - MeterDialog (ARDOUR::MeterSection&, ARDOUR::stringcr_t action); + MeterDialog (ARDOUR::TempoMap&, nframes_t, const string & action); + MeterDialog (ARDOUR::MeterSection&, const string & action); - double get_bpb (); - double get_note_type (); - bool get_bbt_time (ARDOUR::BBT_Time&); + double get_bpb (); + double get_note_type (); + bool get_bbt_time (ARDOUR::BBT_Time&); - private: - void init (const ARDOUR::BBT_Time&, double, double, bool); +private: + void init (const ARDOUR::BBT_Time&, double, double, bool); + bool entry_key_press (GdkEventKey* ); + bool entry_key_release (GdkEventKey* ); + void note_types_change (); }; #endif /* __ardour_gtk_tempo_dialog_h__ */