From c742596024e387c08a0f3afe1c453a62064ab2b4 Mon Sep 17 00:00:00 2001 From: nick_m Date: Sat, 1 Oct 2016 09:08:54 +1000 Subject: fix_bbtppqn: setting start and length accounts for for multiple tempi, --- session_utils/fix_bbtppq.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'session_utils') diff --git a/session_utils/fix_bbtppq.cc b/session_utils/fix_bbtppq.cc index 504a8b1886..1d5277fc94 100644 --- a/session_utils/fix_bbtppq.cc +++ b/session_utils/fix_bbtppq.cc @@ -211,8 +211,8 @@ reset_start (Session* session, boost::shared_ptr region) /* force a change to start and start_beats */ PositionLockStyle old_pls = region->position_lock_style(); region->set_position_lock_style (AudioTime); - region->set_start (tmap.frame_at_quarter_note (new_start_qn) + 1); - region->set_start (tmap.frame_at_quarter_note (new_start_qn)); + region->set_start (tmap.frame_at_quarter_note (region->pulse() * 4.0) - tmap.frame_at_quarter_note ((region->pulse() * 4.0) - new_start_qn)+ 1); + region->set_start (tmap.frame_at_quarter_note (region->pulse() * 4.0) - tmap.frame_at_quarter_note ((region->pulse() * 4.0) - new_start_qn)); region->set_position_lock_style (old_pls); } @@ -228,8 +228,8 @@ reset_length (Session* session, boost::shared_ptr region) /* force a change to length and length_beats */ PositionLockStyle old_pls = region->position_lock_style(); region->set_position_lock_style (AudioTime); - region->set_length (tmap.frame_at_quarter_note (new_length_qn) + 1, 0); - region->set_length (tmap.frame_at_quarter_note (new_length_qn), 0); + region->set_length (tmap.frame_at_quarter_note ((region->pulse() * 4.0) + new_length_qn) + 1 - region->position(), 0); + region->set_length (tmap.frame_at_quarter_note ((region->pulse() * 4.0) + new_length_qn)- region->position(), 0); region->set_position_lock_style (old_pls); } -- cgit v1.2.3