X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_format_dialog.h;h=40ca8dfe45a1803485d1c986324c94b4ca2021d3;hb=79731a716deae9a90be646695480f06f92c268f5;hp=3e38cf09d662a55b3e67c8dbfb9706f7d4e3d9df;hpb=a6e0b60ae1df3676ba45eeb302108eecfe7a7797;p=ardour.git diff --git a/gtk2_ardour/export_format_dialog.h b/gtk2_ardour/export_format_dialog.h index 3e38cf09d6..40ca8dfe45 100644 --- a/gtk2_ardour/export_format_dialog.h +++ b/gtk2_ardour/export_format_dialog.h @@ -36,10 +36,21 @@ #undef interface #endif -#include - -class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList { - private: +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList +{ +private: typedef ARDOUR::WeakExportFormatCompatibilityPtr WeakCompatPtr; typedef ARDOUR::WeakExportFormatPtr WeakFormatPtr; @@ -51,14 +62,14 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList typedef boost::shared_ptr FormatPtr; - public: +public: explicit ExportFormatDialog (FormatPtr format, bool new_dialog = false); ~ExportFormatDialog (); void set_session (ARDOUR::Session* s); - private: +private: FormatPtr format; ARDOUR::ExportFormatManager manager; @@ -126,6 +137,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList void update_trim_end_selection (); void update_normalize_selection (); + void update_normalize_sensitivity (); void update_silence_start_selection (); void update_silence_end_selection (); @@ -133,6 +145,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList void update_time (ARDOUR::AnyTime & time, AudioClock const & clock); void update_src_quality_selection (); + void update_codec_quality_selection (); void update_tagging_selection (); /*** Encoding options */ @@ -146,8 +159,10 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList void show_ogg_enconding_options (boost::shared_ptr ptr); void show_flac_enconding_options (boost::shared_ptr ptr); void show_bwf_enconding_options (boost::shared_ptr ptr); + void show_ffmpeg_enconding_options (boost::shared_ptr ptr); void fill_sample_format_lists (boost::shared_ptr ptr); + void fill_codec_quality_lists (boost::shared_ptr ptr); /*** GUI components ***/ @@ -163,9 +178,17 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList Gtk::HBox normalize_hbox; Gtk::CheckButton normalize_checkbox; - Gtk::SpinButton normalize_spinbutton; - Gtk::Adjustment normalize_adjustment; - Gtk::Label normalize_db_label; + Gtk::RadioButton normalize_peak_rb; + Gtk::RadioButton normalize_loudness_rb; + Gtk::SpinButton normalize_dbfs_spinbutton; + Gtk::Adjustment normalize_dbfs_adjustment; + Gtk::SpinButton normalize_lufs_spinbutton; + Gtk::Adjustment normalize_lufs_adjustment; + Gtk::SpinButton normalize_dbtp_spinbutton; + Gtk::Adjustment normalize_dbtp_adjustment; + Gtk::Label normalize_dbfs_label; + Gtk::Label normalize_lufs_label; + Gtk::Label normalize_dbtp_label; /* Silence */ @@ -179,11 +202,16 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList Gtk::CheckButton silence_end_checkbox; AudioClock silence_end_clock; + /* Post-export hook */ + + Gtk::Label command_label; + Gtk::Entry command_entry; + /* Format table */ struct CompatibilityCols : public Gtk::TreeModelColumnRecord { - public: + public: Gtk::TreeModelColumn ptr; Gtk::TreeModelColumn selected; Gtk::TreeModelColumn label; @@ -199,7 +227,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList struct QualityCols : public Gtk::TreeModelColumnRecord { - public: + public: Gtk::TreeModelColumn ptr; Gtk::TreeModelColumn color; Gtk::TreeModelColumn label; @@ -211,7 +239,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList struct FormatCols : public Gtk::TreeModelColumnRecord { - public: + public: Gtk::TreeModelColumn ptr; Gtk::TreeModelColumn color; Gtk::TreeModelColumn label; @@ -223,7 +251,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList struct SampleRateCols : public Gtk::TreeModelColumnRecord { - public: + public: Gtk::TreeModelColumn ptr; Gtk::TreeModelColumn color; Gtk::TreeModelColumn label; @@ -249,7 +277,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList struct SRCQualityCols : public Gtk::TreeModelColumnRecord { - public: + public: Gtk::TreeModelColumn id; Gtk::TreeModelColumn label; @@ -279,7 +307,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList struct SampleFormatCols : public Gtk::TreeModelColumnRecord { - public: + public: Gtk::TreeModelColumn ptr; Gtk::TreeModelColumn color; Gtk::TreeModelColumn label; @@ -291,7 +319,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList struct DitherTypeCols : public Gtk::TreeModelColumnRecord { - public: + public: Gtk::TreeModelColumn ptr; Gtk::TreeModelColumn color; Gtk::TreeModelColumn label; @@ -306,15 +334,34 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList Gtk::CheckButton with_cue; Gtk::CheckButton with_toc; + Gtk::CheckButton with_mp4chaps; Gtk::VBox cue_toc_vbox; void update_with_toc (); void update_with_cue (); + void update_with_mp4chaps(); + void update_command (); Gtk::TreeView sample_format_view; Gtk::TreeView dither_type_view; + + /* codec quality combo */ + + struct CodecQualityCols : public Gtk::TreeModelColumnRecord + { + public: + Gtk::TreeModelColumn quality; + Gtk::TreeModelColumn label; + + CodecQualityCols () { add(quality); add(label); } + }; + CodecQualityCols codec_quality_cols; + Glib::RefPtr codec_quality_list; + + Gtk::ComboBox codec_quality_combo; + /* Tagging */ Gtk::CheckButton tag_checkbox;