* CUERipper: was still sometimes locking drives it didn't need to

* ArCueDotNet: don't search for cover art
* 'Silent track' diagnostics in AR log
* LAME.dll: settings were not used
* libwavpack: settings were not used (MD5Sum & extra mode)
* workarounds for various Mono bugs
* Path formatting: %discnumber% produces two-digit numbers if %totaldiscs% > 9
* Overwrite dialog: list files, 'remember the choice' option
* Doesn't abort on broken Artwork files
* Better locates files in some complicated cases, e.g. when only some tracks have tracknumber tags
* Folder browser now sorts contents, because OS didn't do it when browsing external drives etc
This commit is contained in:
chudov
2010-06-11 17:54:37 +00:00
parent 769a85f827
commit 64ddb2cf31
23 changed files with 2483 additions and 999 deletions

View File

@@ -35,6 +35,7 @@ namespace JDP {
private void frmSettings_Load(object sender, EventArgs e)
{
cUEConfigBindingSource.DataSource = _config;
encodersBindingSource.DataMember = "Encoders"; // for MONO bug (setting BindingSource.DataSource clears DataMember:(
propertyGrid1.SelectedObject = _config.advanced;
chkReducePriority.Checked = _reducePriority;
@@ -476,33 +477,44 @@ namespace JDP {
private void encodersBindingSource_CurrentItemChanged(object sender, EventArgs e)
{
CUEToolsUDC encoder = encodersBindingSource.Current as CUEToolsUDC;
CUEToolsFormat format = _config.formats[encoder.extension]; // _config.formats.TryGetValue(encoder.extension, out format)
labelEncoderExtension.Visible = encoder != null;
comboBoxEncoderExtension.Visible = encoder != null;
comboBoxEncoderExtension.Enabled = encoder != null && encoder.path != null;
groupBoxExternalEncoder.Visible = encoder != null && encoder.path != null;
checkBoxEncoderLossless.Enabled = encoder != null && format != null && format.allowLossless && format.allowLossy;
if (!checkBoxEncoderLossless.Enabled && encoder != null && format != null && encoder.Lossless != format.allowLossless)
encoder.Lossless = format.allowLossless;
if (encoder != null && encoder.settingsSerializer != null)
{
propertyGridEncoderSettings.Visible = encoder != null && encoder.settingsSerializer != null;
propertyGridEncoderSettings.SelectedObject = encoder.settings;
} else
if (encoder == null)
{
labelEncoderExtension.Visible =
comboBoxEncoderExtension.Visible =
comboBoxEncoderExtension.Enabled =
groupBoxExternalEncoder.Visible =
checkBoxEncoderLossless.Enabled =
propertyGridEncoderSettings.Visible = false;
propertyGridEncoderSettings.SelectedObject = null;
}
foreach (KeyValuePair<string, CUEToolsFormat> fmtEntry in _config.formats)
else
{
CUEToolsFormat fmt = fmtEntry.Value;
if (fmt.encoderLossless == encoder && (fmt.extension != encoder.extension || !encoder.Lossless))
fmt.encoderLossless = null;
if (fmt.encoderLossy == encoder && (fmt.extension != encoder.extension || encoder.Lossless))
fmt.encoderLossy = null;
CUEToolsFormat format = _config.formats[encoder.extension]; // _config.formats.TryGetValue(encoder.extension, out format)
labelEncoderExtension.Visible = true;
comboBoxEncoderExtension.Visible = true;
comboBoxEncoderExtension.Enabled = encoder.path != null;
groupBoxExternalEncoder.Visible = encoder.path != null;
checkBoxEncoderLossless.Enabled = format != null && format.allowLossless && format.allowLossy;
if (!checkBoxEncoderLossless.Enabled && format != null && encoder.Lossless != format.allowLossless)
encoder.Lossless = format.allowLossless;
if (encoder.settingsSerializer != null)
{
propertyGridEncoderSettings.Visible = encoder != null && encoder.settingsSerializer != null;
propertyGridEncoderSettings.SelectedObject = encoder.settings;
}
else
{
propertyGridEncoderSettings.Visible = false;
propertyGridEncoderSettings.SelectedObject = null;
}
foreach (KeyValuePair<string, CUEToolsFormat> fmtEntry in _config.formats)
{
CUEToolsFormat fmt = fmtEntry.Value;
if (fmt.encoderLossless == encoder && (fmt.extension != encoder.extension || !encoder.Lossless))
fmt.encoderLossless = null;
if (fmt.encoderLossy == encoder && (fmt.extension != encoder.extension || encoder.Lossless))
fmt.encoderLossy = null;
}
}
}