diff --git a/gtk2_ardour/export_format_dialog.cc b/gtk2_ardour/export_format_dialog.cc index ecf3a8a87b..78af60ab6f 100644 --- a/gtk2_ardour/export_format_dialog.cc +++ b/gtk2_ardour/export_format_dialog.cc @@ -431,7 +431,10 @@ ExportFormatDialog::load_state (FormatPtr spec) boost::shared_ptr format_in_list = it->get_value (format_cols.ptr); if (format_in_list->get_format_id () == spec->format_id () && // BWF has the same format id with wav, so we need to check this. - format_in_list->has_broadcast_info () == spec->has_broadcast_info ()) { + format_in_list->has_broadcast_info () == spec->has_broadcast_info () && + // Ogg can be Vorbis or OPUS + (format_in_list->get_format_id () != ExportFormatBase::F_Ogg || (spec->sample_format () == format_in_list->get_explicit_sample_format ())) + ) { format_in_list->set_selected (true); break; } @@ -1112,6 +1115,7 @@ ExportFormatDialog::change_encoding_options (ExportFormatPtr ptr) boost::shared_ptr linear_ptr; boost::shared_ptr ogg_ptr; boost::shared_ptr flac_ptr; + boost::shared_ptr opus_ptr; boost::shared_ptr bwf_ptr; boost::shared_ptr mpeg_ptr; boost::shared_ptr ffmpeg_ptr; @@ -1120,6 +1124,8 @@ ExportFormatDialog::change_encoding_options (ExportFormatPtr ptr) show_linear_enconding_options (linear_ptr); } else if ((ogg_ptr = boost::dynamic_pointer_cast (ptr))) { show_ogg_enconding_options (ogg_ptr); + } else if ((opus_ptr = boost::dynamic_pointer_cast (ptr))) { + show_opus_enconding_options (opus_ptr); } else if ((flac_ptr = boost::dynamic_pointer_cast (ptr))) { show_flac_enconding_options (flac_ptr); } else if ((bwf_ptr = boost::dynamic_pointer_cast (ptr))) { @@ -1176,6 +1182,16 @@ ExportFormatDialog::show_ogg_enconding_options (boost::shared_ptr ptr) +{ + encoding_options_label.set_label (_("OPUS options")); + encoding_options_table.resize (1, 1); + encoding_options_table.attach (codec_quality_combo, 0, 1, 0, 1); + fill_codec_quality_lists (ptr); + show_all_children (); +} + void ExportFormatDialog::show_flac_enconding_options (boost::shared_ptr ptr) { diff --git a/gtk2_ardour/export_format_dialog.h b/gtk2_ardour/export_format_dialog.h index f8fd264d5d..5f97f9dbfc 100644 --- a/gtk2_ardour/export_format_dialog.h +++ b/gtk2_ardour/export_format_dialog.h @@ -168,6 +168,7 @@ private: void show_ogg_enconding_options (boost::shared_ptr ptr); void show_flac_enconding_options (boost::shared_ptr ptr); void show_bwf_enconding_options (boost::shared_ptr ptr); + void show_opus_enconding_options (boost::shared_ptr ptr); void show_mpeg_enconding_options (boost::shared_ptr ptr); void show_ffmpeg_enconding_options (boost::shared_ptr ptr);