Automation of LV2 plugin properties.
[ardour.git] / libs / ardour / ardour / file_source.h
index 4b1dbf2b6cb5dd51542cc7aee9a8a73c08f57536..8cbbfed0d96047708f789a25aa2f2056a6769872 100644 (file)
@@ -44,7 +44,7 @@ class LIBARDOUR_API MissingSource : public std::exception
 /** A source associated with a file on disk somewhere */
 class LIBARDOUR_API FileSource : virtual public Source {
 public:
-       virtual ~FileSource () {}
+       virtual ~FileSource ();
 
        virtual const std::string& path() const { return _path; }
 
@@ -74,6 +74,7 @@ public:
 
        void inc_use_count ();
        bool removable () const;
+        bool is_stub () const;
 
        const std::string& origin() const { return _origin; }
 
@@ -81,6 +82,15 @@ public:
        
        static PBD::Signal2<int,std::string,std::vector<std::string> > AmbiguousFileName;
 
+       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 release_descriptor () {}
+
 protected:
        FileSource (Session& session, DataType type,
                    const std::string& path,
@@ -102,7 +112,6 @@ protected:
        std::string _origin;
        bool        _open;
 
-       void prevent_deletion ();
 };
 
 } // namespace ARDOUR