Remove C++11'ism
[ardour.git] / libs / ardour / ardour / file_source.h
index c0e4fba0de4b99ecbc189179ec9634b45a7247c4..7452e9fb5baca961d96d5d2293194124ee04d8c5 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);
 
@@ -77,18 +80,23 @@ public:
         bool is_stub () const;
 
        const std::string& origin() const { return _origin; }
+       void set_origin (std::string const& o) { _origin = o; }
 
        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 ();
 
-       void existence_check ();
-       virtual void prevent_deletion ();
+       /** Rename the file on disk referenced by this source to \param newname
+        */
+       int rename (const std::string& name);
+
+       virtual void close () = 0;
 
-protected:
+  protected:
        FileSource (Session& session, DataType type,
                    const std::string& path,
                    const std::string& origin,
@@ -107,8 +115,7 @@ protected:
        uint16_t    _channel;
        bool        _within_session;
        std::string _origin;
-       bool        _open;
-
+       float       _gain;
 };
 
 } // namespace ARDOUR