X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_format_dialog.h;h=6b5fe18fa3c9391cd8499d768d791c2a51fc144e;hb=e8903a7590caaa46498d3e53c9d7df63edb24090;hp=3e38cf09d662a55b3e67c8dbfb9706f7d4e3d9df;hpb=6acdfc69b785841ac10a324484ddd0208612a213;p=ardour.git diff --git a/gtk2_ardour/export_format_dialog.h b/gtk2_ardour/export_format_dialog.h index 3e38cf09d6..6b5fe18fa3 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,7 +145,9 @@ 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 (); + void set_codec_quality_selection (); /*** Encoding options */ @@ -146,8 +160,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 +179,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 +203,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 +228,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 +240,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 +252,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 +278,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList struct SRCQualityCols : public Gtk::TreeModelColumnRecord { - public: + public: Gtk::TreeModelColumn id; Gtk::TreeModelColumn label; @@ -279,7 +308,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 +320,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 +335,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;