- framepos_t const f = _session->tempo_map().predict_tempo_frame (section, when);
- double const p = _session->tempo_map().predict_tempo_pulse (section, f);
- _session->tempo_map().replace_tempo (*section, Tempo (bpm, nt), p, f, tempo_dialog.get_tempo_type(), tempo_dialog.get_lock_style());
+ if (tempo_dialog.get_lock_style() == AudioTime) {
+ framepos_t const f = _session->tempo_map().predict_tempo_position (section, when).second;
+ _session->tempo_map().replace_tempo (*section, tempo, 0.0, f, ttype, AudioTime);
+ } else {
+ double const p = _session->tempo_map().predict_tempo_position (section, when).first;
+ _session->tempo_map().replace_tempo (*section, tempo, p, 0, ttype, MusicTime);
+ }