diff --git a/gtk2_ardour/bbt_marker_dialog.cc b/gtk2_ardour/bbt_marker_dialog.cc index d7df7d572e..79a036b2fe 100644 --- a/gtk2_ardour/bbt_marker_dialog.cc +++ b/gtk2_ardour/bbt_marker_dialog.cc @@ -29,10 +29,11 @@ using namespace ARDOUR; using namespace PBD; using namespace Temporal; -BBTMarkerDialog::BBTMarkerDialog (timepos_t const & pos) +BBTMarkerDialog::BBTMarkerDialog (timepos_t const & pos, BBT_Time const& bbt) : ArdourDialog (_("New Music Time")) , _point (0) , _position (pos) + , _bbt (bbt) , entry_label (_("BBT")) , name_label (_("Name")) @@ -44,6 +45,7 @@ BBTMarkerDialog::BBTMarkerDialog (MusicTimePoint& p) : ArdourDialog (_("Edit Music Time")) , _point (&p) , _position (timepos_t::from_superclock (p.sclock())) + , _bbt (TempoMap::use()->bbt_at (_position).round_to_beat ()) , entry_label (_("BBT")) , name_label (_("Name")) { @@ -53,10 +55,8 @@ BBTMarkerDialog::BBTMarkerDialog (MusicTimePoint& p) void BBTMarkerDialog::init (bool add) { - BBT_Time bbt = TempoMap::use()->bbt_at (_position).round_to_beat (); - bar_entry.set_range (1, 9999); - beat_entry.set_range (1, 9999); + beat_entry.set_range (1, 9999); // XXX (1, time-signature denominator at _position) ?! bar_entry.set_digits (0); beat_entry.set_digits (0); @@ -64,8 +64,8 @@ BBTMarkerDialog::init (bool add) bbt_box.pack_start (bar_entry); bbt_box.pack_start (beat_entry); - bar_entry.set_value (bbt.bars); - beat_entry.set_value (bbt.beats); + bar_entry.set_value (_bbt.bars); + beat_entry.set_value (_bbt.beats); name_box.pack_start (name_label); name_box.pack_start (name_entry); diff --git a/gtk2_ardour/bbt_marker_dialog.h b/gtk2_ardour/bbt_marker_dialog.h index 805587b474..63c1e06756 100644 --- a/gtk2_ardour/bbt_marker_dialog.h +++ b/gtk2_ardour/bbt_marker_dialog.h @@ -33,7 +33,7 @@ class BBTMarkerDialog : public ArdourDialog { public: - BBTMarkerDialog (Temporal::timepos_t const &); + BBTMarkerDialog (Temporal::timepos_t const &, Temporal::BBT_Time const&); BBTMarkerDialog (Temporal::MusicTimePoint&); Temporal::timepos_t position() const; @@ -43,7 +43,8 @@ public: private: void init (bool add); Temporal::MusicTimePoint* _point; - Temporal::timepos_t _position; + Temporal::timepos_t _position; + Temporal::BBT_Time _bbt; Gtk::HBox bbt_box; Gtk::SpinButton bar_entry; diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc index 670ae79a62..69da81ba7e 100644 --- a/gtk2_ardour/editor_tempodisplay.cc +++ b/gtk2_ardour/editor_tempodisplay.cc @@ -535,13 +535,7 @@ Editor::add_bbt_marker_at_playhead_cursor () return; } - timepos_t pos (_session->transport_sample ()); - - BBT_Time bbt = Temporal::TempoMap::use()->bbt_at (pos); - std::string name = _("Playhead"); - - TempoMapChange tmc (*this, _("add BBT marker")); - tmc.map().set_bartime (bbt, pos, name); + mouse_add_bbt_marker_event (timepos_t (_session->transport_sample ())); } void @@ -553,7 +547,7 @@ Editor::mouse_add_bbt_marker_event (timepos_t pos) /* position markers must always be positioned using audio time */ - BBTMarkerDialog marker_dialog (timepos_t (pos.samples())); + BBTMarkerDialog marker_dialog (timepos_t (pos.samples()), BBT_Time ()); /* run this modally since we are finishing a drag and the drag object * will be destroyed when we return from here