X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_dialog.h;h=5e895e54c85a4e9b18320e1670e019db143ec05f;hb=0b1ee476edaed41f4c679f89e93a486e4d487333;hp=835c220c2331f1b7d9a0697bc7aa68da0a03525f;hpb=a5b39d56dfe5925238847cb2496aed3dbd1eb6fb;p=ardour.git diff --git a/gtk2_ardour/export_dialog.h b/gtk2_ardour/export_dialog.h index 835c220c23..5e895e54c8 100644 --- a/gtk2_ardour/export_dialog.h +++ b/gtk2_ardour/export_dialog.h @@ -32,6 +32,7 @@ #include "export_file_notebook.h" #include "export_preset_selector.h" #include "ardour_dialog.h" +#include "soundcloud_export_selector.h" #include @@ -43,11 +44,12 @@ namespace ARDOUR { class ExportTimespanSelector; class ExportChannelSelector; -class ExportDialog : public ArdourDialog { +class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList +{ 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 +67,7 @@ class ExportDialog : public ArdourDialog { typedef boost::shared_ptr HandlerPtr; typedef boost::shared_ptr ManagerPtr; - std::string xml_node_name; + ARDOUR::ExportProfileManager::ExportType type; HandlerPtr handler; ManagerPtr profile_manager; @@ -75,35 +77,31 @@ 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: void init (); - void expanded_changed(); - - void notify_errors (); + void notify_errors (bool force = false); void close_dialog (); void sync_with_manager (); 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 (); @@ -112,12 +110,8 @@ class ExportDialog : public ArdourDialog { PublicEditor & editor; StatusPtr status; - PBD::ScopedConnection abort_connection; - /*** GUI components ***/ - Glib::RefPtr advanced_sizegroup; - Gtk::Expander * advanced; /* Warning area */ @@ -140,11 +134,12 @@ 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; - Gtk::Button * rt_export_button; - Gtk::Button * fast_export_button; + Gtk::Button * export_button; }; @@ -173,9 +168,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 ();