remove *.orig files (accidentally added in cba53a202)
[ardour.git] / libs / ardour / ardour / file_source.h
index 8cbbfed0d96047708f789a25aa2f2056a6769872..0f3b9bce669388690c33d58f77854fcb09651e00 100644 (file)
@@ -46,7 +46,7 @@ class LIBARDOUR_API FileSource : virtual public Source {
 public:
        virtual ~FileSource ();
 
-       virtual const std::string& path() const { return _path; }
+       const std::string& path() const { return _path; }
 
        virtual bool safe_file_extension (const std::string& path) const = 0;
 
@@ -56,9 +56,12 @@ public:
         void mark_immutable_except_write();
        void mark_nonremovable ();
 
-       const std::string& take_id ()        const { return _take_id; }
+       const std::string&   take_id ()        const { return _take_id; }
        bool                 within_session () const { return _within_session; }
        uint16_t             channel()         const { return _channel; }
+       float                gain()            const { return _gain; }
+
+       virtual void set_gain (float g, bool temporarily = false) { _gain = g; }
 
        int set_state (const XMLNode&, int version);
 
@@ -79,7 +82,8 @@ public:
        const std::string& origin() const { return _origin; }
 
        virtual void set_path (const std::string&);
-       
+       void replace_file (const std::string&);
+
        static PBD::Signal2<int,std::string,std::vector<std::string> > AmbiguousFileName;
 
        void existence_check ();
@@ -89,9 +93,9 @@ public:
         */
        int rename (const std::string& name);
 
-       virtual void release_descriptor () {}
+       virtual void close () = 0;
 
-protected:
+  protected:
        FileSource (Session& session, DataType type,
                    const std::string& path,
                    const std::string& origin,
@@ -110,8 +114,7 @@ protected:
        uint16_t    _channel;
        bool        _within_session;
        std::string _origin;
-       bool        _open;
-
+       float       _gain;
 };
 
 } // namespace ARDOUR