summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-01-09 02:28:22 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-01-09 02:28:22 +0000
commite722f6e3a09b136b63d19767048860edc06dce69 (patch)
tree7bc76a3493bffb11f2805d99f464427dfea8de14 /libs/ardour/session.cc
parent9bb7dbc0115aeb3f7574f02a29d9d34e153c90ce (diff)
yet more changes to the monstrosity that is session loading and startup; search PATH for jackd/jackdmp, not predefined locations; support for the JACK dummy driver
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2847 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r--libs/ardour/session.cc25
1 files changed, 9 insertions, 16 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 7cf64905fb..e2a59eeaea 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -293,7 +293,6 @@ Session::Session (AudioEngine &eng,
new_session = !g_file_test (_path.c_str(), GFileTest (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR));
if (new_session) {
if (create (new_session, mix_template, compute_initial_length())) {
- cerr << "create failed\n";
destroy ();
throw failed_constructor ();
}
@@ -393,7 +392,7 @@ Session::Session (AudioEngine &eng,
}
if (!rl.empty()) {
- add_routes (rl);
+ add_routes (rl, false);
}
}
@@ -406,17 +405,12 @@ Session::Session (AudioEngine &eng,
throw failed_constructor ();
}
- store_recent_sessions(_name, _path);
+ store_recent_sessions (_name, _path);
- bool was_dirty = dirty ();
-
_state_of_the_state = StateOfTheState (_state_of_the_state & ~Dirty);
- Config->ParameterChanged.connect (mem_fun (*this, &Session::config_changed));
- if (was_dirty) {
- DirtyChanged (); /* EMIT SIGNAL */
- }
+ Config->ParameterChanged.connect (mem_fun (*this, &Session::config_changed));
}
Session::~Session ()
@@ -434,6 +428,7 @@ Session::destroy ()
remove_pending_capture_state ();
_state_of_the_state = StateOfTheState (CannotSave|Deletion);
+
_engine.remove_session ();
GoingAway (); /* EMIT SIGNAL */
@@ -872,6 +867,7 @@ Session::when_engine_running ()
_state_of_the_state = StateOfTheState (_state_of_the_state & ~(CannotSave|Dirty));
+
/* hook us up to the engine */
_engine.set_session (this);
@@ -882,9 +878,6 @@ Session::when_engine_running ()
osc->set_session (*this);
#endif
- _state_of_the_state = Clean;
-
- DirtyChanged (); /* EMIT SIGNAL */
}
void
@@ -896,6 +889,7 @@ Session::hookup_io ()
_state_of_the_state = StateOfTheState (_state_of_the_state | InitialConnecting);
+
if (auditioner == 0) {
/* we delay creating the auditioner till now because
@@ -965,6 +959,7 @@ Session::hookup_io ()
_state_of_the_state = StateOfTheState (_state_of_the_state & ~InitialConnecting);
+
/* now handle the whole enchilada as if it was one
graph reorder event.
*/
@@ -1825,8 +1820,7 @@ Session::new_audio_track (int input_channels, int output_channels, TrackMode mod
failed:
if (!new_routes.empty()) {
- add_routes (new_routes, false);
- save_state (_current_snapshot_name);
+ add_routes (new_routes, true);
}
return ret;
@@ -1960,8 +1954,7 @@ Session::new_audio_route (int input_channels, int output_channels, uint32_t how_
failure:
if (!ret.empty()) {
- add_routes (ret, false);
- save_state (_current_snapshot_name);
+ add_routes (ret, true);
}
return ret;