X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fsession_directory.h;h=1972aa40395f54eb01786c26a9a4032f0283ccb2;hb=452672f78f5f0f9195bfd48398e29b18a8fb1df7;hp=a4fb7d07c5df5216e2440b8dfeb0d14041dc700e;hpb=449aab3c465bbbf66d221fac3d7ea559f1720357;p=ardour.git diff --git a/libs/ardour/ardour/session_directory.h b/libs/ardour/ardour/session_directory.h index a4fb7d07c5..1972aa4039 100644 --- a/libs/ardour/ardour/session_directory.h +++ b/libs/ardour/ardour/session_directory.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2007 Tim Mayberry + Copyright (C) 2007 Tim Mayberry This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,14 +22,10 @@ #include #include -#include +#include "pbd/filesystem.h" namespace ARDOUR { -using std::string; -using std::vector; -using PBD::sys::path; - class SessionDirectory { public: @@ -37,15 +33,20 @@ public: /** * @param session_path An absolute path to a session directory. */ - SessionDirectory (const path& session_path); + SessionDirectory (const PBD::sys::path& 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 path root_path() const { return m_root_path; } + const PBD::sys::path root_path() const { return m_root_path; } /** - * @return the absolute path to the directory in which + * @return the absolute path to the directory in which * the session stores audio files. * * If the session is an older session with an existing @@ -53,43 +54,43 @@ public: * directory otherwise it will return the new location * of root_path()/interchange/session_name/audiofiles */ - const path sound_path () const; - + const PBD::sys::path sound_path () const; + /** - * @return the absolute path to the directory in which + * @return the absolute path to the directory in which * the session stores MIDI files, ie * root_path()/interchange/session_name/midifiles */ - const path midi_path () const; + const PBD::sys::path midi_path () const; /** - * @return The absolute path to the directory in which all - * peak files are stored for a session. + * @return the absolute path to the directory in which + * the session stores MIDNAM patch files, ie + * root_path()/interchange/session_name/patchfiles */ - const path peak_path () const; + const PBD::sys::path midi_patch_path () const; /** - * @return The absolute path to the directory that audio - * files are moved to when they are no longer part of the - * session. + * @return The absolute path to the directory in which all + * peak files are stored for a session. */ - const path dead_sound_path () const; - + const PBD::sys::path peak_path () const; + /** - * @return The absolute path to the directory that midi + * @return The absolute path to the directory that source * files are moved to when they are no longer part of the * session. */ - const path dead_midi_path () const; + const PBD::sys::path dead_path () const; /** * @return The absolute path to the directory that audio * files are created in by default when exporting. */ - const path export_path () const; + const PBD::sys::path export_path () const; /** - * @return true if session directory and all the required + * @return true if session directory and all the required * subdirectories exist. */ bool is_valid () const; @@ -107,28 +108,28 @@ public: */ bool create (); -protected: - - /** - * @return The path to the old style sound directory. - * It isn't created by create(). - */ - const path old_sound_path () const; - /** * @return The path to the directory under which source directories * are created for different source types. * i.e root_path()/interchange/session_name */ - const path sources_root() const; + const PBD::sys::path sources_root() const; + +private: + + /** + * @return The path to the old style sound directory. + * It isn't created by create(). + */ + const PBD::sys::path old_sound_path () const; /** * @return a vector containing the fullpath of all subdirectories. */ - const vector sub_directories () const; + const std::vector sub_directories () const; /// The path to the root of the session directory. - const path m_root_path; + PBD::sys::path m_root_path; }; } // namespace ARDOUR