X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fexport_profile_manager.cc;h=8d1eb81edbbb1cebd62c9fe05976a4aa4e7b3aa5;hb=e02952a26c28876ea81440ee98e46f28483b91d6;hp=4eb2e62b0b294a07c39595045a21d3c7a2b36d0b;hpb=ac4ad28b4f3c89f6b380bdc5ea7affe2d3e05247;p=ardour.git diff --git a/libs/ardour/export_profile_manager.cc b/libs/ardour/export_profile_manager.cc index 4eb2e62b0b..8d1eb81edb 100644 --- a/libs/ardour/export_profile_manager.cc +++ b/libs/ardour/export_profile_manager.cc @@ -29,8 +29,8 @@ #include #include "pbd/enumwriter.h" +#include "pbd/enum_convert.h" #include "pbd/xml++.h" -#include "pbd/convert.h" #include "ardour/export_profile_manager.h" #include "ardour/export_format_specification.h" @@ -50,6 +50,10 @@ #include "pbd/i18n.h" +namespace PBD { + DEFINE_ENUM_CONVERT(ARDOUR::ExportProfileManager::TimeFormat); +} + using namespace std; using namespace Glib; using namespace PBD; @@ -349,7 +353,7 @@ ExportProfileManager::find_file (std::string const & pattern) } void -ExportProfileManager::set_selection_range (framepos_t start, framepos_t end) +ExportProfileManager::set_selection_range (samplepos_t start, samplepos_t end) { if (start || end) { @@ -366,7 +370,7 @@ ExportProfileManager::set_selection_range (framepos_t start, framepos_t end) } std::string -ExportProfileManager::set_single_range (framepos_t start, framepos_t end, string name) +ExportProfileManager::set_single_range (samplepos_t start, samplepos_t end, string name) { single_range_mode = true; @@ -423,14 +427,14 @@ ExportProfileManager::TimespanStatePtr ExportProfileManager::deserialize_timespan (XMLNode & root) { TimespanStatePtr state (new TimespanState (selection_range, ranges)); - XMLProperty const * prop; XMLNodeList spans = root.children ("Range"); for (XMLNodeList::iterator node_it = spans.begin(); node_it != spans.end(); ++node_it) { - prop = (*node_it)->property ("id"); - if (!prop) { continue; } - string id = prop->value(); + std::string id; + if (!(*node_it)->get_property ("id", id)) { + continue; + } Location * location = 0; for (LocationList::iterator it = ranges->begin(); it != ranges->end(); ++it) { @@ -450,9 +454,7 @@ ExportProfileManager::deserialize_timespan (XMLNode & root) state->timespans->push_back (timespan); } - if ((prop = root.property ("format"))) { - state->time_format = (TimeFormat) string_2_enum (prop->value(), TimeFormat); - } + root.get_property ("format", state->time_format); if (state->timespans->empty()) { return TimespanStatePtr(); @@ -470,11 +472,11 @@ ExportProfileManager::serialize_timespan (TimespanStatePtr state) update_ranges (); for (TimespanList::iterator it = state->timespans->begin(); it != state->timespans->end(); ++it) { if ((span = root.add_child ("Range"))) { - span->add_property ("id", (*it)->range_id()); + span->set_property ("id", (*it)->range_id()); } } - root.add_property ("format", enum_2_string (state->time_format)); + root.set_property ("format", state->time_format); return root; } @@ -633,7 +635,6 @@ ExportProfileManager::save_format_to_disk (ExportFormatSpecPtr format) tree.write(); } - FormatListChanged (); return new_path; } @@ -728,7 +729,7 @@ ExportProfileManager::serialize_format (FormatStatePtr state) XMLNode * root = new XMLNode ("ExportFormat"); string id = state->format ? state->format->id().to_s() : ""; - root->add_property ("id", id); + root->set_property ("id", id); return *root; }