Tempo ramps - make moving music-locked meters less flakey, remove some code.

This commit is contained in:
nick_m
2016-04-18 07:00:19 +10:00
parent 5e2280eead
commit 29e0b2e5bf
3 changed files with 14 additions and 42 deletions

View File

@@ -391,7 +391,7 @@ class LIBARDOUR_API TempoMap : public PBD::StatefulDestructible
void gui_move_tempo_frame (TempoSection*, const framepos_t& frame);
void gui_move_tempo_beat (TempoSection*, const double& frame);
void gui_move_meter (MeterSection*, const framepos_t& frame);
void gui_move_meter (MeterSection*, const double& beat);
void gui_move_meter (MeterSection*, const double& pulse);
bool gui_change_tempo (TempoSection*, const Tempo& bpm);
bool can_solve_bbt (TempoSection* section, const Timecode::BBT_Time& bbt);

View File

@@ -1932,23 +1932,7 @@ TempoMap::solve_map (Metrics& imaginary, TempoSection* section, const framepos_t
recompute_meters (imaginary);
return true;
}
#if (0)
MetricSectionSorter cmp;
imaginary.sort (cmp);
if (section->position_lock_style() == MusicTime) {
/* we're setting the frame */
section->set_position_lock_style (AudioTime);
recompute_tempos (imaginary);
section->set_position_lock_style (MusicTime);
} else {
recompute_tempos (imaginary);
}
if (check_solved (imaginary, true)) {
recompute_meters (imaginary);
return true;
}
#endif
//dump (imaginary, std::cerr);
return false;
@@ -2023,23 +2007,7 @@ TempoMap::solve_map (Metrics& imaginary, TempoSection* section, const double& pu
recompute_meters (imaginary);
return true;
}
#if (0)
MetricSectionFrameSorter fcmp;
imaginary.sort (fcmp);
if (section->position_lock_style() == AudioTime) {
/* we're setting the pulse */
section->set_position_lock_style (MusicTime);
recompute_tempos (imaginary);
section->set_position_lock_style (AudioTime);
} else {
recompute_tempos (imaginary);
}
if (check_solved (imaginary, false)) {
recompute_meters (imaginary);
return true;
}
#endif
//dump (imaginary, std::cerr);
return false;
@@ -2347,11 +2315,11 @@ TempoMap::gui_move_meter (MeterSection* ms, const framepos_t& frame)
}
void
TempoMap::gui_move_meter (MeterSection* ms, const double& beat)
TempoMap::gui_move_meter (MeterSection* ms, const double& pulse)
{
{
Glib::Threads::RWLock::WriterLock lm (lock);
solve_map (_metrics, ms, pulse_at_beat_locked (_metrics, beat));
solve_map (_metrics, ms, pulse);
}
MetricPositionChanged (); // Emit Signal