Change RenderAudio Option to Update Dependent Option States

This commit is contained in:
copecone committed 2026-10-22 12:08:33 +09:00
1 parent 98d31404cc
commit cd5209e896
1 file changed
+14 -3
+14 -3
View File
@@ -611,8 +611,11 @@ internal static class RenderConfigWindow
value: config.AudioConfig.RenderAudio,
toggleTextKey: "ui.render_config.render_audio",
id: "toggle_render_audio",
onChanged: val => { config.AudioConfig.RenderAudio = val; MarkConfigModified(); },
generateLabel: false
onChanged: val => {
config.AudioConfig.RenderAudio = val;
UpdateUIBlock(config);
MarkConfigModified();
}, generateLabel: false
);
// Audio bitrate: the slider shows kbps (64..384), the config stores bits per second (kbps * 1000)
@@ -2102,7 +2105,7 @@ internal static class RenderConfigWindow
var blockQPInput = config.VideoConfig.RateControlMode is RateControlMode.CBR or RateControlMode.VBR;
var blockForceSoftwareToggle = false;
var blockKeyframeIntervalSlider = false;
var blockVideoEncodingSettings = config.OutputMode is RenderConfig.RenderOutputMode.PNGSequence;
blockCodecDropdown |= blockVideoEncodingSettings;
blockRateControlModeDropdown |= blockVideoEncodingSettings;
@@ -2111,6 +2114,10 @@ internal static class RenderConfigWindow
blockQPInput |= blockVideoEncodingSettings;
blockForceSoftwareToggle |= blockVideoEncodingSettings;
blockKeyframeIntervalSlider |= blockVideoEncodingSettings;
var blockAudioBitrateSlider = !config.AudioConfig.RenderAudio;
var blockChannelsDropdown = !config.AudioConfig.RenderAudio;
var blockSampleRateDropdown = !config.AudioConfig.RenderAudio;
SetDropdownBlocked(_codecDropdown, blockCodecDropdown, noAnimate);
SetDropdownBlocked(_rateControlDropdown, blockRateControlModeDropdown, noAnimate);
@@ -2119,6 +2126,10 @@ internal static class RenderConfigWindow
SetFieldBlocked(_qpInput, blockQPInput, noAnimate);
SetToggleBlocked(_forceSoftwareToggle, blockForceSoftwareToggle, noAnimate);
_keyframeIntervalSlider?.SetBlocked(blockKeyframeIntervalSlider, noAnimate);
_audioBitrateSlider?.SetBlocked(blockAudioBitrateSlider, noAnimate);
SetDropdownBlocked(_channelsDropdown, blockChannelsDropdown, noAnimate);
SetDropdownBlocked(_sampleRateDropdown, blockSampleRateDropdown, noAnimate);
}
// ===================================================================================================