#include <string>
#include <vector>
+#include <map>
+
+#include "ardour/libardour_visibility.h"
namespace ARDOUR {
-class SessionDirectory
+class LIBARDOUR_API SessionDirectory
{
public:
*/
const std::string sound_path () const;
+ /**
+ * @return the absolute path to the directory in which
+ * the session stores audio files for Ardour 2.X.
+ *
+ * If the session is an older session with an existing
+ * "sounds" directory then it will return a path to that
+ * directory otherwise it will return the new location
+ * of root_path()/interchange/session_name/audiofiles
+ */
+ const std::string sound_path_2X () const;
+
/**
* @return the absolute path to the directory in which
* the session stores MIDI files, ie
*/
const std::string peak_path () const;
+ /**
+ * @return The absolute path to the directory in which all
+ * video files are stored for a session.
+ */
+ const std::string video_path () const;
+
/**
* @return The absolute path to the directory that source
* files are moved to when they are no longer part of the
*/
const std::string sources_root() const;
+ /**
+ * @return The path to the directory under which source directories
+ * are created for different source types in Ardour 2.X
+ * i.e root_path()/interchange/session_name
+ */
+ const std::string sources_root_2X() const;
+
private:
/**
/// The path to the root of the session directory.
std::string m_root_path;
+
+ static std::map<std::string,std::string> root_cache;
};
} // namespace ARDOUR