mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-24 07:27:44 +01:00
re-adjust computation of non-beat aligned tempo change
git-svn-id: svn://localhost/ardour2/branches/3.0@11179 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
161c33a84f
commit
c7b7cb9a31
1 changed files with 11 additions and 2 deletions
|
|
@ -830,6 +830,8 @@ TempoMap::recompute_map (bool reassign_tempo_bbt, framepos_t end)
|
|||
}
|
||||
|
||||
_extend_map (tempo, meter, next_metric, current, current_frame, end);
|
||||
|
||||
dump (cerr);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -939,8 +941,15 @@ TempoMap::_extend_map (TempoSection* tempo, MeterSection* meter,
|
|||
|
||||
/* set tempo section location based on offset from last beat */
|
||||
|
||||
double bar_offset_in_beats = (ts->bar_offset() * meter->divisions_per_bar()) - 1;
|
||||
bar_offset_in_beats -= current.beats;
|
||||
double bar_offset_in_beats = 1 + (ts->bar_offset() * meter->divisions_per_bar());
|
||||
|
||||
/* we've already advanced
|
||||
* current.beats, but we want
|
||||
* the previous beat's value
|
||||
*/
|
||||
|
||||
bar_offset_in_beats -= current.beats - 1;
|
||||
|
||||
tempo->set_frame (current_frame + (bar_offset_in_beats * beat_frames));
|
||||
|
||||
/* advance to the location of the new (adjusted) beat */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue