mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-28 09:27:39 +01:00
Add some options for surfaces to jump in the timeline
* ::jump_by_beats() * request transport to keep rolling after jump
This commit is contained in:
parent
1173ca8d34
commit
89f39d14f2
2 changed files with 18 additions and 6 deletions
|
|
@ -388,7 +388,7 @@ BasicUI::locate (samplepos_t where, bool roll_after_locate)
|
|||
}
|
||||
|
||||
void
|
||||
BasicUI::jump_by_seconds (double secs)
|
||||
BasicUI::jump_by_seconds (double secs, bool with_roll)
|
||||
{
|
||||
samplepos_t current = session->transport_sample();
|
||||
double s = (double) current / (double) session->nominal_sample_rate();
|
||||
|
|
@ -399,11 +399,11 @@ BasicUI::jump_by_seconds (double secs)
|
|||
}
|
||||
s = s * session->nominal_sample_rate();
|
||||
|
||||
session->request_locate ( floor(s) );
|
||||
session->request_locate (floor(s), with_roll);
|
||||
}
|
||||
|
||||
void
|
||||
BasicUI::jump_by_bars (double bars)
|
||||
BasicUI::jump_by_bars (double bars, bool with_roll)
|
||||
{
|
||||
TempoMap& tmap (session->tempo_map());
|
||||
Timecode::BBT_Time bbt (tmap.bbt_at_sample (session->transport_sample()));
|
||||
|
|
@ -417,7 +417,18 @@ BasicUI::jump_by_bars (double bars)
|
|||
any.type = AnyTime::BBT;
|
||||
any.bbt.bars = bars;
|
||||
|
||||
session->request_locate ( session->convert_to_samples (any) );
|
||||
session->request_locate (session->convert_to_samples (any), with_roll);
|
||||
}
|
||||
|
||||
void
|
||||
BasicUI::jump_by_beats (double beats, bool with_roll)
|
||||
{
|
||||
TempoMap& tmap (session->tempo_map ());
|
||||
double qn_goal = tmap.quarter_note_at_sample (session->transport_sample ()) + beats;
|
||||
if (qn_goal < 0.0) {
|
||||
qn_goal = 0.0;
|
||||
}
|
||||
session->request_locate (tmap.sample_at_quarter_note (qn_goal), with_roll);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue