Remove unused enum
[ardour.git] / libs / ardour / ardour / file_source.h
index 37a7e67d2ef4c35a460ba151941c84f15ce41c14..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,13 +82,20 @@ 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 ();
        virtual void prevent_deletion ();
 
-protected:
+       /** Rename the file on disk referenced by this source to \param newname
+        */
+       int rename (const std::string& name);
+
+       virtual void close () = 0;
+
+  protected:
        FileSource (Session& session, DataType type,
                    const std::string& path,
                    const std::string& origin,
@@ -104,8 +114,7 @@ protected:
        uint16_t    _channel;
        bool        _within_session;
        std::string _origin;
-       bool        _open;
-
+       float       _gain;
 };
 
 } // namespace ARDOUR