X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_dialog.h;h=16343e55bc110789422382baba3f670a423d6cf8;hb=aaa44a37aaf585b9bcd9268a9551a005e6269bdb;hp=f974af26a1053414b9e18fddb77780a77832c3f3;hpb=209d967b1bb80a9735d690d8f4f0455ecb9970ca;p=ardour.git diff --git a/gtk2_ardour/export_dialog.h b/gtk2_ardour/export_dialog.h index f974af26a1..16343e55bc 100644 --- a/gtk2_ardour/export_dialog.h +++ b/gtk2_ardour/export_dialog.h @@ -20,18 +20,29 @@ #ifndef __ardour_export_dialog_h__ #define __ardour_export_dialog_h__ -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include -#include "ardour_dialog.h" #include +#include "ardour_dialog.h" class PublicEditor; namespace ARDOUR { class Session; class AudioRegion; + class Port; } class ExportDialog : public ArdourDialog @@ -44,6 +55,20 @@ class ExportDialog : public ArdourDialog void set_range (jack_nframes_t start, jack_nframes_t end); void start_export (); + protected: + struct ExportModelColumns : public Gtk::TreeModel::ColumnRecord + { + public: + Gtk::TreeModelColumn output; + Gtk::TreeModelColumn left; + Gtk::TreeModelColumn right; + Gtk::TreeModelColumn port; + + ExportModelColumns() { add(output); add(left); add(right); add(port);} + }; + + ExportModelColumns exp_cols; + private: PublicEditor& editor; ARDOUR::Session* session; @@ -57,21 +82,21 @@ class ExportDialog : public ArdourDialog Gtk::Frame format_frame; Gtk::Label sample_rate_label; - Gtk::Combo sample_rate_combo; + Gtk::ComboBoxText sample_rate_combo; Gtk::Label src_quality_label; - Gtk::Combo src_quality_combo; + Gtk::ComboBoxText src_quality_combo; Gtk::Label dither_type_label; - Gtk::Combo dither_type_combo; + Gtk::ComboBoxText dither_type_combo; Gtk::Label cue_file_label; - Gtk::Combo cue_file_combo; + Gtk::ComboBoxText cue_file_combo; Gtk::Label channel_count_label; - Gtk::Combo channel_count_combo; + Gtk::ComboBoxText channel_count_combo; Gtk::Label header_format_label; - Gtk::Combo header_format_combo; + Gtk::ComboBoxText header_format_combo; Gtk::Label bitdepth_format_label; - Gtk::Combo bitdepth_format_combo; + Gtk::ComboBoxText bitdepth_format_combo; Gtk::Label endian_format_label; - Gtk::Combo endian_format_combo; + Gtk::ComboBoxText endian_format_combo; Gtk::CheckButton cuefile_only_checkbox; Gtk::Frame file_frame; @@ -86,34 +111,30 @@ class ExportDialog : public ArdourDialog Gtk::ScrolledWindow track_scroll; Gtk::ScrolledWindow master_scroll; Gtk::Button track_selector_button; - Gtk::CList track_selector; - Gtk::CList master_selector; + Gtk::TreeView track_selector; + Glib::RefPtr track_list; + Gtk::TreeView master_selector; + Glib::RefPtr master_list; Gtk::FileSelection *file_selector; ARDOUR::AudioExportSpecification spec; - static GdkPixmap *check_pixmap; - static GdkBitmap *check_mask; - static GdkPixmap *empty_pixmap; - static GdkBitmap *empty_mask; - static void *_thread (void *arg); gint progress_timeout (); - SigC::Connection progress_connection; + sigc::connection progress_connection; void build_window (); void end_dialog(); - gint header_chosen (GdkEventAny *ignored); - gint channels_chosen (GdkEventAny *ignored); - gint bitdepth_chosen (GdkEventAny *ignored); - gint sample_rate_chosen (GdkEventAny *ignored); - gint cue_file_type_chosen(GdkEventAny *ignored); - gint track_selector_button_press_event (GdkEventButton *ev); - gint master_selector_button_press_event (GdkEventButton *ev); + void header_chosen (); + void channels_chosen (); + void bitdepth_chosen (); + void sample_rate_chosen (); + void cue_file_type_chosen(); + + void fill_lists(); void do_export_cd_markers (const string& path, const string& cuefile_type); void export_cue_file (ARDOUR::Locations::LocationList& locations, const string& path); void export_toc_file (ARDOUR::Locations::LocationList& locations, const string& path); void do_export (); - gint change_focus_policy (GdkEventAny *, bool); gint window_closed (GdkEventAny *ignored); void track_selector_button_click ();