prepare strict-i/o configuration.
[ardour.git] / libs / ardour / ardour / route.h
index 84d78fcdd3d51d94410485b2c3168db7fe050fb1..990f1670549be95c137070922d74426f7c49b4d4 100644 (file)
@@ -263,6 +263,7 @@ class LIBARDOUR_API Route : public SessionObject, public Automatable, public Rou
        boost::shared_ptr<Processor> before_processor_for_index (int);
        bool processors_reorder_needs_configure (const ProcessorList& new_order);
        int remove_processor (boost::shared_ptr<Processor>, ProcessorStreams* err = 0, bool need_process_lock = true);
+       int replace_processor (boost::shared_ptr<Processor>, boost::shared_ptr<Processor>, ProcessorStreams* err = 0);
        int remove_processors (const ProcessorList&, ProcessorStreams* err = 0);
        int reorder_processors (const ProcessorList& new_order, ProcessorStreams* err = 0);
        void disable_processors (Placement);
@@ -273,6 +274,9 @@ class LIBARDOUR_API Route : public SessionObject, public Automatable, public Rou
        void clear_processors (Placement);
        void all_visible_processors_active (bool);
 
+       bool strict_io () const { return _strict_io; }
+       bool set_strict_io (bool);
+
        framecnt_t set_private_port_latencies (bool playback) const;
        void       set_public_port_latencies (framecnt_t, bool playback) const;
 
@@ -497,10 +501,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 +527,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
@@ -834,6 +836,8 @@ class LIBARDOUR_API Route : public SessionObject, public Automatable, public Rou
 
        friend class ProcessorState;
 
+       bool _strict_io;
+
        /* no copy construction */
        Route (Route const &);