X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ffileffmpeg.C;h=cc8a5371b7c9749e2fb9d69be23ad05beab082f2;hb=047485402c380ee034045712121c649ddf89eda4;hp=1faa756741514c87ee67dd2e7da9fe6b175e68be;hpb=954f0f49f9ae83187c2e4230df5794b5976f608f;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/fileffmpeg.C b/cinelerra-5.1/cinelerra/fileffmpeg.C index 1faa7567..cc8a5371 100644 --- a/cinelerra-5.1/cinelerra/fileffmpeg.C +++ b/cinelerra-5.1/cinelerra/fileffmpeg.C @@ -87,6 +87,22 @@ FFMpegAudioNum::FFMpegAudioNum(BC_Window *window, int FFMpegAudioBitrate::handle_event() { int ret = FFMpegAudioNum::handle_event(); + Asset *asset = window()->asset; + if( asset->ff_audio_bitrate > 0 ) + window()->quality->disable(); + else if( !window()->quality->get_textbox()->is_hidden() ) + window()->quality->enable(); + return ret; +} + +int FFMpegAudioQuality::handle_event() +{ + int ret = FFMpegAudioNum::handle_event(); + Asset *asset = window()->asset; + if( asset->ff_audio_quality >= 0 ) + window()->bitrate->disable(); + else if( !window()->bitrate->get_textbox()->is_hidden() ) + window()->bitrate->enable(); return ret; } @@ -462,8 +478,13 @@ void FFMPEGConfigAudio::create_objects() bitrate->create_objects(); bitrate->set_increment(1000); bitrate->set_boundaries((int64_t)0, (int64_t)INT_MAX); + y += bitrate->get_h() + 5; + quality = new FFMpegAudioQuality(this, x, y, _("Quality:"), &asset->ff_audio_quality); + quality->create_objects(); + quality->set_increment(1); + quality->set_boundaries((int64_t)-1, (int64_t)51); - y += bitrate->get_h() + 10; + y += quality->get_h() + 10; BC_Title *title = new BC_Title(x, y, _("Audio Options:")); add_subwindow(title); @@ -486,6 +507,10 @@ void FFMPEGConfigAudio::create_objects() show_window(1); bitrate->update_param("cin_bitrate", asset->ff_audio_options); + quality->update_param("cin_quality", asset->ff_audio_options); + + if( asset->ff_audio_bitrate > 0 ) quality->disable(); + else if( asset->ff_audio_quality >= 0 ) bitrate->disable(); unlock_window(); } @@ -523,6 +548,7 @@ int FFMPEGConfigAudioPopup::handle_event() popup->audio_options->set_text_row(0); popup->bitrate->update_param("cin_bitrate", asset->ff_audio_options); + popup->quality->update_param("cin_quality", asset->ff_audio_options); return 1; }