mirror of
https://github.com/claunia/cuetools.net.git
synced 2025-12-16 18:14:25 +00:00
55 lines
1.5 KiB
C#
55 lines
1.5 KiB
C#
|
|
using System;
|
|||
|
|
|
|||
|
|
namespace CUETools.Codecs.LAME
|
|||
|
|
{
|
|||
|
|
public class LameException: Exception
|
|||
|
|
{
|
|||
|
|
public LameException(string message)
|
|||
|
|
: base(message)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public enum LameQuality
|
|||
|
|
{
|
|||
|
|
High,
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public enum LameVbrMode
|
|||
|
|
{
|
|||
|
|
Off,
|
|||
|
|
Default,
|
|||
|
|
Abr,
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class LameWriterSettings
|
|||
|
|
{
|
|||
|
|
public LameQuality Quality { get; set; }
|
|||
|
|
public LameVbrMode VbrMode { get; set; }
|
|||
|
|
public int VbrQuality { get; set; }
|
|||
|
|
public int Bitrate { get; set; }
|
|||
|
|
|
|||
|
|
public LameWriterSettings()
|
|||
|
|
{
|
|||
|
|
Quality = LameQuality.High;
|
|||
|
|
VbrMode = LameVbrMode.Default;
|
|||
|
|
VbrQuality = 5;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static LameWriterSettings CreateCbr(int bitrate, LameQuality encodeQuality = LameQuality.High)
|
|||
|
|
{
|
|||
|
|
return new LameWriterSettings() { VbrMode = LameVbrMode.Off, Bitrate = bitrate, Quality = encodeQuality };
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static LameWriterSettings CreateAbr(int bitrate, LameQuality encodeQuality = LameQuality.High)
|
|||
|
|
{
|
|||
|
|
return new LameWriterSettings() { VbrMode = LameVbrMode.Abr, Bitrate = bitrate, Quality = encodeQuality };
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static LameWriterSettings CreateVbr(int vbrQuality, LameQuality encodeQuality = LameQuality.High)
|
|||
|
|
{
|
|||
|
|
return new LameWriterSettings() { VbrMode = LameVbrMode.Default, VbrQuality = vbrQuality, Quality = encodeQuality };
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|