} else if (p == "auto-loop") {
+ } else if (p == "session-monitoring") {
+
} else if (p == "auto-input") {
if (Config->get_monitoring_model() == HardwareMonitoring && transport_rolling()) {
/* auto-input only makes a difference if we're rolling */
- set_track_monitor_input_status (!config.get_auto_input());
+ set_track_monitor_input_status (!config.get_auto_input());
}
} else if (p == "punch-in") {
}
int
-Session::get_info_from_path (const string& xmlpath, float& sample_rate, SampleFormat& data_format)
+Session::get_info_from_path (const string& xmlpath, float& sample_rate, SampleFormat& data_format, std::string& created_version)
{
bool found_sr = false;
bool found_data_format = false;
+ created_version = "";
if (!Glib::file_test (xmlpath, Glib::FILE_TEST_EXISTS)) {
return -1;
if (node == NULL) {
xmlFreeParserCtxt(ctxt);
+ xmlFreeDoc (doc);
return -1;
}
node = node->children;
while (node != NULL) {
+ if (!strcmp((const char*) node->name, "ProgramVersion")) {
+ xmlChar* val = xmlGetProp (node, (const xmlChar*)"created-with");
+ if (val) {
+ created_version = string ((const char*)val);
+ }
+ xmlFree (val);
+ }
if (strcmp((const char*) node->name, "Config")) {
node = node->next;
continue;
}
xmlFreeParserCtxt(ctxt);
+ xmlFreeDoc (doc);
return !(found_sr && found_data_format); // zero if they are both found
}