add VU and IEC meter DSP (from jmeters)
[ardour.git] / gtk2_ardour / export_dialog.h
index 9b06492cdd4a6896e0d381e9dd43c5f16f2d1cb6..52c53660d865a17e78fa7e4f7e8e27406346612a 100644 (file)
@@ -47,7 +47,7 @@ class ExportDialog : public ArdourDialog {
 
   public:
 
-       ExportDialog (PublicEditor & editor, std::string title, std::string xml_node_name);
+       ExportDialog (PublicEditor & editor, std::string title, ARDOUR::ExportProfileManager::ExportType type);
        ~ExportDialog ();
 
        void set_session (ARDOUR::Session* s);
@@ -65,7 +65,7 @@ class ExportDialog : public ArdourDialog {
        typedef boost::shared_ptr<ARDOUR::ExportHandler> HandlerPtr;
        typedef boost::shared_ptr<ARDOUR::ExportProfileManager> ManagerPtr;
 
-       std::string     xml_node_name;
+       ARDOUR::ExportProfileManager::ExportType type;
        HandlerPtr      handler;
        ManagerPtr      profile_manager;
 
@@ -75,6 +75,9 @@ class ExportDialog : public ArdourDialog {
        // Must initialize all the shared_ptrs below
        virtual void init_components ();
 
+       // Override if the channel selector should not be grown
+       virtual bool channel_selector_is_expandable() { return true; }
+
        boost::scoped_ptr<ExportPresetSelector>   preset_selector;
        boost::scoped_ptr<ExportTimespanSelector> timespan_selector;
        boost::scoped_ptr<ExportChannelSelector>  channel_selector;
@@ -90,15 +93,16 @@ class ExportDialog : public ArdourDialog {
 
        void init ();
 
+       void expanded_changed();
+
        void notify_errors ();
        void close_dialog ();
 
        void sync_with_manager ();
-       void update_warnings ();
+       void update_warnings_and_example_filename ();
        void show_conflicting_files ();
 
-       void export_rt ();
-       void export_fw ();
+       void do_export ();
 
        void show_progress ();
        gint progress_timeout ();
@@ -107,10 +111,12 @@ class ExportDialog : public ArdourDialog {
 
        PublicEditor &  editor;
        StatusPtr       status;
-       PBD::ScopedConnection abort_connection;
 
        /*** GUI components ***/
 
+       Glib::RefPtr<Gtk::SizeGroup> advanced_sizegroup;
+       Gtk::Expander * advanced;
+
        /* Warning area */
 
        Gtk::HBox           warn_hbox;
@@ -127,21 +133,15 @@ class ExportDialog : public ArdourDialog {
 
        /* Progress bar */
 
-       Gtk::Label              progress_label;
        Gtk::ProgressBar        progress_bar;
        sigc::connection        progress_connection;
 
-       /* Normalizing */
-
-       Gtk::VBox               normalizing_widget;
-       Gtk::Label              normalizing_label;
-       Gtk::ProgressBar        normalizing_bar;
+       float previous_progress; // Needed for gtk bug workaround
 
        /* Buttons */
 
        Gtk::Button *           cancel_button;
-       Gtk::Button *           rt_export_button;
-       Gtk::Button *           fast_export_button;
+       Gtk::Button *           export_button;
 
 };
 
@@ -153,7 +153,7 @@ class ExportRangeDialog : public ExportDialog
   private:
        void init_components ();
 
-        std::string range_id;
+       std::string range_id;
 };
 
 class ExportSelectionDialog : public ExportDialog
@@ -170,6 +170,9 @@ class ExportRegionDialog : public ExportDialog
   public:
        ExportRegionDialog (PublicEditor & editor, ARDOUR::AudioRegion const & region, ARDOUR::AudioTrack & track);
 
+  protected:
+       virtual bool channel_selector_is_expandable() { return false; }
+
   private:
        void init_gui ();
        void init_components ();