follow various events related to playhead priority (loop changes, parameter changes); remove debug output

This commit is contained in:
Paul Davis 2015-01-16 17:50:10 -05:00
parent 736baab0f9
commit ab2e23db9a
3 changed files with 16 additions and 2 deletions

View File

@ -1451,6 +1451,19 @@ Session::auto_loop_changed (Location* location)
clear_events (SessionEvent::AutoLoop);
}
/* possibly move playhead if not rolling; if we are rolling we'll move
to the loop start on stop if that is appropriate.
*/
framepos_t pos;
if (!transport_rolling() && select_playhead_priority_target (pos)) {
if (pos == location->start()) {
request_locate (pos);
}
}
last_loopend = location->end();
set_dirty ();
}
@ -6115,7 +6128,6 @@ Session::reconnect_ltc_output ()
void
Session::set_range_selection (framepos_t start, framepos_t end)
{
cerr << "set range selection " << start << " .. " << end << endl;
_range_selection = Evoral::Range<framepos_t> (start, end);
follow_playhead_priority ();
}

View File

@ -3645,6 +3645,8 @@ Session::config_changed (std::string p, bool ours)
reconnect_ltc_output ();
} else if (p == "timecode-generator-offset") {
ltc_tx_parse_offset();
} else if (p == "auto-return-target-list") {
follow_playhead_priority ();
}
set_dirty ();

View File

@ -500,7 +500,7 @@ Session::select_playhead_priority_target (framepos_t& jump_to)
jump_to = -1;
AutoReturnTarget autoreturn = Config->get_auto_return_target_list ();
if (!autoreturn) {
return false;
}