X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_format_dialog.cc;h=f76effaebba4d614b4dc08fb87130c07c6704369;hb=ef393f5a888a64448dfbf534e12722697a5e21f8;hp=1e8e87c7cf88e471be9a166c315df3ab186b355c;hpb=0925abbc92bab66224b8886dcc21e6f2d4641afa;p=ardour.git diff --git a/gtk2_ardour/export_format_dialog.cc b/gtk2_ardour/export_format_dialog.cc index 1e8e87c7cf..f76effaebb 100644 --- a/gtk2_ardour/export_format_dialog.cc +++ b/gtk2_ardour/export_format_dialog.cc @@ -51,6 +51,8 @@ ExportFormatDialog::ExportFormatDialog (FormatPtr format, bool new_dialog) : silence_end_checkbox (_("Add silence at end:")), silence_end_clock ("silence_end", true, "", true, false, true), + command_label(_("Command to run post-export\n(%f=full path & filename, %d=directory, %b=basename):"), Gtk::ALIGN_LEFT), + format_table (3, 4), compatibility_label (_("Compatibility"), Gtk::ALIGN_LEFT), quality_label (_("Quality"), Gtk::ALIGN_LEFT), @@ -67,6 +69,7 @@ ExportFormatDialog::ExportFormatDialog (FormatPtr format, bool new_dialog) : with_cue (_("Create CUE file for disk-at-once CD/DVD creation")), with_toc (_("Create TOC file for disk-at-once CD/DVD creation")), + with_mp4chaps (_("Create chapter mark file for MP4 chapter marks")), tag_checkbox (_("Tag file with session's metadata")) { @@ -113,6 +116,11 @@ ExportFormatDialog::ExportFormatDialog (FormatPtr format, bool new_dialog) : silence_table.attach (silence_end_checkbox, 1, 2, 2, 3); silence_table.attach (silence_end_clock, 2, 3, 2, 3); + /* Post-export hook script */ + + get_vbox()->pack_start (command_label, false, false); + get_vbox()->pack_start (command_entry, false, false); + /* Format table */ init_format_table(); @@ -142,9 +150,12 @@ ExportFormatDialog::ExportFormatDialog (FormatPtr format, bool new_dialog) : with_cue.signal_toggled().connect (sigc::mem_fun (*this, &ExportFormatDialog::update_with_cue)); with_toc.signal_toggled().connect (sigc::mem_fun (*this, &ExportFormatDialog::update_with_toc)); + with_mp4chaps.signal_toggled().connect (sigc::mem_fun (*this, &ExportFormatDialog::update_with_mp4chaps)); + command_entry.signal_changed().connect (sigc::mem_fun (*this, &ExportFormatDialog::update_command)); cue_toc_vbox.pack_start (with_cue, false, false); cue_toc_vbox.pack_start (with_toc, false, false); + cue_toc_vbox.pack_start (with_mp4chaps, false, false); /* Load state before hooking up the rest of the signals */ @@ -253,6 +264,7 @@ ExportFormatDialog::load_state (FormatPtr spec) with_cue.set_active (spec->with_cue()); with_toc.set_active (spec->with_toc()); + with_mp4chaps.set_active (spec->with_mp4chaps()); for (Gtk::ListStore::Children::iterator it = src_quality_list->children().begin(); it != src_quality_list->children().end(); ++it) { if (it->get_value (src_quality_cols.id) == spec->src_quality()) { @@ -296,6 +308,7 @@ ExportFormatDialog::load_state (FormatPtr spec) } tag_checkbox.set_active (spec->tag()); + command_entry.set_text (spec->command()); } void @@ -717,6 +730,18 @@ ExportFormatDialog::update_with_toc () manager.select_with_toc (with_toc.get_active()); } +void +ExportFormatDialog::update_with_mp4chaps () +{ + manager.select_with_mp4chaps (with_mp4chaps.get_active()); +} + +void +ExportFormatDialog::update_command () +{ + manager.set_command (command_entry.get_text()); +} + void ExportFormatDialog::update_description() { @@ -897,8 +922,6 @@ ExportFormatDialog::show_ogg_enconding_options (boost::shared_ptr