diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 6c48fa4e4f..d749e23914 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -4775,7 +4775,7 @@ Editor::duplicate_some_regions (RegionSelection& regions, float times) framepos_t const start_frame = regions.start (); framepos_t const end_frame = regions.end_frame (); - framecnt_t const gap = end_frame - start_frame; + framecnt_t const gap = end_frame - start_frame + 1; begin_reversible_command (Operations::duplicate_region); @@ -4790,7 +4790,7 @@ Editor::duplicate_some_regions (RegionSelection& regions, float times) latest_regionviews.clear (); sigc::connection c = rtv->view()->RegionViewAdded.connect (sigc::mem_fun(*this, &Editor::collect_new_region_view)); - framepos_t const position = end_frame + (r->first_frame() - start_frame); + framepos_t const position = end_frame + (r->first_frame() - start_frame + 1); playlist = (*i)->region()->playlist(); playlist->clear_changes (); playlist->duplicate (r, position, gap, times); @@ -4841,7 +4841,7 @@ Editor::duplicate_selection (float times) } else { end = selection->time.end_frame(); } - playlist->duplicate (*ri, end, times); + playlist->duplicate (*ri, end + 1, times); if (!in_command) { begin_reversible_command (_("duplicate selection"));