X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftempo_dialog.h;h=ba269a44259a1408c7e4c3a14ed5346d2255fab7;hb=6ee23029a338951705c589be6c61ab52099758b6;hp=c2053644a194e2208e1c4b636e829845de5e4027;hpb=9f63ab9931e6478472853bdda58da47ea29ac125;p=ardour.git diff --git a/gtk2_ardour/tempo_dialog.h b/gtk2_ardour/tempo_dialog.h index c2053644a1..ba269a4425 100644 --- a/gtk2_ardour/tempo_dialog.h +++ b/gtk2_ardour/tempo_dialog.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 Paul Davis + 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 @@ -30,73 +30,68 @@ #include #include -#include -#include +#include "ardour/types.h" +#include "ardour/tempo.h" #include "ardour_dialog.h" -struct TempoDialog : public ArdourDialog +class TempoDialog : public ArdourDialog { - 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&, nframes_t, const string & action); - TempoDialog (ARDOUR::TempoSection&, const string & action); +public: + TempoDialog (ARDOUR::TempoMap&, framepos_t, const std::string & action); + TempoDialog (ARDOUR::TempoSection&, const std::string & action); double get_bpm (); double get_note_type (); - bool get_bbt_time (ARDOUR::BBT_Time&); - + bool get_bbt_time (Timecode::BBT_Time&); + private: - void init (const ARDOUR::BBT_Time& start, double, double, bool); + void init (const Timecode::BBT_Time& start, double, double, bool); void bpm_changed (); bool bpm_button_press (GdkEventButton* ); bool bpm_button_release (GdkEventButton* ); - void note_types_change (); -}; + bool entry_key_release (GdkEventKey* ); + void pulse_change (); -struct MeterDialog : public ArdourDialog -{ - Gtk::Entry bpb_entry; - Gtk::ComboBoxText note_types; - vector strings; - Gtk::Frame bpb_frame; - Gtk::Button ok_button; - Gtk::Button cancel_button; + typedef std::map NoteTypes; + NoteTypes note_types; + + Gtk::ComboBoxText pulse_selector; + Gtk::Adjustment bpm_adjustment; + Gtk::SpinButton bpm_spinner; 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]; - - MeterDialog (ARDOUR::TempoMap&, nframes_t, const string & action); - MeterDialog (ARDOUR::MeterSection&, const string & action); + Gtk::Label pulse_selector_label; +}; + +class MeterDialog : public ArdourDialog +{ +public: + + MeterDialog (ARDOUR::TempoMap&, framepos_t, const std::string & action); + MeterDialog (ARDOUR::MeterSection&, const std::string & action); double get_bpb (); double get_note_type (); - bool get_bbt_time (ARDOUR::BBT_Time&); + bool get_bbt_time (Timecode::BBT_Time&); private: - void init (const ARDOUR::BBT_Time&, double, double, bool); - bool bpb_key_press (GdkEventKey* ); - bool bpb_key_release (GdkEventKey* ); - void note_types_change (); + void init (const Timecode::BBT_Time&, double, double, bool); + bool entry_key_press (GdkEventKey* ); + bool entry_key_release (GdkEventKey* ); + void note_type_change (); + + typedef std::map NoteTypes; + NoteTypes note_types; + + Gtk::Entry bpb_entry; + Gtk::ComboBoxText note_type; + std::vector strings; + Gtk::Button ok_button; + Gtk::Button cancel_button; + Gtk::Entry when_bar_entry; }; #endif /* __ardour_gtk_tempo_dialog_h__ */