CUETools: Encoder settings button

This commit is contained in:
Grigory Chudov
2013-04-18 21:23:19 -04:00
parent bd8450f0b0
commit 1ebd9f047b
9 changed files with 2016 additions and 689 deletions

View File

@@ -2410,19 +2410,11 @@ namespace JDP
UpdateOutputPath();
}
private void comboBoxEncoder_SelectedIndexChanged(object sender, EventArgs e)
private void resetEncoderModes(CUEToolsUDC encoder)
{
if (SelectedOutputAudioType == AudioEncoderType.NoAudio)
return;
if (SelectedOutputAudioFormat == null)
return;
CUEToolsUDC encoder = comboBoxEncoder.SelectedItem as CUEToolsUDC;
if (SelectedOutputAudioType == AudioEncoderType.Lossless)
SelectedOutputAudioFmt.encoderLossless = encoder;
else
SelectedOutputAudioFmt.encoderLossy = encoder;
// TODO: something cleverer than this hack...
encoder.settings.PCM = AudioPCMConfig.RedBook;
buttonEncoderSettings.Visible = encoder.settings.HasBrowsableAttributes();
string[] modes = encoder.SupportedModes;
if (modes == null || modes.Length < 2)
{
@@ -2451,6 +2443,18 @@ namespace JDP
}
}
private void comboBoxEncoder_SelectedIndexChanged(object sender, EventArgs e)
{
var encoder = comboBoxEncoder.SelectedItem as CUEToolsUDC;
if (SelectedOutputAudioType == AudioEncoderType.NoAudio || SelectedOutputAudioFormat == null || encoder == null)
return;
if (SelectedOutputAudioType == AudioEncoderType.Lossless)
SelectedOutputAudioFmt.encoderLossless = encoder;
else
SelectedOutputAudioFmt.encoderLossy = encoder;
resetEncoderModes(encoder);
}
private void trackBarEncoderMode_Scroll(object sender, EventArgs e)
{
CUEToolsUDC encoder = comboBoxEncoder.SelectedItem as CUEToolsUDC;
@@ -2695,5 +2699,21 @@ namespace JDP
}
}
}
private void buttonEncoderSettings_Click(object sender, EventArgs e)
{
var encoder = comboBoxEncoder.SelectedItem as CUEToolsUDC;
if (encoder == null)
return;
using (frmSettings settingsForm = new frmSettings(encoder))
{
settingsForm.IconMgr = m_icon_mgr;
settingsForm.ReducePriority = _reducePriority;
settingsForm.Config = _profile._config;
settingsForm.ShowDialog(this);
}
SaveSettings();
resetEncoderModes(encoder);
}
}
}