X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fexport_dialog.h;h=5c9e346f50c4bf8b731e29131f2de6adf09508dc;hb=b502bbc61895d61c39bf240b47e8a3664be2c541;hp=c0c5a24b20c7b07c33283a1b8251526aafcd1d7a;hpb=ef9beb3f60b5499d4db48b771627b6facfe872d3;p=ardour.git diff --git a/gtk2_ardour/export_dialog.h b/gtk2_ardour/export_dialog.h index c0c5a24b20..5c9e346f50 100644 --- a/gtk2_ardour/export_dialog.h +++ b/gtk2_ardour/export_dialog.h @@ -21,10 +21,10 @@ #ifndef __export_dialog_h__ #define __export_dialog_h__ -#include +#include +#include -#include -#include +#include "ardour/export_profile_manager.h" #include "public_editor.h" #include "export_timespan_selector.h" @@ -35,10 +35,9 @@ #include -#include "i18n.h" - namespace ARDOUR { class ExportStatus; + class ExportHandler; } class ExportTimespanSelector; @@ -48,11 +47,11 @@ class ExportDialog : public ArdourDialog { public: - explicit ExportDialog (PublicEditor & editor, Glib::ustring title = _("Export")); + ExportDialog (PublicEditor & editor, std::string title, std::string xml_node_name); ~ExportDialog (); - + void set_session (ARDOUR::Session* s); - + /* Responses */ enum Responses { @@ -63,70 +62,77 @@ class ExportDialog : public ArdourDialog { protected: + typedef boost::shared_ptr HandlerPtr; + typedef boost::shared_ptr ManagerPtr; + + std::string xml_node_name; + HandlerPtr handler; + ManagerPtr profile_manager; + // initializes GUI layout virtual void init_gui (); // Must initialize all the shared_ptrs below virtual void init_components (); - boost::shared_ptr preset_selector; - boost::shared_ptr timespan_selector; - boost::shared_ptr channel_selector; - boost::shared_ptr file_notebook; - + boost::scoped_ptr preset_selector; + boost::scoped_ptr timespan_selector; + boost::scoped_ptr channel_selector; + boost::scoped_ptr file_notebook; + Gtk::VBox warning_widget; Gtk::VBox progress_widget; + Gtk::Label * timespan_label; + Gtk::Label * channels_label; + private: void init (); void notify_errors (); void close_dialog (); - + void sync_with_manager (); void update_warnings (); void show_conflicting_files (); void export_rt (); void export_fw (); - + void show_progress (); gint progress_timeout (); - - typedef boost::shared_ptr HandlerPtr; - typedef boost::shared_ptr ManagerPtr; + typedef boost::shared_ptr StatusPtr; - + PublicEditor & editor; - HandlerPtr handler; - ManagerPtr profile_manager; StatusPtr status; - + PBD::ScopedConnection abort_connection; + /*** GUI components ***/ - + /* Warning area */ - + Gtk::HBox warn_hbox; Gtk::Label warn_label; - Glib::ustring warn_string; - + std::string warn_string; + Gtk::HBox list_files_hbox; Gtk::Label list_files_label; Gtk::Button list_files_button; - Glib::ustring list_files_string; - - void add_error (Glib::ustring const & text); - void add_warning (Glib::ustring const & text); - + std::string list_files_string; + + void add_error (std::string const & text); + void add_warning (std::string const & text); + /* Progress bar */ - + Gtk::Label progress_label; Gtk::ProgressBar progress_bar; sigc::connection progress_connection; - + /* Buttons */ - + Gtk::Button * cancel_button; Gtk::Button * rt_export_button; Gtk::Button * fast_export_button; @@ -136,12 +142,12 @@ class ExportDialog : public ArdourDialog { class ExportRangeDialog : public ExportDialog { public: - ExportRangeDialog (PublicEditor & editor, Glib::ustring range_id); + ExportRangeDialog (PublicEditor & editor, std::string range_id); private: void init_components (); - - Glib::ustring range_id; + + std::string range_id; }; class ExportSelectionDialog : public ExportDialog @@ -153,4 +159,26 @@ class ExportSelectionDialog : public ExportDialog void init_components (); }; +class ExportRegionDialog : public ExportDialog +{ + public: + ExportRegionDialog (PublicEditor & editor, ARDOUR::AudioRegion const & region, ARDOUR::AudioTrack & track); + + private: + void init_gui (); + void init_components (); + + ARDOUR::AudioRegion const & region; + ARDOUR::AudioTrack & track; +}; + +class StemExportDialog : public ExportDialog +{ + public: + StemExportDialog (PublicEditor & editor); + + private: + void init_components (); +}; + #endif /* __ardour_export_dialog_h__ */