using namespace PBD;
using std::string;
-ExportDialog::ExportDialog (PublicEditor & editor, std::string title) :
- ArdourDialog (title),
- editor (editor),
-
- warn_label ("", Gtk::ALIGN_LEFT),
- list_files_label (_("<span color=\"#ffa755\">Some already existing files will be overwritten.</span>"), Gtk::ALIGN_RIGHT),
- list_files_button (_("List files"))
+ExportDialog::ExportDialog (PublicEditor & editor, std::string title, std::string xml_node_name)
+ : ArdourDialog (title)
+ , xml_node_name (xml_node_name)
+ , editor (editor)
+
+ , warn_label ("", Gtk::ALIGN_LEFT)
+ , list_files_label (_("<span color=\"#ffa755\">Some already existing files will be overwritten.</span>"), Gtk::ALIGN_RIGHT)
+ , list_files_button (_("List files"))
{ }
ExportDialog::~ExportDialog ()
handler = _session->get_export_handler ();
status = _session->get_export_status ();
- profile_manager.reset (new ExportProfileManager (*_session));
+ profile_manager.reset (new ExportProfileManager (*_session, xml_node_name));
/* Possibly init stuff in derived classes */
//rt_export_button = add_button (_("Realtime Export"), RESPONSE_RT);
//fast_export_button = add_button (_("Fast Export"), RESPONSE_FAST);
fast_export_button = add_button (_("Export"), RESPONSE_FAST);
+ set_default_response (RESPONSE_FAST);
list_files_button.set_name ("PaddedButton");
list_files_hbox.show ();
for (std::list<string>::iterator it = warnings->conflicting_filenames.begin(); it != warnings->conflicting_filenames.end(); ++it) {
string::size_type pos = it->find_last_of ("/");
- list_files_string += "\n" + it->substr (0, pos + 1) + "<b>" + it->substr (pos + 1) + "</b>";
+ list_files_string += it->substr (0, pos + 1) + "<b>" + it->substr (pos + 1) + "</b>\n";
}
}
}
usleep (10000);
}
}
-
+
if (!status->aborted()) {
status->finish ();
}
gint
ExportDialog::progress_timeout ()
{
- switch (status->stage) {
- case export_None:
- progress_label.set_text ("");
- break;
- case export_ReadTimespan:
- progress_label.set_text (string_compose (_("Reading timespan %1 of %2"), status->timespan, status->total_timespans));
- break;
- case export_PostProcess:
- progress_label.set_text (string_compose (_("Processing file %2 of %3 (%1) from timespan %4 of %5"),
- file_notebook->get_nth_format_name (status->format),
- status->format, status->total_formats,
- status->timespan, status->total_timespans));
- break;
- case export_Write:
- progress_label.set_text (string_compose (_("Encoding file %2 of %3 (%1) from timespan %4 of %5"),
- file_notebook->get_nth_format_name (status->format),
- status->format, status->total_formats,
- status->timespan, status->total_timespans));
- break;
+ std::string status_text;
+ if (status->normalizing) {
+ status_text = string_compose (_("Normalizing timespan %1 of %2"),
+ status->timespan, status->total_timespans);
+ } else {
+ status_text = string_compose (_("Exporting timespan %1 of %2"),
+ status->timespan, status->total_timespans);
}
+ progress_label.set_text (status_text);
progress_bar.set_fraction (status->progress);
return TRUE;
/*** Dialog specializations ***/
ExportRangeDialog::ExportRangeDialog (PublicEditor & editor, string range_id) :
- ExportDialog (editor, _("Export Range")),
+ ExportDialog (editor, _("Export Range"), X_("RangeExportProfile")),
range_id (range_id)
{}
}
ExportSelectionDialog::ExportSelectionDialog (PublicEditor & editor) :
- ExportDialog (editor, _("Export Selection"))
+ ExportDialog (editor, _("Export Selection"), X_("SelectionExportProfile"))
{}
void
}
ExportRegionDialog::ExportRegionDialog (PublicEditor & editor, ARDOUR::AudioRegion const & region, ARDOUR::AudioTrack & track) :
- ExportDialog (editor, _("Export Region")),
+ ExportDialog (editor, _("Export Region"), X_("RegionExportProfile")),
region (region),
track (track)
{}
channel_selector.reset (new RegionExportChannelSelector (_session, profile_manager, region, track));
file_notebook.reset (new ExportFileNotebook ());
}
+
+StemExportDialog::StemExportDialog (PublicEditor & editor)
+ : ExportDialog(editor, _("Stem Export"), X_("StemExportProfile"))
+{
+
+}
+
+void
+StemExportDialog::init_components ()
+{
+ preset_selector.reset (new ExportPresetSelector ());
+ timespan_selector.reset (new ExportTimespanSelectorMultiple (_session, profile_manager));
+ channel_selector.reset (new TrackExportChannelSelector (_session, profile_manager));
+ file_notebook.reset (new ExportFileNotebook ());
+}
+