- // Add to audio list
- g_signal_emit_by_name(button, "clicked", ud);
- list_count++;
- ghb_ui_update(ud, "AudioTrack", ghb_int64_value(track));
- ghb_ui_update(ud, "AudioEncoder", acodec);
- if (!ghb_audio_is_passthru (acodec_code))
- {
- // This gets set autimatically if the codec is passthru
- ghb_ui_update(ud, "AudioBitrate", bitrate);
- ghb_ui_update(ud, "AudioSamplerate", rate);
- mix_code = ghb_lookup_combo_int("AudioMixdown", mix);
- mix_code = ghb_get_best_mix(
- titleindex, track, acodec_code, mix_code);
- ghb_ui_update(ud, "AudioMixdown", ghb_int64_value(mix_code));
- }
- ghb_ui_update(ud, "AudioTrackDRCSlider", drc);
- index++;
- g_hash_table_insert(track_indicies, &acodec_code, &index);
+ GValue *settings = ghb_dict_value_new();
+ ghb_settings_set_int(settings, "AudioTrack", track);
+ ghb_settings_set_string(settings, "AudioEncoder",
+ ghb_lookup_combo_string("AudioEncoder", ghb_int_value(acodec)));
+ ghb_settings_set_value(settings, "AudioEncoderActual",
+ ghb_settings_get_value(ud->settings, "AudioEncoderActual"));
+ // This gets set autimatically if the codec is passthru
+ ghb_settings_set_string(settings, "AudioBitrate",
+ ghb_lookup_combo_string("AudioBitrate", ghb_int_value(bitrate)));
+ ghb_settings_set_string(settings, "AudioSamplerate",
+ ghb_lookup_combo_string("AudioSamplerate", ghb_int_value(rate)));
+ mix = ghb_get_best_mix( titleindex, track, acodec, mix);
+ ghb_settings_set_string(settings, "AudioMixdown",
+ ghb_lookup_combo_string("AudioMixdown", ghb_int_value(mix)));
+ ghb_settings_set_value(settings, "AudioTrackDRCSlider", drc);
+ ghb_add_audio(ud, settings);
+ ghb_adjust_audio_rate_combos(ud);