summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2013-10-24 01:27:13 +1100
committernick_m <mainsbridge@gmail.com>2013-10-24 01:27:13 +1100
commitbe69bf15dd2fbc414b35aa84167b863caf6d7677 (patch)
tree809ff4484f8d70960494bd664b293aad4a54f266 /libs/ardour
parent75271a17d8d4ed0003c4627e80a28feb68f5d9c9 (diff)
New routes are placed after highest selected route.
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/session.h2
-rw-r--r--libs/ardour/session.cc6
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);
{