13
0

Forward declare the SessionDirectory class in session.h to reduce compilation dependencies

git-svn-id: svn://localhost/ardour2/trunk@1996 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Tim Mayberry 2007-06-17 00:45:50 +00:00
parent db2fd8402e
commit 0346cdc281
4 changed files with 14 additions and 9 deletions

View File

@ -27,6 +27,7 @@
#include <set>
#include <stack>
#include <boost/scoped_ptr.hpp>
#include <boost/weak_ptr.hpp>
#include <boost/dynamic_bitset.hpp>
@ -53,7 +54,6 @@
#include <ardour/location.h>
#include <ardour/gain.h>
#include <ardour/io.h>
#include <ardour/session_directory.h>
#include <ardour/smpte.h>
@ -107,6 +107,8 @@ class MidiTrack;
class MidiRegion;
class SMFSource;
class SessionDirectory;
struct AudioExportSpecification;
struct RouteGroup;
@ -1095,7 +1097,7 @@ class Session : public PBD::StatefulDestructible
bool loop_changing;
nframes_t last_loopend;
SessionDirectory _session_dir;
boost::scoped_ptr<SessionDirectory> _session_dir;
RingBuffer<Event*> pending_events;

View File

@ -33,6 +33,7 @@ using PBD::sys::path;
class SessionDirectory
{
public:
/**
* @param session_path An absolute path to a session directory.
*/

View File

@ -44,6 +44,7 @@
#include <ardour/audioengine.h>
#include <ardour/configuration.h>
#include <ardour/session.h>
#include <ardour/session_directory.h>
#include <ardour/utils.h>
#include <ardour/audio_diskstream.h>
#include <ardour/audioplaylist.h>
@ -111,7 +112,7 @@ Session::Session (AudioEngine &eng,
_mmc_port (default_mmc_port),
_mtc_port (default_mtc_port),
_midi_port (default_midi_port),
_session_dir (fullpath),
_session_dir (new SessionDirectory(fullpath)),
pending_events (2048),
//midi_requests (128), // the size of this should match the midi request pool size
_send_smpte_update (false),
@ -136,7 +137,7 @@ Session::Session (AudioEngine &eng,
// try and create a new session directory
try
{
if(!_session_dir.create()) {
if(!_session_dir->create()) {
// an existing session.
// throw a_more_meaningful_exception()
destroy ();
@ -163,7 +164,7 @@ Session::Session (AudioEngine &eng,
{
// ensure the necessary session subdirectories exist
// in case the directory structure has changed etc.
_session_dir.create();
_session_dir->create();
}
catch(sys::filesystem_error& ex)
{
@ -212,7 +213,7 @@ Session::Session (AudioEngine &eng,
_mmc_port (default_mmc_port),
_mtc_port (default_mtc_port),
_midi_port (default_midi_port),
_session_dir (fullpath),
_session_dir ( new SessionDirectory(fullpath)),
pending_events (2048),
//midi_requests (16),
_send_smpte_update (false),
@ -242,7 +243,7 @@ Session::Session (AudioEngine &eng,
initialize_start_and_end_locations(0, initial_length);
if (!_session_dir.create () || !create_session_file ()) {
if (!_session_dir->create () || !create_session_file ()) {
destroy ();
throw failed_constructor ();
}
@ -3366,7 +3367,7 @@ Session::remove_empty_sounds ()
{
PathScanner scanner;
vector<string *>* possible_audiofiles = scanner (_session_dir.sound_path().to_string (),
vector<string *>* possible_audiofiles = scanner (_session_dir->sound_path().to_string (),
Config->get_possible_audio_file_regexp (), false, true);
Glib::Mutex::Lock lm (source_lock);

View File

@ -63,6 +63,7 @@
#include <ardour/audioengine.h>
#include <ardour/configuration.h>
#include <ardour/session.h>
#include <ardour/session_directory.h>
#include <ardour/buffer.h>
#include <ardour/audio_diskstream.h>
#include <ardour/midi_diskstream.h>
@ -2628,7 +2629,7 @@ Session::find_all_sources (string path, set<string>& result)
continue;
}
sys::path source_path = _session_dir.sound_path ();
sys::path source_path = _session_dir->sound_path ();
source_path /= prop->value ();