summaryrefslogtreecommitdiff
path: root/session_utils
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2016-10-01 09:08:54 +1000
committernick_m <mainsbridge@gmail.com>2016-10-01 09:08:54 +1000
commitc742596024e387c08a0f3afe1c453a62064ab2b4 (patch)
tree652ecf1e2ee8f6aea02bef41608b155e92ea3c27 /session_utils
parentba4220b1354384e0ae2bbe7d0a39082bbc5766f9 (diff)
fix_bbtppqn: setting start and length accounts for for multiple tempi,
Diffstat (limited to 'session_utils')
-rw-r--r--session_utils/fix_bbtppq.cc8
1 files changed, 4 insertions, 4 deletions
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<MidiRegion> 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<MidiRegion> 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);
}