Promote the preroll_seconds config option to include musical time:
Interpret negative preroll time as bars
This commit is contained in:
parent
d650b3c292
commit
ef64c7ba19
@ -2609,17 +2609,16 @@ Editor::play_selection ()
|
|||||||
framepos_t
|
framepos_t
|
||||||
Editor::get_preroll (framepos_t pos)
|
Editor::get_preroll (framepos_t pos)
|
||||||
{
|
{
|
||||||
#if 0 // TODO: this needs a config option, or special case (e.g. negative get_preroll_seconds ())
|
const float pr = Config->get_preroll_seconds();
|
||||||
if (pos >= 0) {
|
if (pos >= 0 && pr < 0) {
|
||||||
/* currently 1 bar's worth of pre-roll, not aligned to bar/beat
|
/* currently 1 bar's worth of pre-roll, not aligned to bar/beat
|
||||||
* to align to a bar before pos, see count_in, session_transport.cc
|
* to align to a bar before pos, see count_in, session_transport.cc
|
||||||
*/
|
*/
|
||||||
const Tempo& tempo = _session->tempo_map().tempo_at_frame (pos);
|
const Tempo& tempo = _session->tempo_map().tempo_at_frame (pos);
|
||||||
const Meter& meter = _session->tempo_map().meter_at_frame (pos);
|
const Meter& meter = _session->tempo_map().meter_at_frame (pos);
|
||||||
return meter.frames_per_bar (tempo, _session->frame_rate());
|
return meter.frames_per_bar (tempo, _session->frame_rate()) * -pr;
|
||||||
}
|
}
|
||||||
#endif
|
return pr * _session->frame_rate();
|
||||||
return Config->get_preroll_seconds() * _session->frame_rate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2999,8 +2999,11 @@ RCOptionEditor::RCOptionEditor ()
|
|||||||
sigc::mem_fun (*_rc_config, &RCConfiguration::set_preroll_seconds)
|
sigc::mem_fun (*_rc_config, &RCConfiguration::set_preroll_seconds)
|
||||||
);
|
);
|
||||||
Gtkmm2ext::UI::instance()->set_tip (psc->tip_widget(),
|
Gtkmm2ext::UI::instance()->set_tip (psc->tip_widget(),
|
||||||
(_("The amount of preroll (in seconds) to apply when <b>Play with Preroll</b> is initiated.\n\n"
|
(_("The amount of preroll to apply when <b>Play with Preroll</b> or <b>Record with Preroll</b>is initiated.\n\n"
|
||||||
"If <b>Follow Edits</b> is enabled, the preroll is applied to the playhead position when a region is selected or trimmed.")));
|
"If <b>Follow Edits</b> is enabled, the preroll is applied to the playhead position when a region is selected or trimmed.")));
|
||||||
|
psc->add (-4.0, _("4 Bars"));
|
||||||
|
psc->add (-2.0, _("2 Bars"));
|
||||||
|
psc->add (-1.0, _("1 Bar"));
|
||||||
psc->add (0.0, _("0 (no pre-roll)"));
|
psc->add (0.0, _("0 (no pre-roll)"));
|
||||||
psc->add (0.1, _("0.1 second"));
|
psc->add (0.1, _("0.1 second"));
|
||||||
psc->add (0.25, _("0.25 second"));
|
psc->add (0.25, _("0.25 second"));
|
||||||
|
Loading…
Reference in New Issue
Block a user