Reset encoding mode to default for codecs with dynamic modes list,

when settings become incompatible with the chosen mode.
E.g. for flac if -11 was selected and nonsubset modes are disabled,
-7 is chosen instead.
This commit is contained in:
Grigory Chudov
2013-04-08 23:11:03 -04:00
parent d1e70fc7f3
commit e3d0c595c0
12 changed files with 86 additions and 36 deletions

View File

@@ -996,11 +996,8 @@ namespace CUERipper
private void resetEncoderModes(CUEToolsUDC encoder)
{
if (encoder.settings != null)
{
encoder.settings.PCM = AudioPCMConfig.RedBook;
buttonEncoderSettings.Enabled = encoder.settings.HasBrowsableAttributes();
}
if (encoder.settings != null) encoder.settings.PCM = AudioPCMConfig.RedBook;
buttonEncoderSettings.Enabled = encoder.settings != null && encoder.settings.HasBrowsableAttributes();
string[] modes = encoder.SupportedModes;
if (modes == null || modes.Length < 2)
{
@@ -1011,8 +1008,14 @@ namespace CUERipper
}
else
{
if (encoder.EncoderModeIndex == -1 && encoder.settings != null)
{
string defaultMode;
encoder.settings.GetSupportedModes(out defaultMode);
encoder.EncoderMode = defaultMode;
}
trackBarEncoderMode.Maximum = modes.Length - 1;
trackBarEncoderMode.Value = encoder.DefaultModeIndex == -1 ? modes.Length - 1 : encoder.DefaultModeIndex;
trackBarEncoderMode.Value = encoder.EncoderModeIndex == -1 ? modes.Length - 1 : encoder.EncoderModeIndex;
labelEncoderMode.Text = encoder.EncoderMode;
labelEncoderMinMode.Text = modes[0];
labelEncoderMaxMode.Text = modes[modes.Length - 1];