diff --git a/CUETools.Codecs/UserDefinedEncoderSettings.cs b/CUETools.Codecs/UserDefinedEncoderSettings.cs index ef08bbc..f51c3a8 100644 --- a/CUETools.Codecs/UserDefinedEncoderSettings.cs +++ b/CUETools.Codecs/UserDefinedEncoderSettings.cs @@ -37,17 +37,5 @@ namespace CUETools.Codecs m_supported_modes = value; } } - - public string DefaultMode - { - get - { - return m_default_mode; - } - set - { - m_default_mode = value; - } - } } } diff --git a/CUETools.Processor/CUEConfig.cs b/CUETools.Processor/CUEConfig.cs index 2ccc56e..83f03cb 100644 --- a/CUETools.Processor/CUEConfig.cs +++ b/CUETools.Processor/CUEConfig.cs @@ -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); } } diff --git a/CUETools.Processor/CUEToolsUDC.cs b/CUETools.Processor/CUEToolsUDC.cs index 51bfd93..88dbf15 100644 --- a/CUETools.Processor/CUEToolsUDC.cs +++ b/CUETools.Processor/CUEToolsUDC.cs @@ -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)