projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix count-in for non 4/4 time signatures
[ardour.git]
/
session_utils
/
common.cc
diff --git
a/session_utils/common.cc
b/session_utils/common.cc
index 2abfb32d3cb3a1842df3750f67659d112d4e08e0..99ed10d32d35d0dd9f04585e394bb863d15f15e1 100644
(file)
--- a/
session_utils/common.cc
+++ b/
session_utils/common.cc
@@
-120,23
+120,24
@@
static Session * _load_session (string dir, string state)
float sr;
SampleFormat sf;
float sr;
SampleFormat sf;
+ std::string v;
std::string s = Glib::build_filename (dir, state + statefile_suffix);
std::string s = Glib::build_filename (dir, state + statefile_suffix);
- if (Session::get_info_from_path (s, sr, sf) == 0) {
+ if (Session::get_info_from_path (s, sr, sf
, v
) == 0) {
if (engine->set_sample_rate (sr)) {
std::cerr << "Cannot set session's samplerate.\n";
if (engine->set_sample_rate (sr)) {
std::cerr << "Cannot set session's samplerate.\n";
-
::exit (EXIT_FAILURE)
;
+
return 0
;
}
} else {
std::cerr << "Cannot get samplerate from session.\n";
}
} else {
std::cerr << "Cannot get samplerate from session.\n";
-
::exit (EXIT_FAILURE)
;
+
return 0
;
}
init_post_engine ();
if (engine->start () != 0) {
std::cerr << "Cannot start Audio/MIDI engine\n";
}
init_post_engine ();
if (engine->start () != 0) {
std::cerr << "Cannot start Audio/MIDI engine\n";
-
::exit (EXIT_FAILURE)
;
+
return 0
;
}
Session* session = new Session (*engine, dir, state);
}
Session* session = new Session (*engine, dir, state);
@@
-145,7
+146,7
@@
static Session * _load_session (string dir, string state)
}
Session *
}
Session *
-SessionUtils::load_session (string dir, string state)
+SessionUtils::load_session (string dir, string state
, bool exit_at_failure
)
{
Session* s = 0;
try {
{
Session* s = 0;
try {
@@
-163,6
+164,9
@@
SessionUtils::load_session (string dir, string state)
cerr << "unknown exception.\n";
::exit (EXIT_FAILURE);
}
cerr << "unknown exception.\n";
::exit (EXIT_FAILURE);
}
+ if (!s && exit_at_failure) {
+ ::exit (EXIT_FAILURE);
+ }
return s;
}
return s;
}