summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mainsbridge <beatroute@iprimus.com.au>2008-01-29 14:32:34 +0000
committerNick Mainsbridge <beatroute@iprimus.com.au>2008-01-29 14:32:34 +0000
commit1b483c2ba2e8220a04b0c46aef3c6856ad2ac64c (patch)
tree14ba9153b76b7467553ff420c108df9fe2dc475f
parentc0185b419e48fb7513e4badb89e6505e73d18736 (diff)
make multi-duplicate dialog less ugly, ditto with tempo dialogs. fix broken adding of tempomap meters. fix indenting and remove some unused stuff in tempo_dialog.h.
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2973 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/editor.cc20
-rw-r--r--gtk2_ardour/editor_tempodisplay.cc13
-rw-r--r--gtk2_ardour/tempo_dialog.cc216
-rw-r--r--gtk2_ardour/tempo_dialog.h108
-rw-r--r--libs/ardour/tempo.cc4
5 files changed, 184 insertions, 177 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index cb43a987b5..7de571c7a0 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -3077,26 +3077,32 @@ Editor::duplicate_dialog (bool with_dialog)
if (with_dialog) {
- ArdourDialog win ("duplicate dialog");
- Label label (_("Duplicate how many times?"));
+ ArdourDialog win ("Duplication Dialog");
+ Label label (_("Number of Duplications:"));
Adjustment adjustment (1.0, 1.0, 1000000.0, 1.0, 5.0);
- SpinButton spinner (adjustment);
+ SpinButton spinner (adjustment, 0.0, 1);
+ HBox hbox;
win.get_vbox()->set_spacing (12);
- win.get_vbox()->pack_start (label);
+ win.get_vbox()->pack_start (hbox);
+ hbox.set_border_width (6);
+ hbox.pack_start (label, PACK_EXPAND_PADDING, 12);
/* dialogs have ::add_action_widget() but that puts the spinner in the wrong
place, visually. so do this by hand.
*/
- win.get_vbox()->pack_start (spinner);
+ hbox.pack_start (spinner, PACK_EXPAND_PADDING, 12);
spinner.signal_activate().connect (sigc::bind (mem_fun (win, &ArdourDialog::response), RESPONSE_ACCEPT));
-
+ spinner.grab_focus();
+
+ hbox.show ();
label.show ();
spinner.show ();
- win.add_button (Stock::OK, RESPONSE_ACCEPT);
win.add_button (Stock::CANCEL, RESPONSE_CANCEL);
+ win.add_button (_("Duplicate"), RESPONSE_ACCEPT);
+ win.set_default_response (RESPONSE_ACCEPT);
win.set_position (WIN_POS_MOUSE);
diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc
index 26363b9997..7e0181725b 100644
--- a/gtk2_ardour/editor_tempodisplay.cc
+++ b/gtk2_ardour/editor_tempodisplay.cc
@@ -293,7 +293,8 @@ Editor::mouse_add_new_tempo_event (nframes_t frame)
TempoDialog tempo_dialog (map, frame, _("add"));
tempo_dialog.set_position (Gtk::WIN_POS_MOUSE);
- tempo_dialog.signal_realize().connect (bind (sigc::ptr_fun (set_decoration), &tempo_dialog, Gdk::WMDecoration (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH)));
+ //this causes compiz to display no border.
+ //tempo_dialog.signal_realize().connect (bind (sigc::ptr_fun (set_decoration), &tempo_dialog, Gdk::WMDecoration (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH)));
ensure_float (tempo_dialog);
@@ -335,7 +336,9 @@ Editor::mouse_add_new_meter_event (nframes_t frame)
MeterDialog meter_dialog (map, frame, _("add"));
meter_dialog.set_position (Gtk::WIN_POS_MOUSE);
- meter_dialog.signal_realize().connect (bind (sigc::ptr_fun (set_decoration), &meter_dialog, Gdk::WMDecoration (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH)));
+
+ //this causes compiz to display no border..
+ //meter_dialog.signal_realize().connect (bind (sigc::ptr_fun (set_decoration), &meter_dialog, Gdk::WMDecoration (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH)));
ensure_float (meter_dialog);
@@ -351,9 +354,11 @@ Editor::mouse_add_new_meter_event (nframes_t frame)
double note_type = meter_dialog.get_note_type ();
BBT_Time requested;
-
+
meter_dialog.get_bbt_time (requested);
-
+ cerr << "after requested bar: " << requested.bars << " beat " << requested.beats << endl;
+
+
begin_reversible_command (_("add meter mark"));
XMLNode &before = map.get_state();
map.add_meter (Meter (bpb, note_type), requested);
diff --git a/gtk2_ardour/tempo_dialog.cc b/gtk2_ardour/tempo_dialog.cc
index 9d5ba926c5..0c99a4eeb0 100644
--- a/gtk2_ardour/tempo_dialog.cc
+++ b/gtk2_ardour/tempo_dialog.cc
@@ -36,12 +36,11 @@ TempoDialog::TempoDialog (TempoMap& map, nframes_t frame, const string & action)
: ArdourDialog (_("edit tempo")),
bpm_adjustment (60.0, 1.0, 999.9, 0.1, 1.0, 1.0),
bpm_spinner (bpm_adjustment),
- bpm_frame (_("Beats per minute")),
- note_frame (_("BPM denominator")),
+ bpm_frame (_("Tempo")),
ok_button (action),
cancel_button (_("Cancel")),
- when_bar_label (_("Bar")),
- when_beat_label (_("Beat")),
+ when_bar_label (_("Bar"), ALIGN_LEFT, ALIGN_CENTER),
+ when_beat_label (_("Beat"), ALIGN_LEFT, ALIGN_CENTER),
when_table (2, 2),
when_frame (_("Location"))
{
@@ -56,11 +55,11 @@ TempoDialog::TempoDialog (TempoSection& section, const string & action)
: ArdourDialog ("tempo dialog"),
bpm_adjustment (60.0, 1.0, 999.9, 0.1, 1.0, 1.0),
bpm_spinner (bpm_adjustment),
- bpm_frame (_("Beats per minute")),
+ bpm_frame (_("Tempo")),
ok_button (action),
cancel_button (_("Cancel")),
- when_bar_label (_("Bar")),
- when_beat_label (_("Beat")),
+ when_bar_label (_("Bar"), ALIGN_LEFT, ALIGN_CENTER),
+ when_beat_label (_("Beat"), ALIGN_LEFT, ALIGN_CENTER),
when_table (2, 2),
when_frame (_("Location"))
{
@@ -108,18 +107,18 @@ TempoDialog::init (const BBT_Time& when, double bpm, double note_type, bool mova
else
note_types.set_active_text (_("quarter (4)"));
- hspacer1.set_border_width (5);
- hspacer1.pack_start (bpm_spinner, false, false);
- vspacer1.set_border_width (5);
- vspacer1.pack_start (hspacer1, false, false);
+ Label* bpm_label = manage(new Label(_("Beats Per Minute:"), ALIGN_LEFT, ALIGN_CENTER));
- hspacer2.set_border_width (5);
- hspacer2.pack_start (note_types, false, false);
- vspacer2.set_border_width (5);
- vspacer2.pack_start (hspacer2, false, false);
+ hspacer1.set_border_width (6);
+ hspacer1.pack_end (bpm_spinner, PACK_EXPAND_PADDING);
+ hspacer1.pack_start (*bpm_label, PACK_EXPAND_PADDING);
+ vspacer1.set_border_width (6);
+ vspacer1.pack_start (hspacer1, PACK_EXPAND_PADDING);
+
+ hspacer2.set_border_width (6);
+ hspacer2.pack_start (note_types, PACK_EXPAND_PADDING);
bpm_frame.add (vspacer1);
- note_frame.add (vspacer2);
if (movable) {
snprintf (buf, sizeof (buf), "%" PRIu32, when.bars);
@@ -139,35 +138,40 @@ TempoDialog::init (const BBT_Time& when, double bpm, double note_type, bool mova
when_table.set_homogeneous (true);
when_table.set_row_spacings (2);
when_table.set_col_spacings (2);
- when_table.set_border_width (5);
+ when_table.set_border_width (6);
- when_table.attach (when_bar_label, 0, 1, 0, 1, Gtk::AttachOptions(0), Gtk::FILL|Gtk::EXPAND);
- when_table.attach (when_bar_entry, 0, 1, 1, 2, Gtk::AttachOptions(0), Gtk::FILL|Gtk::EXPAND);
+ when_table.attach (when_bar_label, 0, 1, 0, 1, AttachOptions(0), FILL|EXPAND);
+ when_table.attach (when_bar_entry, 1, 2, 0, 1, AttachOptions(0), FILL|EXPAND);
- when_table.attach (when_beat_label, 1, 2, 0, 1, Gtk::AttachOptions(0), Gtk::AttachOptions(0));
- when_table.attach (when_beat_entry, 1, 2, 1, 2, Gtk::AttachOptions(0), Gtk::AttachOptions(0));
+ when_table.attach (when_beat_label, 0, 1, 1, 2, AttachOptions(0), AttachOptions(0));
+ when_table.attach (when_beat_entry, 1, 2, 1, 2, AttachOptions(0), AttachOptions(0));
+ HBox* when_hbox = manage (new HBox());
+ Label* when_label = manage(new Label(_("Tempo Begins at:"), ALIGN_LEFT, ALIGN_TOP));
+ when_hbox->pack_end(when_table, PACK_EXPAND_PADDING, 6);
+ when_hbox->pack_start(*when_label, PACK_EXPAND_PADDING, 6);
+
when_frame.set_name ("MetricDialogFrame");
- when_frame.add (when_table);
+ when_frame.add (*when_hbox);
+
+ get_vbox()->pack_end (when_frame, false, false);
+ when_frame.show_all();
- get_vbox()->pack_start (when_frame, false, false);
}
bpm_frame.set_name ("MetricDialogFrame");
bpm_spinner.set_name ("MetricEntry");
- note_frame.set_name ("MetricDialogFrame");
get_vbox()->set_border_width (12);
- get_vbox()->pack_start (bpm_frame, false, false);
- get_vbox()->pack_start (note_frame, false, false);
+ get_vbox()->pack_end (bpm_frame, false, false);
add_button (Stock::CANCEL, RESPONSE_CANCEL);
add_button (Stock::APPLY, RESPONSE_ACCEPT);
- set_response_sensitive (Gtk::RESPONSE_ACCEPT, false);
+ set_response_sensitive (RESPONSE_ACCEPT, false);
set_default_response (RESPONSE_ACCEPT);
- get_vbox()->show_all();
- bpm_spinner.show();
+ bpm_frame.show_all ();
+ bpm_spinner.show ();
set_name ("MetricDialog");
@@ -188,7 +192,7 @@ TempoDialog::bpm_button_release (GdkEventButton* ev)
{
/* the value has been modified, accept should work now */
- set_response_sensitive (Gtk::RESPONSE_ACCEPT, true);
+ set_response_sensitive (RESPONSE_ACCEPT, true);
return false;
}
@@ -209,6 +213,8 @@ TempoDialog::get_bbt_time (BBT_Time& requested)
return false;
}
+ requested.ticks = 0;
+
return true;
}
@@ -244,18 +250,17 @@ TempoDialog::get_note_type ()
void
TempoDialog::note_types_change ()
{
- set_response_sensitive (Gtk::RESPONSE_ACCEPT, true);
+ set_response_sensitive (RESPONSE_ACCEPT, true);
}
MeterDialog::MeterDialog (TempoMap& map, nframes_t frame, const string & action)
: ArdourDialog ("meter dialog"),
- note_frame (_("Meter denominator")),
- bpb_frame (_("Beats per bar")),
+ bpb_frame (_("Meter")),
ok_button (action),
cancel_button (_("Cancel")),
- when_bar_label (_("Bar")),
- when_beat_label (_("Beat")),
+ when_bar_label (_("Bar"), ALIGN_LEFT, ALIGN_CENTER),
+ when_beat_label (_("Beat"), ALIGN_LEFT, ALIGN_CENTER),
when_frame (_("Location"))
{
BBT_Time when;
@@ -268,12 +273,11 @@ MeterDialog::MeterDialog (TempoMap& map, nframes_t frame, const string & action)
MeterDialog::MeterDialog (MeterSection& section, const string & action)
: ArdourDialog ("meter dialog"),
- note_frame (_("Meter denominator")),
- bpb_frame (_("Beats per bar")),
+ bpb_frame (_("Meter")),
ok_button (action),
cancel_button (_("Cancel")),
- when_bar_label (_("Bar")),
- when_beat_label (_("Beat")),
+ when_bar_label (_("Bar"), ALIGN_LEFT, ALIGN_CENTER),
+ when_beat_label (_("Beat"), ALIGN_LEFT, ALIGN_CENTER),
when_frame (_("Location"))
{
init (section.start(), section.beats_per_bar(), section.note_divisor(), section.movable());
@@ -320,19 +324,16 @@ MeterDialog::init (const BBT_Time& when, double bpb, double note_type, bool mova
note_types.set_active_text (_("thirty-second (32)"));
else
note_types.set_active_text (_("quarter (4)"));
-
- hspacer1.set_border_width (5);
- hspacer1.pack_start (note_types, false, false);
- vspacer1.set_border_width (5);
- vspacer1.pack_start (hspacer1, false, false);
- hspacer2.set_border_width (5);
- hspacer2.pack_start (bpb_entry, false, false);
- vspacer2.set_border_width (5);
- vspacer2.pack_start (hspacer2, false, false);
+ Label* note_label = manage(new Label(_("Note Value:"), ALIGN_LEFT, ALIGN_CENTER));
+ Label* bpb_label = manage(new Label(_("Beats Per Bar:"), ALIGN_LEFT, ALIGN_CENTER));
+ Table* bpb_table = manage (new Table(2, 2));
- note_frame.add (vspacer1);
- bpb_frame.add (vspacer2);
+ bpb_table->attach (*bpb_label, 0, 1, 0, 1, FILL|EXPAND, FILL|EXPAND, 6, 6);
+ bpb_table->attach (bpb_entry, 1, 2, 0, 1, FILL|EXPAND, FILL|EXPAND, 6, 6);
+ bpb_table->attach (*note_label, 0, 1, 1, 2, FILL|EXPAND, FILL|EXPAND, 6, 6);
+ bpb_table->attach (note_types, 1, 2, 1, 2, FILL|EXPAND, SHRINK, 6, 6);
+ bpb_frame.add (*bpb_table);
if (movable) {
snprintf (buf, sizeof (buf), "%" PRIu32, when.bars);
@@ -352,26 +353,29 @@ MeterDialog::init (const BBT_Time& when, double bpb, double note_type, bool mova
when_table.set_homogeneous (true);
when_table.set_row_spacings (2);
when_table.set_col_spacings (2);
- when_table.set_border_width (5);
+ when_table.set_border_width (6);
- when_table.attach (when_bar_label, 0, 1, 0, 1, Gtk::AttachOptions(0), Gtk::FILL|Gtk::EXPAND);
- when_table.attach (when_bar_entry, 0, 1, 1, 2, Gtk::AttachOptions(0), Gtk::FILL|Gtk::EXPAND);
-
- when_table.attach (when_beat_label, 1, 2, 0, 1, Gtk::AttachOptions(0), Gtk::AttachOptions(0));
- when_table.attach (when_beat_entry, 1, 2, 1, 2, Gtk::AttachOptions(0), Gtk::AttachOptions(0));
+ when_table.attach (when_bar_label, 0, 1, 0, 1, AttachOptions(0), FILL|EXPAND);
+ when_table.attach (when_bar_entry, 1, 2, 0, 1, AttachOptions(0), FILL|EXPAND);
+ when_table.attach (when_beat_label, 0, 1, 1, 2, AttachOptions(0), AttachOptions(0));
+ when_table.attach (when_beat_entry, 1, 2, 1, 2, AttachOptions(0), AttachOptions(0));
+
+ HBox* when_hbox = manage (new HBox());
+ Label* when_label = manage(new Label(_("Meter Begins at:"), ALIGN_LEFT, ALIGN_TOP));
+ when_hbox->pack_end(when_table, PACK_EXPAND_PADDING, 6);
+ when_hbox->pack_start(*when_label, PACK_EXPAND_PADDING, 6);
+
when_frame.set_name ("MetricDialogFrame");
- when_frame.add (when_table);
+ when_frame.add (*when_hbox);
- get_vbox()->pack_start (when_frame, false, false);
+ get_vbox()->pack_end (when_frame, false, false);
}
get_vbox()->set_border_width (12);
get_vbox()->pack_start (bpb_frame, false, false);
- get_vbox()->pack_start (note_frame, false, false);
-
+
bpb_frame.set_name ("MetricDialogFrame");
- note_frame.set_name ("MetricDialogFrame");
bpb_entry.set_name ("MetricEntry");
add_button (Stock::CANCEL, RESPONSE_CANCEL);
@@ -380,7 +384,6 @@ MeterDialog::init (const BBT_Time& when, double bpb, double note_type, bool mova
set_default_response (RESPONSE_ACCEPT);
get_vbox()->show_all ();
- bpb_entry.show ();
set_name ("MetricDialog");
bpb_entry.signal_activate().connect (bind (mem_fun (*this, &MeterDialog::response), RESPONSE_ACCEPT));
@@ -393,48 +396,48 @@ bool
MeterDialog::bpb_key_press (GdkEventKey* ev)
{
-switch (ev->keyval) {
-
- case GDK_0:
- case GDK_1:
- case GDK_2:
- case GDK_3:
- case GDK_4:
- case GDK_5:
- case GDK_6:
- case GDK_7:
- case GDK_8:
- case GDK_9:
- case GDK_KP_0:
- case GDK_KP_1:
- case GDK_KP_2:
- case GDK_KP_3:
- case GDK_KP_4:
- case GDK_KP_5:
- case GDK_KP_6:
- case GDK_KP_7:
- case GDK_KP_8:
- case GDK_KP_9:
- case GDK_period:
- case GDK_comma:
- case GDK_KP_Delete:
- case GDK_KP_Enter:
- case GDK_Delete:
- case GDK_BackSpace:
- case GDK_Escape:
- case GDK_Return:
- case GDK_Home:
- case GDK_End:
- case GDK_Left:
- case GDK_Right:
- case GDK_Num_Lock:
- case GDK_Tab:
- return FALSE;
- default:
- break;
- }
-
- return TRUE;
+ switch (ev->keyval) {
+
+ case GDK_0:
+ case GDK_1:
+ case GDK_2:
+ case GDK_3:
+ case GDK_4:
+ case GDK_5:
+ case GDK_6:
+ case GDK_7:
+ case GDK_8:
+ case GDK_9:
+ case GDK_KP_0:
+ case GDK_KP_1:
+ case GDK_KP_2:
+ case GDK_KP_3:
+ case GDK_KP_4:
+ case GDK_KP_5:
+ case GDK_KP_6:
+ case GDK_KP_7:
+ case GDK_KP_8:
+ case GDK_KP_9:
+ case GDK_period:
+ case GDK_comma:
+ case GDK_KP_Delete:
+ case GDK_KP_Enter:
+ case GDK_Delete:
+ case GDK_BackSpace:
+ case GDK_Escape:
+ case GDK_Return:
+ case GDK_Home:
+ case GDK_End:
+ case GDK_Left:
+ case GDK_Right:
+ case GDK_Num_Lock:
+ case GDK_Tab:
+ return FALSE;
+ default:
+ break;
+ }
+
+ return TRUE;
}
bool
@@ -451,7 +454,7 @@ MeterDialog::bpb_key_release (GdkEventKey* ev)
void
MeterDialog::note_types_change ()
{
- set_response_sensitive (Gtk::RESPONSE_ACCEPT, true);
+ set_response_sensitive (RESPONSE_ACCEPT, true);
}
double
@@ -497,7 +500,6 @@ MeterDialog::get_note_type ()
bool
MeterDialog::get_bbt_time (BBT_Time& requested)
{
- requested.ticks = 0;
if (sscanf (when_bar_entry.get_text().c_str(), "%" PRIu32, &requested.bars) != 1) {
return false;
@@ -507,5 +509,7 @@ MeterDialog::get_bbt_time (BBT_Time& requested)
return false;
}
+ requested.ticks = 0;
+
return true;
}
diff --git a/gtk2_ardour/tempo_dialog.h b/gtk2_ardour/tempo_dialog.h
index 47baa0cd42..c2053644a1 100644
--- a/gtk2_ardour/tempo_dialog.h
+++ b/gtk2_ardour/tempo_dialog.h
@@ -37,74 +37,66 @@
struct TempoDialog : public ArdourDialog
{
- Gtk::ComboBoxText note_types;
- vector<string> strings;
- Gtk::Adjustment bpm_adjustment;
- Gtk::SpinButton bpm_spinner;
- Gtk::Frame bpm_frame;
- Gtk::Frame note_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::ComboBoxText note_types;
+ vector<string> 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);
+ TempoDialog (ARDOUR::TempoMap&, nframes_t, const string & action);
+ TempoDialog (ARDOUR::TempoSection&, const string & action);
- double get_bpm ();
- double get_note_type ();
- 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, double, bool);
- void bpm_changed ();
- bool bpm_button_press (GdkEventButton* );
- bool bpm_button_release (GdkEventButton* );
- void note_types_change ();
+private:
+ void init (const ARDOUR::BBT_Time& start, double, double, bool);
+ void bpm_changed ();
+ bool bpm_button_press (GdkEventButton* );
+ bool bpm_button_release (GdkEventButton* );
+ void note_types_change ();
};
struct MeterDialog : public ArdourDialog
{
- Gtk::Entry bpb_entry;
- Gtk::ComboBoxText note_types;
- vector<string> 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<string> strings;
+ Gtk::Frame bpb_frame;
+ Gtk::Button ok_button;
+ Gtk::Button cancel_button;
+ 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);
+ 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);
- bool bpb_key_press (GdkEventKey* );
- bool bpb_key_release (GdkEventKey* );
- void note_types_change ();
+private:
+ void init (const ARDOUR::BBT_Time&, double, double, bool);
+ bool bpb_key_press (GdkEventKey* );
+ bool bpb_key_release (GdkEventKey* );
+ void note_types_change ();
};
#endif /* __ardour_gtk_tempo_dialog_h__ */
diff --git a/libs/ardour/tempo.cc b/libs/ardour/tempo.cc
index 6e74c49859..b2865fc399 100644
--- a/libs/ardour/tempo.cc
+++ b/libs/ardour/tempo.cc
@@ -449,7 +449,7 @@ TempoMap::add_meter (const Meter& meter, BBT_Time where)
where.ticks = 0;
- do_insert (new MeterSection (where, meter.beats_per_bar(), meter.note_divisor()), false);
+ do_insert (new MeterSection (where, meter.beats_per_bar(), meter.note_divisor()), true);
}
StateChanged (Change (0));
@@ -460,7 +460,7 @@ TempoMap::add_meter (const Meter& meter, nframes_t where)
{
{
Glib::RWLock::WriterLock lm (lock);
- do_insert (new MeterSection (where, meter.beats_per_bar(), meter.note_divisor()), true);
+ do_insert (new MeterSection (where, meter.beats_per_bar(), meter.note_divisor()), false);
}
StateChanged (Change (0));