change name of a Session method to makes its intended function clear
[ardour.git] / libs / ardour / ardour / source_factory.h
index c94f783b445f51fba4b9fa1505459e3e42bb1f9b..b1ee6438f5088041ebe3b76c522e91b2a7c09342 100644 (file)
@@ -36,7 +36,7 @@ class Session;
 class AudioSource;
 class Playlist;
 
-class SourceFactory {
+class LIBARDOUR_API SourceFactory {
   public:
        static void init ();
 
@@ -48,15 +48,18 @@ class SourceFactory {
 
        static boost::shared_ptr<Source> createExternal
                (DataType type, Session&,
-                const std::string& path, 
+                const std::string& path,
                 int chn, Source::Flag flags, bool announce = true, bool async = false);
 
        static boost::shared_ptr<Source> createWritable
                (DataType type, Session&,
-                const std::string& path, 
+                const std::string& path,
                 bool destructive, framecnt_t rate, bool announce = true, bool async = false);
 
 
+       static boost::shared_ptr<Source> createForRecovery
+               (DataType type, Session&, const std::string& path, int chn);
+
        static boost::shared_ptr<Source> createFromPlaylist
                (DataType type, Session& s, boost::shared_ptr<Playlist> p, const PBD::ID& orig, const std::string& name,
                 uint32_t chn, frameoffset_t start, framecnt_t len, bool copy, bool defer_peaks);
@@ -65,6 +68,7 @@ class SourceFactory {
         static Glib::Threads::Mutex                      peak_building_lock;
        static std::list< boost::weak_ptr<AudioSource> > files_with_peaks;
 
+       static int peak_work_queue_length ();
        static int setup_peakfile (boost::shared_ptr<Source>, bool async);
 };