AudioClock: remove duplicated code. amends 3a0a628a7
This commit is contained in:
parent
1692968627
commit
50963a03c2
@ -1255,55 +1255,35 @@ AudioClock::set_bbt (framepos_t when, framecnt_t offset, bool /*force*/)
|
||||
} else {
|
||||
TempoMap& tmap (_session->tempo_map());
|
||||
const double divisions = tmap.meter_section_at_frame (offset).divisions_per_bar();
|
||||
Timecode::BBT_Time sub_bbt;
|
||||
|
||||
if (negative) {
|
||||
BBT = tmap.bbt_at_beat (tmap.beat_at_frame (offset));
|
||||
Timecode::BBT_Time when_bbt = tmap.bbt_at_frame (offset - when);
|
||||
|
||||
BBT.bars -= when_bbt.bars;
|
||||
|
||||
if (BBT.ticks < when_bbt.ticks) {
|
||||
if (BBT.beats == 1) {
|
||||
BBT.bars--;
|
||||
BBT.beats = divisions;
|
||||
} else {
|
||||
BBT.beats--;
|
||||
}
|
||||
BBT.ticks = Timecode::BBT_Time::ticks_per_beat - (when_bbt.ticks - BBT.ticks);
|
||||
} else {
|
||||
BBT.ticks -= when_bbt.ticks;
|
||||
}
|
||||
|
||||
if (BBT.beats < when_bbt.beats) {
|
||||
BBT.bars--;
|
||||
BBT.beats = divisions - (when_bbt.beats - BBT.beats);
|
||||
} else {
|
||||
BBT.beats -= when_bbt.beats;
|
||||
}
|
||||
sub_bbt = tmap.bbt_at_frame (offset - when);
|
||||
} else {
|
||||
BBT = tmap.bbt_at_beat (tmap.beat_at_frame (when + offset));
|
||||
Timecode::BBT_Time when_bbt = tmap.bbt_at_frame (offset);
|
||||
sub_bbt = tmap.bbt_at_frame (offset);
|
||||
}
|
||||
|
||||
BBT.bars -= when_bbt.bars;
|
||||
BBT.bars -= sub_bbt.bars;
|
||||
|
||||
if (BBT.ticks < when_bbt.ticks) {
|
||||
if (BBT.beats == 1) {
|
||||
BBT.bars--;
|
||||
BBT.beats = divisions;
|
||||
} else {
|
||||
BBT.beats--;
|
||||
}
|
||||
BBT.ticks = Timecode::BBT_Time::ticks_per_beat - (when_bbt.ticks - BBT.ticks);
|
||||
} else {
|
||||
BBT.ticks -= when_bbt.ticks;
|
||||
}
|
||||
|
||||
if (BBT.beats < when_bbt.beats) {
|
||||
if (BBT.ticks < sub_bbt.ticks) {
|
||||
if (BBT.beats == 1) {
|
||||
BBT.bars--;
|
||||
BBT.beats = divisions - (when_bbt.beats - BBT.beats);
|
||||
BBT.beats = divisions;
|
||||
} else {
|
||||
BBT.beats -= when_bbt.beats;
|
||||
BBT.beats--;
|
||||
}
|
||||
BBT.ticks = Timecode::BBT_Time::ticks_per_beat - (sub_bbt.ticks - BBT.ticks);
|
||||
} else {
|
||||
BBT.ticks -= sub_bbt.ticks;
|
||||
}
|
||||
|
||||
if (BBT.beats < sub_bbt.beats) {
|
||||
BBT.bars--;
|
||||
BBT.beats = divisions - (sub_bbt.beats - BBT.beats);
|
||||
} else {
|
||||
BBT.beats -= sub_bbt.beats;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user