summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2016-02-03 10:35:35 -0800
committerLen Ovens <len@ovenwerks.net>2016-02-03 10:35:35 -0800
commit7d5671a4117d8d95ecad5073430e591b7c5e02bf (patch)
tree7ed9469cb150c624f2713a15a9dc35643625def0 /libs
parent9cce8d10a96c6ebcc39987c9fd3ef0a770f09866 (diff)
mackie control: Fix crash when selecting Track on MIDI strip, don't create phase control if there is none.
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/route.h6
-rw-r--r--libs/ardour/route.cc10
2 files changed, 12 insertions, 4 deletions
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index 84d78fcdd3..92e073e81a 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -497,10 +497,6 @@ class LIBARDOUR_API Route : public SessionObject, public Automatable, public Rou
return _mute_master;
}
- boost::shared_ptr<PhaseControllable> phase_control() const {
- return _phase_control;
- }
-
boost::shared_ptr<SoloIsolateControllable> solo_isolate_control() const {
return _solo_isolate_control;
}
@@ -527,6 +523,8 @@ class LIBARDOUR_API Route : public SessionObject, public Automatable, public Rou
boost::shared_ptr<Pannable> pannable() const;
boost::shared_ptr<GainControl> trim_control() const;
+ boost::shared_ptr<PhaseControllable> phase_control() const;
+
/**
Return the first processor that accepts has at least one MIDI input
and at least one audio output. In the vast majority of cases, this
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 79fbeb546e..001281f8f4 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -4209,6 +4209,16 @@ Route::trim_control() const
return _trim_control;
}
+boost::shared_ptr<Route::PhaseControllable>
+Route::phase_control() const
+{
+ if (phase_invert().size()) {
+ return _phase_control;
+ } else {
+ return boost::shared_ptr<PhaseControllable>();
+ }
+}
+
boost::shared_ptr<AutomationControl>
Route::get_control (const Evoral::Parameter& param)
{