Make Dropdown menus at least as wide as the button
[ardour.git] / gtk2_ardour / export_format_dialog.h
index 0371b775440a807b87557b219fa835e68961ce64..8709ff979b4be4c267d791e375dff6d86817f66f 100644 (file)
 #include "ardour_dialog.h"
 #include "audio_clock.h"
 
+#ifdef interface
+#undef interface
+#endif
+
 #include <gtkmm.h>
 
 class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList {
@@ -110,6 +114,8 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
        void change_compatibility (bool compatibility, boost::weak_ptr<T> w_ptr, Glib::RefPtr<Gtk::ListStore> & list, ColsT & cols,
                                   std::string const & c_incompatible = "red", std::string const & c_compatible = "white");
 
+       void update_description();
+
        uint32_t applying_changes_from_engine;
 
        /*** Non-interactive selections ***/
@@ -120,6 +126,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 ();
 
@@ -151,14 +158,23 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
 
        Gtk::Label name_label;
        Gtk::Entry name_entry;
+       Gtk::Label name_generated_part;
 
        /* Normalize */
 
        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  */
 
@@ -172,6 +188,11 @@ 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
@@ -297,6 +318,17 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
        Gtk::Label  sample_format_label;
        Gtk::Label  dither_label;
 
+       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;