Make import GUI report if you are importing a file of a name that
[ardour.git] / libs / ardour / ardour / route.h
index 442c006e9b7c05ae209024a5753f9c65049e9117..49ced51f88dbfce75e2c33b3485261e3ff822501 100644 (file)
@@ -74,6 +74,8 @@ class Route : public IO
        Route (Session&, const XMLNode&, DataType default_type = DataType::AUDIO);
        virtual ~Route();
 
+       static std::string ensure_track_or_route_name(std::string, Session &);
+
        std::string comment() { return _comment; }
        void set_comment (std::string str, void *src);
 
@@ -109,9 +111,6 @@ class Route : public IO
        void set_gain (gain_t val, void *src);
        void inc_gain (gain_t delta, void *src);
 
-       bool active() const { return _active; }
-       void set_active (bool yn);
-
        void set_solo (bool yn, void *src);
        bool soloed() const { return _soloed; }
 
@@ -127,6 +126,10 @@ class Route : public IO
 
        void set_phase_invert (bool yn, void *src);
        bool phase_invert() const { return _phase_invert; }
+
+       void set_denormal_protection (bool yn, void *src);
+       bool denormal_protection() const { return _denormal_protection; }
+
        
        void       set_edit_group (RouteGroup *, void *);
        void       drop_edit_group (void *);
@@ -189,7 +192,6 @@ class Route : public IO
        sigc::signal<void,void*> record_enable_changed;
        sigc::signal<void,void*> edit_group_changed;
        sigc::signal<void,void*> mix_group_changed;
-       sigc::signal<void>       active_changed;
        sigc::signal<void,void*> meter_change;
 
        /* gui's call this for their own purposes. */
@@ -232,13 +234,16 @@ class Route : public IO
                return _mute_control;
        }
        
-       void automation_snapshot (nframes_t now);
+       void automation_snapshot (nframes_t now, bool force);
        void protect_automation ();
        
        void set_remote_control_id (uint32_t id);
        uint32_t remote_control_id () const;
        sigc::signal<void> RemoteControlIDChanged;
 
+       void sync_order_keys ();
+       static sigc::signal<void> SyncOrderKeys;
+
   protected:
        friend class Session;
 
@@ -258,8 +263,8 @@ class Route : public IO
        bool                     _soloed : 1;
        bool                     _solo_safe : 1;
        bool                     _phase_invert : 1;
+       bool                     _denormal_protection : 1;
        bool                     _recordable : 1;
-       bool                     _active : 1;
        bool                     _mute_affects_pre_fader : 1;
        bool                     _mute_affects_post_fader : 1;
        bool                     _mute_affects_control_outs : 1;
@@ -314,7 +319,8 @@ class Route : public IO
        uint32_t pans_required() const;
        uint32_t n_process_buffers ();
 
-       virtual int _set_state (const XMLNode&, bool call_base);
+       virtual int  _set_state (const XMLNode&, bool call_base);
+       virtual void _set_redirect_states (const XMLNodeList&);
 
   private:
        void init ();