Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
[ardour.git] / gtk2_ardour / export_format_dialog.h
index f22e3425891141e3a07dde1e319935b0bf9933fb..3e38cf09d662a55b3e67c8dbfb9706f7d4e3d9df 100644 (file)
 #include "ardour_dialog.h"
 #include "audio_clock.h"
 
+#ifdef interface
+#undef interface
+#endif
+
 #include <gtkmm.h>
 
 class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList {
   private:
 
-       typedef ARDOUR::ExportFormatManager::WeakCompatPtr WeakCompatPtr;
+       typedef ARDOUR::WeakExportFormatCompatibilityPtr WeakCompatPtr;
+       typedef ARDOUR::WeakExportFormatPtr WeakFormatPtr;
        typedef ARDOUR::ExportFormatManager::WeakQualityPtr WeakQualityPtr;
-       typedef ARDOUR::ExportFormatManager::WeakFormatPtr WeakFormatPtr;
        typedef ARDOUR::ExportFormatManager::WeakSampleRatePtr WeakSampleRatePtr;
        typedef ARDOUR::ExportFormatManager::WeakSampleFormatPtr WeakSampleFormatPtr;
        typedef ARDOUR::ExportFormatManager::WeakDitherTypePtr WeakDitherTypePtr;
@@ -110,6 +114,8 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
        void change_compatibility (bool compatibility, boost::weak_ptr<T> w_ptr, Glib::RefPtr<Gtk::ListStore> & list, ColsT & cols,
                                   std::string const & c_incompatible = "red", std::string const & c_compatible = "white");
 
+       void update_description();
+
        uint32_t applying_changes_from_engine;
 
        /*** Non-interactive selections ***/
@@ -131,7 +137,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
 
        /*** Encoding options */
 
-       void change_encoding_options (ARDOUR::ExportFormatManager::FormatPtr ptr);
+       void change_encoding_options (ARDOUR::ExportFormatPtr ptr);
 
        void empty_encoding_option_table ();
        void remove_widget (Gtk::Widget & to_remove, Gtk::Container * remove_from);
@@ -151,6 +157,7 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
 
        Gtk::Label name_label;
        Gtk::Entry name_entry;
+       Gtk::Label name_generated_part;
 
        /* Normalize */
 
@@ -177,8 +184,8 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
        struct CompatibilityCols : public Gtk::TreeModelColumnRecord
        {
          public:
-               Gtk::TreeModelColumn<ARDOUR::ExportFormatManager::CompatPtr>  ptr;
-               Gtk::TreeModelColumn<bool>                                    selected;
+               Gtk::TreeModelColumn<ARDOUR::ExportFormatCompatibilityPtr>  ptr;
+               Gtk::TreeModelColumn<bool>                                  selected;
                Gtk::TreeModelColumn<std::string>                           label;
 
                CompatibilityCols () { add(ptr); add(selected); add(label); }
@@ -205,9 +212,9 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
        struct FormatCols : public Gtk::TreeModelColumnRecord
        {
          public:
-               Gtk::TreeModelColumn<ARDOUR::ExportFormatManager::FormatPtr>  ptr;
-               Gtk::TreeModelColumn<std::string>                           color;
-               Gtk::TreeModelColumn<std::string>                           label;
+               Gtk::TreeModelColumn<ARDOUR::ExportFormatPtr>  ptr;
+               Gtk::TreeModelColumn<std::string>              color;
+               Gtk::TreeModelColumn<std::string>              label;
 
                FormatCols () { add(ptr); add(color); add(label); }
        };
@@ -297,6 +304,14 @@ class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
        Gtk::Label  sample_format_label;
        Gtk::Label  dither_label;
 
+       Gtk::CheckButton with_cue;
+       Gtk::CheckButton with_toc;
+
+       Gtk::VBox cue_toc_vbox;
+
+       void update_with_toc ();
+       void update_with_cue ();
+
        Gtk::TreeView sample_format_view;
        Gtk::TreeView dither_type_view;