From 7d5671a4117d8d95ecad5073430e591b7c5e02bf Mon Sep 17 00:00:00 2001 From: Len Ovens Date: Wed, 3 Feb 2016 10:35:35 -0800 Subject: [PATCH] mackie control: Fix crash when selecting Track on MIDI strip, don't create phase control if there is none. --- libs/ardour/ardour/route.h | 6 ++---- 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 phase_control() const { - return _phase_control; - } - boost::shared_ptr 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() const; boost::shared_ptr trim_control() const; + boost::shared_ptr 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::phase_control() const +{ + if (phase_invert().size()) { + return _phase_control; + } else { + return boost::shared_ptr(); + } +} + boost::shared_ptr Route::get_control (const Evoral::Parameter& param) {