diff options
Diffstat (limited to 'libs/ardour/export_profile_manager.cc')
-rw-r--r-- | libs/ardour/export_profile_manager.cc | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/libs/ardour/export_profile_manager.cc b/libs/ardour/export_profile_manager.cc index af7f6a73f8..deeb3aea2b 100644 --- a/libs/ardour/export_profile_manager.cc +++ b/libs/ardour/export_profile_manager.cc @@ -56,8 +56,8 @@ using namespace PBD; namespace ARDOUR { -ExportProfileManager::ExportProfileManager (Session & s, std::string xml_node_name) - : xml_node_name (xml_node_name) +ExportProfileManager::ExportProfileManager (Session & s, ExportType type) + : type(type) , handler (s.get_export_handler()) , session (s) @@ -67,6 +67,24 @@ ExportProfileManager::ExportProfileManager (Session & s, std::string xml_node_na , format_list (new FormatList ()) { + switch(type) { + case RegularExport: + xml_node_name = X_("ExportProfile"); + break; + case RangeExport: + xml_node_name = X_("RangeExportProfile"); + break; + case SelectionExport: + xml_node_name = X_("SelectionExportProfile"); + break; + case RegionExport: + xml_node_name = X_("RegionExportProfile"); + break; + case StemExport: + xml_node_name = X_("StemExportProfile"); + break; + } + /* Initialize path variables */ export_config_dir = Glib::build_filename (user_config_directory(), export_dir_name); @@ -139,7 +157,8 @@ ExportProfileManager::prepare_for_export () } // ...and each channel config - filename->include_channel_config = (channel_configs.size() > 1); + filename->include_channel_config = (type == StemExport) || + (channel_configs.size() > 1); for(ChannelConfigStateList::iterator cc_it = channel_configs.begin(); cc_it != channel_configs.end(); ++cc_it) { handler->add_export_config (*ts_it, (*cc_it)->config, (*format_it)->format, filename, b); } |