Simplify Editor::mouse_add_new_meter_event() a bit.
authornick_m <mainsbridge@gmail.com>
Mon, 4 Jul 2016 15:11:48 +0000 (01:11 +1000)
committernick_m <mainsbridge@gmail.com>
Sat, 9 Jul 2016 16:18:38 +0000 (02:18 +1000)
gtk2_ardour/editor_tempodisplay.cc

index 6c009b66e28efd917ab4b37fd7725b963e6708c9..ba73a01f0bd09e43357febe8f8cbccea5fa09c85 100644 (file)
@@ -353,17 +353,19 @@ Editor::mouse_add_new_meter_event (framepos_t frame)
        bpb = max (1.0, bpb); // XXX is this a reasonable limit?
 
        double note_type = meter_dialog.get_note_type ();
-       Timecode::BBT_Time requested;
 
+       Timecode::BBT_Time requested;
        meter_dialog.get_bbt_time (requested);
 
+       const double beat = map.beat_at_bbt (requested);
+
        begin_reversible_command (_("add meter mark"));
         XMLNode &before = map.get_state();
 
        if (meter_dialog.get_lock_style() == MusicTime) {
-               map.add_meter (Meter (bpb, note_type), map.beat_at_bbt (requested), requested,  map.frame_at_bbt (requested), MusicTime);
+               map.add_meter (Meter (bpb, note_type), beat, requested,  map.frame_at_beat (beat), MusicTime);
        } else {
-               map.add_meter (Meter (bpb, note_type), map.beat_at_bbt (requested), requested, map.frame_at_bbt (requested), AudioTime);
+               map.add_meter (Meter (bpb, note_type), beat, requested, map.frame_at_beat (beat), AudioTime);
        }
 
        _session->add_command(new MementoCommand<TempoMap>(map, &before, &map.get_state()));