Vorbis Quality Config GUI
authorRobin Gareus <robin@gareus.org>
Tue, 20 Nov 2018 02:35:25 +0000 (03:35 +0100)
committerRobin Gareus <robin@gareus.org>
Tue, 20 Nov 2018 02:35:25 +0000 (03:35 +0100)
gtk2_ardour/export_format_dialog.cc
gtk2_ardour/export_format_dialog.h

index 2a3a563005f97b8d09131757a90dc5ac24f85f1a..61e12822bde9c5a1ffbf908295523c247c514e82 100644 (file)
@@ -1026,13 +1026,14 @@ ExportFormatDialog::show_linear_enconding_options (boost::shared_ptr<ARDOUR::Exp
 }
 
 void
-ExportFormatDialog::show_ogg_enconding_options (boost::shared_ptr<ARDOUR::ExportFormatOggVorbis> /*ptr*/)
+ExportFormatDialog::show_ogg_enconding_options (boost::shared_ptr<ARDOUR::ExportFormatOggVorbis> ptr)
 {
        encoding_options_label.set_label (_("Ogg Vorbis options"));
 
-       encoding_options_table.resize (1, 1);
-       encoding_options_table.attach (tag_checkbox, 0, 1, 0, 1);
-
+       encoding_options_table.resize (2, 1);
+       encoding_options_table.attach (codec_quality_combo, 0, 1, 0, 1);
+       encoding_options_table.attach (tag_checkbox, 0, 1, 1, 2);
+       fill_codec_quality_lists (ptr);
        show_all_children ();
 }
 
@@ -1075,25 +1076,7 @@ ExportFormatDialog::show_ffmpeg_enconding_options (boost::shared_ptr<ARDOUR::Exp
        encoding_options_label.set_label (_("FFMPEG/MP3 options"));
        encoding_options_table.resize (1, 1);
        encoding_options_table.attach (codec_quality_combo, 0, 1, 0, 1);
-
-       HasCodecQuality::CodecQualityList const & codecs = ptr->get_codec_qualities();
-
-       codec_quality_list->clear();
-       for (HasCodecQuality::CodecQualityList::const_iterator it = codecs.begin(); it != codecs.end(); ++it) {
-
-       Gtk::TreeModel::iterator iter = codec_quality_list->append();
-       Gtk::TreeModel::Row row = *iter;
-               row[codec_quality_cols.quality] = (*it)->quality;
-               row[codec_quality_cols.label] = (*it)->name;
-       }
-
-       for (Gtk::ListStore::Children::iterator it = codec_quality_list->children().begin(); it != codec_quality_list->children().end(); ++it) {
-               if (it->get_value (codec_quality_cols.quality) == format->codec_quality()) {
-                       codec_quality_combo.set_active (it);
-                       break;
-               }
-       }
-
+       fill_codec_quality_lists (ptr);
        show_all_children ();
 }
 
@@ -1140,6 +1123,28 @@ ExportFormatDialog::fill_sample_format_lists (boost::shared_ptr<ARDOUR::HasSampl
        }
 }
 
+void
+ExportFormatDialog::fill_codec_quality_lists (boost::shared_ptr<ARDOUR::HasCodecQuality> ptr)
+{
+       HasCodecQuality::CodecQualityList const & codecs = ptr->get_codec_qualities();
+
+       codec_quality_list->clear();
+       for (HasCodecQuality::CodecQualityList::const_iterator it = codecs.begin(); it != codecs.end(); ++it) {
+
+       Gtk::TreeModel::iterator iter = codec_quality_list->append();
+       Gtk::TreeModel::Row row = *iter;
+               row[codec_quality_cols.quality] = (*it)->quality;
+               row[codec_quality_cols.label] = (*it)->name;
+       }
+
+       for (Gtk::ListStore::Children::iterator it = codec_quality_list->children().begin(); it != codec_quality_list->children().end(); ++it) {
+               if (it->get_value (codec_quality_cols.quality) == format->codec_quality()) {
+                       codec_quality_combo.set_active (it);
+                       break;
+               }
+       }
+}
+
 void
 ExportFormatDialog::end_dialog ()
 {
index 2b472e3494dfa8fddf4b06c694ccb354212dd9ee..40ca8dfe45a1803485d1c986324c94b4ca2021d3 100644 (file)
@@ -162,6 +162,7 @@ private:
        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 ***/