#include "ardour/export_formats.h"
#include "pbd/xml++.h"
+#include "pbd/signals.h"
#include "ardour_dialog.h"
#include "audio_clock.h"
#include <gtkmm.h>
-class ExportFormatDialog : public ArdourDialog {
+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;
/* These are connected to signals from GUI components, and should change element states */
- void update_compatibility_selection (Glib::ustring const & path);
+ void update_compatibility_selection (std::string const & path);
void update_quality_selection ();
void update_format_selection ();
void update_sample_rate_selection ();
template<typename T, typename ColsT>
void change_compatibility (bool compatibility, boost::weak_ptr<T> w_ptr, Glib::RefPtr<Gtk::ListStore> & list, ColsT & cols,
- Glib::ustring const & c_incompatible = "red", Glib::ustring const & c_compatible = "white");
+ std::string const & c_incompatible = "red", std::string const & c_compatible = "white");
+
+ void update_description();
uint32_t applying_changes_from_engine;
/*** 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);
Gtk::Label name_label;
Gtk::Entry name_entry;
+ Gtk::Label name_generated_part;
/* Normalize */
struct CompatibilityCols : public Gtk::TreeModelColumnRecord
{
public:
- Gtk::TreeModelColumn<ARDOUR::ExportFormatManager::CompatPtr> ptr;
- Gtk::TreeModelColumn<bool> selected;
- Gtk::TreeModelColumn<Glib::ustring> label;
+ Gtk::TreeModelColumn<ARDOUR::ExportFormatCompatibilityPtr> ptr;
+ Gtk::TreeModelColumn<bool> selected;
+ Gtk::TreeModelColumn<std::string> label;
CompatibilityCols () { add(ptr); add(selected); add(label); }
};
{
public:
Gtk::TreeModelColumn<ARDOUR::ExportFormatManager::QualityPtr> ptr;
- Gtk::TreeModelColumn<Glib::ustring> color;
- Gtk::TreeModelColumn<Glib::ustring> label;
+ Gtk::TreeModelColumn<std::string> color;
+ Gtk::TreeModelColumn<std::string> label;
QualityCols () { add(ptr); add(color); add(label); }
};
struct FormatCols : public Gtk::TreeModelColumnRecord
{
public:
- Gtk::TreeModelColumn<ARDOUR::ExportFormatManager::FormatPtr> ptr;
- Gtk::TreeModelColumn<Glib::ustring> color;
- Gtk::TreeModelColumn<Glib::ustring> label;
+ Gtk::TreeModelColumn<ARDOUR::ExportFormatPtr> ptr;
+ Gtk::TreeModelColumn<std::string> color;
+ Gtk::TreeModelColumn<std::string> label;
FormatCols () { add(ptr); add(color); add(label); }
};
{
public:
Gtk::TreeModelColumn<ARDOUR::ExportFormatManager::SampleRatePtr> ptr;
- Gtk::TreeModelColumn<Glib::ustring> color;
- Gtk::TreeModelColumn<Glib::ustring> label;
+ Gtk::TreeModelColumn<std::string> color;
+ Gtk::TreeModelColumn<std::string> label;
SampleRateCols () { add(ptr); add(color); add(label); }
};
{
public:
Gtk::TreeModelColumn<ARDOUR::ExportFormatBase::SRCQuality> id;
- Gtk::TreeModelColumn<Glib::ustring> label;
+ Gtk::TreeModelColumn<std::string> label;
SRCQualityCols () { add(id); add(label); }
};
{
public:
Gtk::TreeModelColumn<ARDOUR::HasSampleFormat::SampleFormatPtr> ptr;
- Gtk::TreeModelColumn<Glib::ustring> color;
- Gtk::TreeModelColumn<Glib::ustring> label;
+ Gtk::TreeModelColumn<std::string> color;
+ Gtk::TreeModelColumn<std::string> label;
SampleFormatCols () { add(ptr); add(color); add(label); }
};
{
public:
Gtk::TreeModelColumn<ARDOUR::HasSampleFormat::DitherTypePtr> ptr;
- Gtk::TreeModelColumn<Glib::ustring> color;
- Gtk::TreeModelColumn<Glib::ustring> label;
+ Gtk::TreeModelColumn<std::string> color;
+ Gtk::TreeModelColumn<std::string> label;
DitherTypeCols () { add(ptr); add (color); add(label); }
};
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;