2013-06-05 03:02:43 -04:00
|
|
|
|
namespace CUETools.Codecs
|
2011-10-24 11:38:10 +00:00
|
|
|
|
{
|
|
|
|
|
|
public class CUEToolsFormat
|
|
|
|
|
|
{
|
|
|
|
|
|
public CUEToolsFormat(
|
|
|
|
|
|
string _extension,
|
|
|
|
|
|
CUEToolsTagger _tagger,
|
|
|
|
|
|
bool _allowLossless,
|
|
|
|
|
|
bool _allowLossy,
|
|
|
|
|
|
bool _allowEmbed,
|
|
|
|
|
|
bool _builtin,
|
2018-03-23 19:26:26 -04:00
|
|
|
|
AudioEncoderSettingsViewModel _encoderLossless,
|
|
|
|
|
|
AudioEncoderSettingsViewModel _encoderLossy,
|
|
|
|
|
|
AudioDecoderSettingsViewModel _decoder)
|
2011-10-24 11:38:10 +00:00
|
|
|
|
{
|
|
|
|
|
|
extension = _extension;
|
|
|
|
|
|
tagger = _tagger;
|
|
|
|
|
|
allowLossless = _allowLossless;
|
|
|
|
|
|
allowLossy = _allowLossy;
|
|
|
|
|
|
allowEmbed = _allowEmbed;
|
|
|
|
|
|
builtin = _builtin;
|
|
|
|
|
|
encoderLossless = _encoderLossless;
|
|
|
|
|
|
encoderLossy = _encoderLossy;
|
|
|
|
|
|
decoder = _decoder;
|
|
|
|
|
|
}
|
|
|
|
|
|
public string DotExtension
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
return "." + extension;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2014-11-30 18:31:07 -05:00
|
|
|
|
|
|
|
|
|
|
public CUEToolsFormat Clone(CUEToolsCodecsConfig cfg)
|
|
|
|
|
|
{
|
|
|
|
|
|
var res = this.MemberwiseClone() as CUEToolsFormat;
|
2018-03-25 17:24:27 -04:00
|
|
|
|
if (decoder != null) cfg.decodersViewModel.TryGetValue(decoder.Settings.Extension, decoder.Settings.Name, out res.decoder);
|
2018-03-24 12:15:49 -04:00
|
|
|
|
if (encoderLossy != null) cfg.encodersViewModel.TryGetValue(encoderLossy.Settings.Extension, encoderLossy.Lossless, encoderLossy.Settings.Name, out res.encoderLossy);
|
|
|
|
|
|
if (encoderLossless != null) cfg.encodersViewModel.TryGetValue(encoderLossless.Settings.Extension, encoderLossless.Lossless, encoderLossless.Settings.Name, out res.encoderLossless);
|
2014-11-30 18:31:07 -05:00
|
|
|
|
return res;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2011-10-24 11:38:10 +00:00
|
|
|
|
public override string ToString()
|
|
|
|
|
|
{
|
|
|
|
|
|
return extension;
|
|
|
|
|
|
}
|
2014-11-30 18:31:07 -05:00
|
|
|
|
|
2011-10-24 11:38:10 +00:00
|
|
|
|
public string extension;
|
2018-03-23 19:26:26 -04:00
|
|
|
|
public AudioEncoderSettingsViewModel encoderLossless;
|
|
|
|
|
|
public AudioEncoderSettingsViewModel encoderLossy;
|
|
|
|
|
|
public AudioDecoderSettingsViewModel decoder;
|
2011-10-24 11:38:10 +00:00
|
|
|
|
public CUEToolsTagger tagger;
|
2013-04-12 22:40:56 -04:00
|
|
|
|
public bool allowLossless, allowLossy, allowEmbed, builtin;
|
2011-10-24 11:38:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|