fix issue with solo-in-place
[ardour.git] / libs / ardour / ardour / route.h
index 195421b231729ab605ec4d917af0d8febf0477d7..6c5726339389e3c6591cd19ad9331d6d3a4e741c 100644 (file)
@@ -360,6 +360,7 @@ public:
        /** the processors have changed; the parameter indicates what changed */
        PBD::Signal1<void,RouteProcessorChange> processors_changed;
        PBD::Signal1<void,void*> record_enable_changed;
+       PBD::Signal0<void> processor_latency_changed;
        /** the metering point has changed */
        PBD::Signal0<void>       meter_change;
        PBD::Signal0<void>       signal_latency_changed;
@@ -368,10 +369,6 @@ public:
        /** Emitted with the process lock held */
        PBD::Signal0<void>       io_changed;
 
-       /* gui's call this for their own purposes. */
-
-       PBD::Signal2<void,std::string,void*> gui_changed;
-
        /* stateful */
 
        XMLNode& get_state();
@@ -443,7 +440,7 @@ public:
                return _mute_control;
        }
 
-       bool can_be_muted_by_others () const { return !is_master(); }
+       bool can_be_muted_by_others () const { return can_solo(); }
        bool muted () const { return _mute_control->muted(); }
        bool muted_by_masters () const { return _mute_control->muted_by_masters(); }
        bool muted_by_self () const { return _mute_control->muted_by_self(); }
@@ -591,6 +588,8 @@ public:
                                             pframes_t nframes, int declick,
                                             bool gain_automation_ok);
 
+       void flush_processor_buffers_locked (framecnt_t nframes);
+
        virtual void bounce_process (BufferSet& bufs,
                                     framepos_t start_frame, framecnt_t nframes,
                                                                                                                         boost::shared_ptr<Processor> endpoint, bool include_endpoint,