13
0

Use PBD::copy_file in Session::create() to copy the template file.

git-svn-id: svn://localhost/ardour2/trunk@1867 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Tim Mayberry 2007-05-18 02:45:15 +00:00
parent 1dd429ac35
commit c7e404a1c0

View File

@ -510,38 +510,17 @@ Session::create (bool& new_session, string* mix_template, nframes_t initial_leng
/* check new_session so we don't overwrite an existing one */
if (mix_template) {
std::string in_path = *mix_template;
string out_path = _path + _name + statefile_suffix;
ifstream in(in_path.c_str());
if (in){
string out_path = _path;
out_path += _name;
out_path += statefile_suffix;
ofstream out(out_path.c_str());
if (out){
out << in.rdbuf();
// okay, session is set up. Treat like normal saved
// session from now on.
new_session = false;
return 0;
} else {
error << string_compose (_("Could not open %1 for writing mix template"), out_path)
<< endmsg;
return -1;
}
} else {
error << string_compose (_("Could not open mix template %1 for reading"), in_path)
if(!copy_file (*mix_template, out_path)) {
error << string_compose (_("Could not use session template %1 to create new session."), *mix_template)
<< endmsg;
return -1;
}
new_session = false;
return 0;
}
/* set initial start + end point */