CUETools was loosing external encoding settings when upgrading from 2.1.4

This commit is contained in:
Grigory Chudov
2013-04-18 19:12:27 -04:00
parent 72dfdf00a5
commit bd8450f0b0
3 changed files with 12 additions and 15 deletions

View File

@@ -37,17 +37,5 @@ namespace CUETools.Codecs
m_supported_modes = value;
}
}
public string DefaultMode
{
get
{
return m_default_mode;
}
set
{
m_default_mode = value;
}
}
}
}

View File

@@ -259,7 +259,7 @@ return processor.Go();
public void Save(SettingsWriter sw)
{
sw.Save("Version", 203);
sw.Save("Version", 204);
sw.Save("ArFixWhenConfidence", fixOffsetMinimumConfidence);
sw.Save("ArFixWhenPercent", fixOffsetMinimumTracksPercent);
sw.Save("ArEncodeWhenConfidence", encodeWhenConfidence);
@@ -474,10 +474,19 @@ return processor.Go();
using (TextReader reader = new StringReader(settings))
encoder.settings = encoder.settingsSerializer.Deserialize(reader) as AudioEncoderSettings;
if (encoder.settings is UserDefinedEncoderSettings && (encoder.settings as UserDefinedEncoderSettings).Path == "")
encoders.Remove(encoder);
throw new Exception();
}
catch
{
if (version == 203 && encoder.settings is UserDefinedEncoderSettings)
{
(encoder.settings as UserDefinedEncoderSettings).SupportedModes = sr.Load(string.Format("ExternalEncoder{0}Modes", nEncoders));
(encoder.settings as UserDefinedEncoderSettings).EncoderMode = sr.Load(string.Format("ExternalEncoder{0}Mode", nEncoders));
(encoder.settings as UserDefinedEncoderSettings).Path = sr.Load(string.Format("ExternalEncoder{0}Path", nEncoders));
(encoder.settings as UserDefinedEncoderSettings).Parameters = sr.Load(string.Format("ExternalEncoder{0}Parameters", nEncoders));
}
else
encoders.Remove(encoder);
}
}

View File

@@ -37,7 +37,7 @@ namespace CUETools.Processor
parameters = null;
type = typeof(UserDefinedWriter);
settingsSerializer = new XmlSerializer(typeof(UserDefinedEncoderSettings));
settings = new UserDefinedEncoderSettings() { SupportedModes = _supported_modes, DefaultMode = _default_mode, Path = _path, Parameters = _parameters };
settings = new UserDefinedEncoderSettings() { SupportedModes = _supported_modes, EncoderMode = _default_mode, Path = _path, Parameters = _parameters };
}
public CUEToolsUDC(AudioEncoderClassAttribute enc, Type enctype)