#undef interface
#endif
-#include <gtkmm.h>
-
-class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList {
- private:
+#include <gtkmm/adjustment.h>
+#include <gtkmm/box.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/combobox.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/label.h>
+#include <gtkmm/liststore.h>
+#include <gtkmm/radiobutton.h>
+#include <gtkmm/spinbutton.h>
+#include <gtkmm/table.h>
+#include <gtkmm/treeview.h>
+
+class ExportFormatDialog : public ArdourDialog, public PBD::ScopedConnectionList
+{
+private:
typedef ARDOUR::WeakExportFormatCompatibilityPtr WeakCompatPtr;
typedef ARDOUR::WeakExportFormatPtr WeakFormatPtr;
typedef boost::shared_ptr<ARDOUR::ExportFormatSpecification> FormatPtr;
- public:
+public:
explicit ExportFormatDialog (FormatPtr format, bool new_dialog = false);
~ExportFormatDialog ();
void set_session (ARDOUR::Session* s);
- private:
+private:
FormatPtr format;
ARDOUR::ExportFormatManager manager;
void update_time (ARDOUR::AnyTime & time, AudioClock const & clock);
void update_src_quality_selection ();
+ void update_codec_quality_selection ();
void update_tagging_selection ();
+ void set_codec_quality_selection ();
/*** Encoding options */
void show_ogg_enconding_options (boost::shared_ptr<ARDOUR::ExportFormatOggVorbis> ptr);
void show_flac_enconding_options (boost::shared_ptr<ARDOUR::ExportFormatFLAC> ptr);
void show_bwf_enconding_options (boost::shared_ptr<ARDOUR::ExportFormatBWF> ptr);
+ void show_ffmpeg_enconding_options (boost::shared_ptr<ARDOUR::ExportFormatFFMPEG> ptr);
void fill_sample_format_lists (boost::shared_ptr<ARDOUR::HasSampleFormat> ptr);
+ void fill_codec_quality_lists (boost::shared_ptr<ARDOUR::HasCodecQuality> ptr);
/*** GUI components ***/
struct CompatibilityCols : public Gtk::TreeModelColumnRecord
{
- public:
+ public:
Gtk::TreeModelColumn<ARDOUR::ExportFormatCompatibilityPtr> ptr;
Gtk::TreeModelColumn<bool> selected;
Gtk::TreeModelColumn<std::string> label;
struct QualityCols : public Gtk::TreeModelColumnRecord
{
- public:
+ public:
Gtk::TreeModelColumn<ARDOUR::ExportFormatManager::QualityPtr> ptr;
Gtk::TreeModelColumn<std::string> color;
Gtk::TreeModelColumn<std::string> label;
struct FormatCols : public Gtk::TreeModelColumnRecord
{
- public:
+ public:
Gtk::TreeModelColumn<ARDOUR::ExportFormatPtr> ptr;
Gtk::TreeModelColumn<std::string> color;
Gtk::TreeModelColumn<std::string> label;
struct SampleRateCols : public Gtk::TreeModelColumnRecord
{
- public:
+ public:
Gtk::TreeModelColumn<ARDOUR::ExportFormatManager::SampleRatePtr> ptr;
Gtk::TreeModelColumn<std::string> color;
Gtk::TreeModelColumn<std::string> label;
struct SRCQualityCols : public Gtk::TreeModelColumnRecord
{
- public:
+ public:
Gtk::TreeModelColumn<ARDOUR::ExportFormatBase::SRCQuality> id;
Gtk::TreeModelColumn<std::string> label;
struct SampleFormatCols : public Gtk::TreeModelColumnRecord
{
- public:
+ public:
Gtk::TreeModelColumn<ARDOUR::HasSampleFormat::SampleFormatPtr> ptr;
Gtk::TreeModelColumn<std::string> color;
Gtk::TreeModelColumn<std::string> label;
struct DitherTypeCols : public Gtk::TreeModelColumnRecord
{
- public:
+ public:
Gtk::TreeModelColumn<ARDOUR::HasSampleFormat::DitherTypePtr> ptr;
Gtk::TreeModelColumn<std::string> color;
Gtk::TreeModelColumn<std::string> label;
Gtk::TreeView sample_format_view;
Gtk::TreeView dither_type_view;
+
+ /* codec quality combo */
+
+ struct CodecQualityCols : public Gtk::TreeModelColumnRecord
+ {
+ public:
+ Gtk::TreeModelColumn<int> quality;
+ Gtk::TreeModelColumn<std::string> label;
+
+ CodecQualityCols () { add(quality); add(label); }
+ };
+ CodecQualityCols codec_quality_cols;
+ Glib::RefPtr<Gtk::ListStore> codec_quality_list;
+
+ Gtk::ComboBox codec_quality_combo;
+
/* Tagging */
Gtk::CheckButton tag_checkbox;