From a373e4cfc80cfc1dc712ecdf8013c18286ce2a6b Mon Sep 17 00:00:00 2001 From: Len Ovens Date: Sun, 3 Jul 2016 18:22:09 -0700 Subject: UI: Add editor_mixer route pointer to session so all UIs can know the same current_strip even in a selected group. --- libs/ardour/ardour/session.h | 3 +++ libs/surfaces/osc/osc.cc | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'libs') diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index ebafdd82f6..6c3d869013 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -818,6 +818,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop boost::shared_ptr monitor_out() const { return _monitor_out; } boost::shared_ptr master_out() const { return _master_out; } + boost::weak_ptr get_editor_mixer() const { return _editor_mixer; } + void set_editor_mixer (boost::weak_ptr r) { _editor_mixer = r; } void globally_add_internal_sends (boost::shared_ptr dest, Placement p, bool); void globally_set_send_gains_from_track (boost::shared_ptr dest); @@ -1867,6 +1869,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop boost::shared_ptr _master_out; boost::shared_ptr _monitor_out; + boost::weak_ptr _editor_mixer; void auto_connect_master_bus (); diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index a32e215290..57eb6c0f7a 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -2617,7 +2617,7 @@ OSC::gui_selection_changed (StripableNotificationListPtr stripables) boost::shared_ptr strip; if (!stripables->empty()) { - strip = stripables->front().lock(); + strip = boost::dynamic_pointer_cast(session->get_editor_mixer().lock()); } if (strip) { for (uint32_t it = 0; it < _surface.size(); ++it) { -- cgit v1.2.3