diff --git a/gtk2_ardour/editor_markers.cc b/gtk2_ardour/editor_markers.cc index 3983ea5065..a3221e8e14 100644 --- a/gtk2_ardour/editor_markers.cc +++ b/gtk2_ardour/editor_markers.cc @@ -1662,9 +1662,9 @@ Editor::toggle_tempo_type () XMLNode &after = tmap->get_state(); _session->add_command (new Temporal::TempoCommand (_("change tempo type"), &before, &after)); - commit_reversible_command (); TempoMap::update (tmap); + commit_reversible_command (); } } @@ -1696,9 +1696,9 @@ Editor::toggle_tempo_continues () XMLNode &after = tmap->get_state(); _session->add_command (new Temporal::TempoCommand (_("change tempo clamp"), &before, &after)); - commit_reversible_command (); TempoMap::update (tmap); + commit_reversible_command (); } void @@ -1729,9 +1729,9 @@ Editor::ramp_to_next_tempo () XMLNode &after = tmap->get_state(); _session->add_command (new Temporal::TempoCommand (_("changed tempo ramp"), &before, &after)); - commit_reversible_command (); TempoMap::update (tmap); + commit_reversible_command (); } void diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 3b55e6b9d4..dc0aebd305 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -7452,9 +7452,9 @@ Editor::define_one_bar (timepos_t const & start, timepos_t const & end) XMLNode& after (tmap->get_state()); _session->add_command (new Temporal::TempoCommand (_("set tempo from range"), &before, &after)); - commit_reversible_command (); TempoMap::update (tmap); + commit_reversible_command (); } void diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc index 54373e6209..4204bc505f 100644 --- a/gtk2_ardour/editor_tempodisplay.cc +++ b/gtk2_ardour/editor_tempodisplay.cc @@ -491,9 +491,8 @@ Editor::mouse_add_new_tempo_event (timepos_t pos) map->set_tempo (map->tempo_at (pos), pos); XMLNode &after = map->get_state(); _session->add_command (new Temporal::TempoCommand (_("add tempo"), &before, &after)); - commit_reversible_command (); - TempoMap::update (map); + commit_reversible_command (); } //map.dump (cerr); @@ -534,9 +533,9 @@ Editor::mouse_add_new_meter_event (timepos_t pos) map->set_meter (Meter (bpb, note_type), pos); _session->add_command (new Temporal::TempoCommand (_("add time signature"), &before, &map->get_state())); - commit_reversible_command (); TempoMap::update (map); + commit_reversible_command (); //map.dump (cerr); } @@ -580,9 +579,9 @@ Editor::mouse_add_bbt_marker_event (timepos_t pos) map->set_bartime (bbt, marker_dialog.position(), name); _session->add_command (new Temporal::TempoCommand (_("add BBT marker"), &before, &map->get_state())); - commit_reversible_command (); TempoMap::update (map); + commit_reversible_command (); } @@ -658,9 +657,9 @@ Editor::edit_meter_section (Temporal::MeterPoint& section) XMLNode &after = tmap->get_state(); _session->add_command (new Temporal::TempoCommand (_("edit time signature"), &before, &after)); - commit_reversible_command (); TempoMap::update (tmap); + commit_reversible_command (); } void @@ -694,9 +693,9 @@ Editor::edit_bbt (MusicTimePoint& point) XMLNode &after = tmap->get_state(); _session->add_command (new Temporal::TempoCommand (_("edit tempo"), &before, &after)); - commit_reversible_command (); TempoMap::update (tmap); + commit_reversible_command (); } void @@ -731,9 +730,9 @@ Editor::edit_tempo_section (TempoPoint& section) XMLNode &after = tmap->get_state(); _session->add_command (new Temporal::TempoCommand (_("edit tempo"), &before, &after)); - commit_reversible_command (); TempoMap::update (tmap); + commit_reversible_command (); } void @@ -763,9 +762,9 @@ Editor::real_remove_bbt_marker (MusicTimePoint const * point) tmap->remove_bartime (*point); XMLNode &after = tmap->get_state(); _session->add_command (new Temporal::TempoCommand (_("remove BBT marker"), &before, &after)); - commit_reversible_command (); TempoMap::update (tmap); + commit_reversible_command (); return FALSE; } @@ -779,10 +778,8 @@ Editor::real_remove_tempo_marker (TempoPoint const * section) tmap->remove_tempo (*section); XMLNode &after = tmap->get_state(); _session->add_command (new Temporal::TempoCommand (_("remove tempo change"), &before, &after)); - commit_reversible_command (); - TempoMap::update (tmap); - + commit_reversible_command (); return FALSE; } @@ -816,9 +813,8 @@ Editor::real_remove_meter_marker (Temporal::MeterPoint const * section) tmap->remove_meter (*section); XMLNode &after = tmap->get_state(); _session->add_command (new Temporal::TempoCommand (_("remove time signature change"), &before, &after)); - commit_reversible_command (); - TempoMap::update (tmap); + commit_reversible_command (); return FALSE; } diff --git a/share/scripts/s_tempo_map.lua b/share/scripts/s_tempo_map.lua index 9f88857c5c..cbaf483d44 100644 --- a/share/scripts/s_tempo_map.lua +++ b/share/scripts/s_tempo_map.lua @@ -13,7 +13,11 @@ function factory () return function () tm:set_tempo (Temporal.Tempo (140, 120, 4), Temporal.timepos_t (0)) tm:set_tempo (Temporal.Tempo (120, 80, 4), Temporal.timepos_t.from_ticks (Temporal.ticks_per_beat * 4)) tm:set_tempo (Temporal.Tempo (80, 80, 4), Temporal.timepos_t.from_ticks (Temporal.ticks_per_beat * 4)) + Session:begin_reversible_command ("Change Tempo Map") Temporal.TempoMap.update (tm) + if not Session:abort_empty_reversible_command () then + Session:commit_reversible_command (nil) + end tm = nil -- Abort Edit example