summaryrefslogtreecommitdiff
path: root/libs/ardour/export_profile_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/export_profile_manager.cc')
-rw-r--r--libs/ardour/export_profile_manager.cc25
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);
}