X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fsession_directory.h;h=685f0870dd4e43c9881eb6323938730d1d07912c;hb=8648a8a13b04549362f14a0738947d997ef1abc7;hp=b7de1c8f0fcaae9e5296782b616e1978a81662a6;hpb=b37b23af97fbffbf789222f03247439324648ffb;p=ardour.git diff --git a/libs/ardour/ardour/session_directory.h b/libs/ardour/ardour/session_directory.h index b7de1c8f0f..685f0870dd 100644 --- a/libs/ardour/ardour/session_directory.h +++ b/libs/ardour/ardour/session_directory.h @@ -22,23 +22,28 @@ #include #include -#include "pbd/filesystem.h" +#include "ardour/libardour_visibility.h" namespace ARDOUR { -class SessionDirectory +class LIBARDOUR_API SessionDirectory { public: /** * @param session_path An absolute path to a session directory. */ - SessionDirectory (const PBD::sys::path& session_path); + SessionDirectory (const std::string& session_path); + + /** + * Change the root path of this SessionDirectory object + */ + SessionDirectory& operator= (const std::string& path); /** * @return the absolute path to the root directory of the session */ - const PBD::sys::path root_path() const { return m_root_path; } + const std::string root_path() const { return m_root_path; } /** * @return the absolute path to the directory in which @@ -49,58 +54,57 @@ public: * directory otherwise it will return the new location * of root_path()/interchange/session_name/audiofiles */ - const PBD::sys::path sound_path () const; + const std::string sound_path () const; /** * @return the absolute path to the directory in which - * the session stores STUB audio files. + * 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/.stubs + * of root_path()/interchange/session_name/audiofiles */ - const PBD::sys::path sound_stub_path () const; + const std::string sound_path_2X () const; /** * @return the absolute path to the directory in which * the session stores MIDI files, ie * root_path()/interchange/session_name/midifiles */ - const PBD::sys::path midi_path () const; - - /** - * @return the absolute path to the directory in which - * the session stores STUB MIDI files, ie - * root_path()/interchange/session_name/midifiles/.stubs - */ - const PBD::sys::path midi_stub_path () const; + const std::string midi_path () const; /** * @return the absolute path to the directory in which * the session stores MIDNAM patch files, ie * root_path()/interchange/session_name/patchfiles */ - const PBD::sys::path midi_patch_path () const; + const std::string midi_patch_path () const; /** * @return The absolute path to the directory in which all * peak files are stored for a session. */ - const PBD::sys::path peak_path () const; + 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 * session. */ - const PBD::sys::path dead_path () const; + const std::string dead_path () const; /** * @return The absolute path to the directory that audio * files are created in by default when exporting. */ - const PBD::sys::path export_path () const; + const std::string export_path () const; /** * @return true if session directory and all the required @@ -111,38 +115,42 @@ public: /** * Create the session directory and all the subdirectories. * - * @throw PBD::sys::filesystem_error if the directories were - * not able to be created. - * - * @return true If a new session directory was created, otherwise - * (if it already existed) false. + * @return true If a new session directory and subdirectories were + * created, otherwise false. * * @post is_valid () */ bool create (); -protected: - /** - * @return The path to the old style sound directory. - * It isn't created by create(). + * @return The path to the directory under which source directories + * are created for different source types. + * i.e root_path()/interchange/session_name */ - const PBD::sys::path old_sound_path () const; + const std::string sources_root() const; /** * @return The path to the directory under which source directories - * are created for different source types. + * are created for different source types in Ardour 2.X * i.e root_path()/interchange/session_name */ - const PBD::sys::path sources_root() const; + const std::string sources_root_2X() const; + +private: + + /** + * @return The path to the old style sound directory. + * It isn't created by create(). + */ + const std::string old_sound_path () const; /** * @return a vector containing the fullpath of all subdirectories. */ - const std::vector sub_directories () const; + const std::vector sub_directories () const; /// The path to the root of the session directory. - const PBD::sys::path m_root_path; + std::string m_root_path; }; } // namespace ARDOUR