Refactoring

This commit is contained in:
Grigory Chudov
2013-04-02 19:56:58 -04:00
parent 9dd4897acc
commit 1c9e76c421
7 changed files with 101 additions and 212 deletions

View File

@@ -1,34 +1,19 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace CUETools.Codecs.LAME
{
public class LameWriterConfig
public class LameWriterSettings : AudioEncoderSettings
{
public LameQuality Quality { get; set; }
public LameVbrMode VbrMode { get; set; }
public int VbrQuality { get; set; }
public int Bitrate { get; set; }
public LameWriterConfig()
public LameWriterSettings(string modes, string defaultMode)
: base(modes, defaultMode)
{
Quality = LameQuality.High;
VbrMode = LameVbrMode.Default;
VbrQuality = 5;
}
public static LameWriterConfig CreateCbr(int bitrate, LameQuality encodeQuality = LameQuality.High)
public virtual void Apply(IntPtr lame)
{
return new LameWriterConfig() { VbrMode = LameVbrMode.Off, Bitrate = bitrate, Quality = encodeQuality };
}
public static LameWriterConfig CreateAbr(int bitrate, LameQuality encodeQuality = LameQuality.High)
{
return new LameWriterConfig() { VbrMode = LameVbrMode.Abr, Bitrate = bitrate, Quality = encodeQuality };
}
public static LameWriterConfig CreateVbr(int vbrQuality, LameQuality encodeQuality = LameQuality.High)
{
return new LameWriterConfig() { VbrMode = LameVbrMode.Default, VbrQuality = vbrQuality, Quality = encodeQuality };
throw new MethodAccessException();
}
}
}