fix crash when copy'ing latent plugins
[ardour.git] / libs / ardour / ardour / source_factory.h
index 4ef2cd60ee6506534518d5fb0e0c3a76b542a951..b1ee6438f5088041ebe3b76c522e91b2a7c09342 100644 (file)
@@ -48,15 +48,18 @@ class LIBARDOUR_API 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 LIBARDOUR_API 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);
 };