#include <set>
#include <stack>
+#include <boost/scoped_ptr.hpp>
#include <boost/weak_ptr.hpp>
#include <boost/dynamic_bitset.hpp>
#include <ardour/location.h>
#include <ardour/gain.h>
#include <ardour/io.h>
-#include <ardour/session_directory.h>
#include <ardour/smpte.h>
class MidiRegion;
class SMFSource;
+class SessionDirectory;
+
struct AudioExportSpecification;
struct RouteGroup;
bool loop_changing;
nframes_t last_loopend;
- SessionDirectory _session_dir;
+ boost::scoped_ptr<SessionDirectory> _session_dir;
RingBuffer<Event*> pending_events;
#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>
_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),
// 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 ();
{
// 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)
{
_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),
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 ();
}
{
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);
#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>
continue;
}
- sys::path source_path = _session_dir.sound_path ();
+ sys::path source_path = _session_dir->sound_path ();
source_path /= prop->value ();