#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;
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 ***/
void update_trim_end_selection ();
void update_normalize_selection ();
+ void update_normalize_sensitivity ();
void update_silence_start_selection ();
void update_silence_end_selection ();
/*** 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 */
Gtk::HBox normalize_hbox;
Gtk::CheckButton normalize_checkbox;
- Gtk::SpinButton normalize_spinbutton;
- Gtk::Adjustment normalize_adjustment;
- Gtk::Label normalize_db_label;
+ Gtk::RadioButton normalize_peak_rb;
+ Gtk::RadioButton normalize_loudness_rb;
+ Gtk::SpinButton normalize_dbfs_spinbutton;
+ Gtk::Adjustment normalize_dbfs_adjustment;
+ Gtk::SpinButton normalize_lufs_spinbutton;
+ Gtk::Adjustment normalize_lufs_adjustment;
+ Gtk::SpinButton normalize_dbtp_spinbutton;
+ Gtk::Adjustment normalize_dbtp_adjustment;
+ Gtk::Label normalize_dbfs_label;
+ Gtk::Label normalize_lufs_label;
+ Gtk::Label normalize_dbtp_label;
/* Silence */
Gtk::CheckButton silence_end_checkbox;
AudioClock silence_end_clock;
+ /* Post-export hook */
+
+ Gtk::Label command_label;
+ Gtk::Entry command_entry;
+
/* Format table */
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); }
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); }
};
Gtk::Label sample_format_label;
Gtk::Label dither_label;
+ Gtk::CheckButton with_cue;
+ Gtk::CheckButton with_toc;
+ Gtk::CheckButton with_mp4chaps;
+
+ Gtk::VBox cue_toc_vbox;
+
+ void update_with_toc ();
+ void update_with_cue ();
+ void update_with_mp4chaps();
+ void update_command ();
+
Gtk::TreeView sample_format_view;
Gtk::TreeView dither_type_view;