Remove frame conversion for MidiRegionView::note_in_region_range(), speed up tempo...
[ardour.git] / libs / ardour / ardour / route.h
index 2e2c1ccf7221e3624b1c87a10d4ac5380732e96e..bef1a54569ab18755e269ef8b275b8acc656288e 100644 (file)
@@ -84,8 +84,8 @@ class SoloIsolateControl;
 class PhaseControl;
 class MonitorControl;
 
-class LIBARDOUR_API Route : public GraphNode,
-                            public Stripable,
+class LIBARDOUR_API Route : public Stripable,
+                            public GraphNode,
                             public Soloable,
                             public Muteable,
                             public Monitorable,
@@ -97,13 +97,7 @@ public:
 
        typedef std::list<boost::shared_ptr<Processor> > ProcessorList;
 
-       enum Flag {
-               Auditioner = 0x1,
-               MasterOut = 0x2,
-               MonitorOut = 0x4
-       };
-
-       Route (Session&, std::string name, Flag flags = Flag(0), DataType default_type = DataType::AUDIO);
+       Route (Session&, std::string name, PresentationInfo::Flag flags = PresentationInfo::Flag(0), DataType default_type = DataType::AUDIO);
        virtual ~Route();
 
        virtual int init ();
@@ -127,14 +121,6 @@ public:
        bool set_name (const std::string& str);
        static void set_name_in_state (XMLNode &, const std::string &, bool rename_playlist = true);
 
-       uint32_t order_key () const;
-       bool has_order_key () const;
-       void set_order_key (uint32_t);
-
-       bool is_auditioner() const { return _flags & Auditioner; }
-       bool is_master() const { return _flags & MasterOut; }
-       bool is_monitor() const { return _flags & MonitorOut; }
-
        MonitorState monitoring_state () const;
        virtual MeterState metering_state () const;
 
@@ -374,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;
@@ -382,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();
@@ -569,28 +552,6 @@ public:
 
        void protect_automation ();
 
-       enum {
-               /* These numbers are taken from MIDI Machine Control,
-                  which can only control up to 317 tracks without
-                  doing sysex segmentation.
-               */
-               MasterBusRemoteControlID = 318,
-               MonitorBusRemoteControlID = 319,
-       };
-
-       void     set_remote_control_id (uint32_t id, bool notify_class_listeners = true);
-       uint32_t remote_control_id () const;
-       void     set_remote_control_id_explicit (uint32_t order_key);
-
-       /* for things concerned about *this* route's RID */
-
-       PBD::Signal0<void> RemoteControlIDChanged;
-
-       /* for things concerned about *any* route's RID changes */
-
-       static PBD::Signal0<void> RemoteControlIDChange;
-       static PBD::Signal0<void> SyncOrderKeys;
-
        bool has_external_redirects() const;
 
        /* can only be executed by a route for which is_monitor() is true
@@ -600,6 +561,7 @@ public:
                        pframes_t nframes, int declick);
 
         bool slaved_to (boost::shared_ptr<VCA>) const;
+        bool slaved () const;
 
   protected:
         friend class Session;
@@ -663,7 +625,6 @@ public:
        gint           _pending_process_reorder; // atomic
        gint           _pending_signals; // atomic
 
-       Flag           _flags;
        int            _pending_declick;
        MeterPoint     _meter_point;
        MeterPoint     _pending_meter_point;
@@ -718,16 +679,12 @@ protected:
 
        boost::shared_ptr<Processor> the_instrument_unlocked() const;
 
-private:
+  private:
+       int64_t _track_number;
+
        int set_state_2X (const XMLNode&, int);
        void set_processor_state_2X (XMLNodeList const &, int);
 
-       uint32_t _order_key;
-       bool _has_order_key;
-       uint32_t _remote_control_id;
-
-       int64_t _track_number;
-
        void input_change_handler (IOChange, void *src);
        void output_change_handler (IOChange, void *src);
        void sidechain_change_handler (IOChange, void *src);
@@ -810,7 +767,6 @@ private:
 
        void reset_instrument_info ();
 
-       void set_remote_control_id_internal (uint32_t id, bool notify_class_listeners = true);
         void solo_control_changed (bool self, PBD::Controllable::GroupControlDisposition);
 };