- /* constructor to be called for existing external-to-session files */
-
- SndFileSource (std::string path, Flag flags);
-
- /* constructor to be called for new in-session files */
-
- SndFileSource (std::string path, SampleFormat samp_format, HeaderFormat hdr_format, jack_nframes_t rate,
- Flag flags = AudioFileSource::Flag (AudioFileSource::Writable|
- AudioFileSource::Removable|
- AudioFileSource::RemovableIfEmpty|
- AudioFileSource::CanRename));
-
- /* constructor to be called for existing in-session files */
-
- SndFileSource (const XMLNode&);
+ /** Constructor to be called for existing external-to-session files */
+ SndFileSource (Session&, const std::string& path, int chn, Flag flags);
+
+ /* Constructor to be called for new in-session files */
+ SndFileSource (Session&, const std::string& path, const std::string& origin,
+ SampleFormat samp_format, HeaderFormat hdr_format, framecnt_t rate,
+ Flag flags = SndFileSource::default_writable_flags);
+
+ /* Constructor to be called for recovering files being used for
+ * capture. They are in-session, they already exist, they should not
+ * be writable. They are an odd hybrid (from a constructor point of
+ * view) of the previous two constructors.
+ */
+ SndFileSource (Session&, const std::string& path, int chn);
+
+ /** Constructor to be called for existing in-session files during
+ * session loading
+ */
+ SndFileSource (Session&, const XMLNode&);