transport_sub_state = 0;
_transport_frame = 0;
last_stop_frame = 0;
+ requested_return_frame = -1;
end_location = new Location (0, 0, _("end"), Location::Flags ((Location::IsMark|Location::IsEnd)));
start_location = new Location (0, 0, _("start"), Location::Flags ((Location::IsMark|Location::IsStart)));
_end_location_is_free = true;
_worst_track_latency = 0;
_state_of_the_state = StateOfTheState(CannotSave|InitialConnecting|Loading|Deletion);
_slave = 0;
+ _silent = false;
butler_mixdown_buffer = 0;
butler_gain_buffer = 0;
mmc = 0;
}
int
-Session::create (bool& new_session, string* mix_template, nframes_t initial_length)
+Session::create (bool& new_session, const string& mix_template, nframes_t initial_length)
{
string dir;
/* check new_session so we don't overwrite an existing one */
- if (mix_template) {
- std::string in_path = *mix_template;
+ if (!mix_template.empty()) {
+ std::string in_path = mix_template;
ifstream in(in_path.c_str());
}
}
- for (uint32_t n=1; n < nchans; ++n) {
+ for (uint32_t n=0; n < nchans; ++n) {
snprintf (buf, sizeof(buf), X_("master-source-%d"), n);
if ((prop = node.property (buf)) != 0) {
-
+
PBD::ID id2 (prop->value());
if ((source = source_by_id (id2)) == 0) {
return boost::shared_ptr<AudioRegion>();
}
master_sources.push_back (as);
- }
+ }
}
try {
}
if (!master_sources.empty()) {
- if (master_sources.size() == nchans) {
+ if (master_sources.size() != nchans) {
error << _("Session: XMLNode describing an AudioRegion is missing some master sources; ignored") << endmsg;
} else {
region->set_master_sources (master_sources);