Fix reporting of compressor mode (Mixbus)
[ardour.git] / libs / ardour / route.cc
index 4dce24d9fbe45bee27014377e9d0c16644fca485..5eb962da5aa0ff081eff697aa6087e334d224fc6 100644 (file)
@@ -4115,6 +4115,7 @@ Route::set_phase_invert (uint32_t c, bool yn)
        if (_phase_invert[c] != yn) {
                _phase_invert[c] = yn;
                phase_invert_changed (); /* EMIT SIGNAL */
+               _phase_control->Changed(); /* EMIT SIGNAL */
                _session.set_dirty ();
        }
 }
@@ -4208,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)
 {
@@ -4264,7 +4275,7 @@ Route::nth_send (uint32_t n) const
        for (i = _processors.begin(); i != _processors.end(); ++i) {
                if (boost::dynamic_pointer_cast<Send> (*i)) {
 
-                       if ((*i)->name() == _("Monitor 1")) {
+                       if ((*i)->name().find (_("Monitor")) == 0) {
                                /* send to monitor section is not considered
                                   to be an accessible send.
                                */
@@ -5229,6 +5240,8 @@ Route::comp_mode_name (uint32_t mode) const
                return _("Compressor");
        case 2:
                return _("Limiter");
+       case 3:
+               return mixbus() ? _("Sidechain") : _("Limiter");
        }
 
        return _("???");
@@ -5247,6 +5260,7 @@ Route::comp_speed_name (uint32_t mode) const
        case 1:
                return _("Ratio");
        case 2:
+       case 3:
                return _("Rels");
        }
        return _("???");