X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_dialog.h;h=09385a4b846525dea47e85b444a68b9734191671;hb=7d553eea8028977021f1526b8ab538737a21767c;hp=756a3e7b53a4fda2f5b0288262157b7e894d445c;hpb=8648a8a13b04549362f14a0738947d997ef1abc7;p=ardour.git diff --git a/gtk2_ardour/export_dialog.h b/gtk2_ardour/export_dialog.h index 756a3e7b53..09385a4b84 100644 --- a/gtk2_ardour/export_dialog.h +++ b/gtk2_ardour/export_dialog.h @@ -21,8 +21,14 @@ #ifndef __export_dialog_h__ #define __export_dialog_h__ -#include #include +#include + +#include +#include +#include +#include +#include #include "ardour/export_profile_manager.h" @@ -32,8 +38,7 @@ #include "export_file_notebook.h" #include "export_preset_selector.h" #include "ardour_dialog.h" - -#include +#include "soundcloud_export_selector.h" namespace ARDOUR { class ExportStatus; @@ -43,9 +48,9 @@ namespace ARDOUR { class ExportTimespanSelector; class ExportChannelSelector; -class ExportDialog : public ArdourDialog { - - public: +class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList +{ +public: ExportDialog (PublicEditor & editor, std::string title, ARDOUR::ExportProfileManager::ExportType type); ~ExportDialog (); @@ -60,7 +65,11 @@ class ExportDialog : public ArdourDialog { RESPONSE_CANCEL }; - protected: +protected: + + void on_response (int response_id) { + Gtk::Dialog::on_response (response_id); + } typedef boost::shared_ptr HandlerPtr; typedef boost::shared_ptr ManagerPtr; @@ -75,26 +84,23 @@ 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 preset_selector; boost::scoped_ptr timespan_selector; boost::scoped_ptr channel_selector; boost::scoped_ptr file_notebook; + boost::shared_ptr soundcloud_selector; + Gtk::VBox warning_widget; Gtk::VBox progress_widget; - Gtk::Label * timespan_label; - Gtk::Label * channels_label; + /*** GUI components ***/ + Gtk::Notebook export_notebook; - private: +private: void init (); - void expanded_changed(); - void notify_errors (bool force = false); void close_dialog (); @@ -104,6 +110,9 @@ class ExportDialog : public ArdourDialog { void do_export (); + void update_realtime_selection (); + void parameter_changed (std::string const&); + void show_progress (); gint progress_timeout (); @@ -112,21 +121,18 @@ class ExportDialog : public ArdourDialog { PublicEditor & editor; StatusPtr status; - /*** GUI components ***/ - Glib::RefPtr advanced_sizegroup; - Gtk::Expander * advanced; /* Warning area */ Gtk::HBox warn_hbox; Gtk::Label warn_label; - std::string warn_string; + std::string warn_string; Gtk::HBox list_files_hbox; Gtk::Label list_files_label; Gtk::Button list_files_button; - std::string list_files_string; + std::string list_files_string; void add_error (std::string const & text); void add_warning (std::string const & text); @@ -138,6 +144,8 @@ class ExportDialog : public ArdourDialog { float previous_progress; // Needed for gtk bug workaround + void soundcloud_upload_progress(double total, double now, std::string title); + /* Buttons */ Gtk::Button * cancel_button; @@ -170,9 +178,6 @@ 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 ();