From 526a1a71fe8bf0b448a51c1cae47d7c516764882 Mon Sep 17 00:00:00 2001 From: Sakari Bergen Date: Fri, 7 Dec 2012 21:58:33 +0000 Subject: Make export type an enum and pass it to the profile manager instead of the xml node name. Use this to always include the channel configuration name in stem exports. git-svn-id: svn://localhost/ardour2/branches/3.0@13616 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/export_profile_manager.cc | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'libs/ardour/export_profile_manager.cc') 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); } -- cgit v1.2.3