X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fexport_profile_manager.cc;h=be9cdd67d22c1284f5d2d3303628af95a60c800d;hb=444b9e89033aa4171254a3622c583e1d791c7e9f;hp=a4d6239ae4bc1f5de0789c43e127e77fc63ed70f;hpb=7ac691ec821c1986282ba9e25b3890dcf07e3e51;p=ardour.git diff --git a/libs/ardour/export_profile_manager.cc b/libs/ardour/export_profile_manager.cc index a4d6239ae4..be9cdd67d2 100644 --- a/libs/ardour/export_profile_manager.cc +++ b/libs/ardour/export_profile_manager.cc @@ -23,7 +23,7 @@ #include #include -#include +#include "pbd/gstdio_compat.h" #include #include @@ -48,7 +48,7 @@ #include "ardour/session.h" #include "ardour/broadcast_info.h" -#include "i18n.h" +#include "pbd/i18n.h" using namespace std; using namespace Glib; @@ -58,7 +58,7 @@ namespace ARDOUR { ExportProfileManager::ExportProfileManager (Session & s, ExportType type) - : type(type) + : _type(type) , handler (s.get_export_handler()) , session (s) @@ -162,7 +162,7 @@ ExportProfileManager::prepare_for_export () } // ...and each channel config - filename->include_channel_config = (type == StemExport) || + 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); @@ -180,9 +180,14 @@ ExportProfileManager::load_preset (ExportPresetPtr preset) if (!preset) { return false; } XMLNode const * state; + /* local state is saved in instant.xml and contains timespan + * and channel config for per session. + * It may not be present for a given preset/session combination + * and is never preset for system-wide presets, but that's OK. + */ if ((state = preset->get_local_state())) { set_local_state (*state); - } else { ok = false; } + } if ((state = preset->get_global_state())) { if (!set_global_state (*state)) { @@ -400,7 +405,7 @@ ExportProfileManager::init_timespans (XMLNodeList nodes) } else { session_range = session.locations()->session_range_location(); } - + if (!session_range) { return false; } ExportTimespanPtr timespan = handler->add_timespan(); @@ -701,7 +706,7 @@ ExportProfileManager::init_formats (XMLNodeList nodes) ExportProfileManager::FormatStatePtr ExportProfileManager::deserialize_format (XMLNode & root) { - XMLProperty * prop; + XMLProperty const * prop; PBD::UUID id; if ((prop = root.property ("id"))) { @@ -789,7 +794,7 @@ std::string ExportProfileManager::get_sample_filename_for_format (ExportFilenamePtr filename, ExportFormatSpecPtr format) { assert (format); - + if (channel_configs.empty()) { return ""; } std::list filenames; @@ -829,7 +834,7 @@ ExportProfileManager::get_warnings () if (!channel_configs.empty ()) { channel_config_state = channel_configs.front(); } - + TimespanStatePtr timespan_state = timespans.front(); /*** Check "global" config ***/ @@ -867,7 +872,7 @@ ExportProfileManager::get_warnings () check_config (warnings, timespan_state, channel_config_state, *format_it, *filename_it); } } - + return warnings; }