diff options
author | Len Ovens <len@ovenwerks.net> | 2016-02-03 10:35:35 -0800 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2016-02-03 10:35:35 -0800 |
commit | 7d5671a4117d8d95ecad5073430e591b7c5e02bf (patch) | |
tree | 7ed9469cb150c624f2713a15a9dc35643625def0 /libs | |
parent | 9cce8d10a96c6ebcc39987c9fd3ef0a770f09866 (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.h | 6 | ||||
-rw-r--r-- | libs/ardour/route.cc | 10 |
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) { |