diff options
author | nick_m <mainsbridge@gmail.com> | 2013-10-24 01:27:13 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2013-10-24 01:27:13 +1100 |
commit | be69bf15dd2fbc414b35aa84167b863caf6d7677 (patch) | |
tree | 809ff4484f8d70960494bd664b293aad4a54f266 /libs/ardour | |
parent | 75271a17d8d4ed0003c4627e80a28feb68f5d9c9 (diff) |
New routes are placed after highest selected route.
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/session.h | 2 | ||||
-rw-r--r-- | libs/ardour/session.cc | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 4632d08fa7..75a5dce8ef 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -241,6 +241,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi bool operator() (boost::shared_ptr<Route>, boost::shared_ptr<Route> b); }; + void set_order_hint (uint32_t order_hint) {_order_hint = order_hint;}; void notify_remote_id_change (); void sync_order_keys (); @@ -1594,6 +1595,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi GraphEdges _current_route_graph; uint32_t next_control_id () const; + uint32_t _order_hint; bool ignore_route_processor_changes; MidiClockTicker* midi_clock; diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 9e79ad305a..54287a454a 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -257,6 +257,7 @@ Session::Session (AudioEngine &eng, , _step_editors (0) , _suspend_timecode_transmission (0) , _speakers (new Speakers) + , _order_hint (0) , ignore_route_processor_changes (false) , _midi_ports (0) , _mmc (0) @@ -2335,6 +2336,11 @@ Session::add_routes_inner (RouteList& new_routes, bool input_auto_connect, bool ChanCount existing_outputs; uint32_t order = next_control_id(); + if (_order_hint != 0) { + order = _order_hint; + _order_hint = 0; + } + count_existing_track_channels (existing_inputs, existing_outputs); { |