summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-01-16 17:50:10 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-06-29 14:18:13 -0400
commitab2e23db9a31d60c6e7ade86795ec0f1d8f34bc1 (patch)
treede257febbaa33616f4f8792f743573fbb3db99e8 /libs
parent736baab0f906c5447b48b8651b84e9242961148f (diff)
follow various events related to playhead priority (loop changes, parameter changes); remove debug output
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/session.cc14
-rw-r--r--libs/ardour/session_state.cc2
-rw-r--r--libs/ardour/session_transport.cc2
3 files changed, 16 insertions, 2 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 27b1aa461f..eb4b68d196 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -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 ();
}
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 5e07a9204e..b51d7a7d69 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -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 ();
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index f17e3b9c8a..f73b935d94 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -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;
}