Removed AudioEncoderSettings/AudioDecoderSettings classes, all of their functionality is now in IAudioEncoderSettings/IAudioDecoderSettings interfaces.

This commit is contained in:
Grigory Chudov
2018-03-25 17:24:27 -04:00
parent 50fcd93ab9
commit 320e75d709
98 changed files with 5274 additions and 4863 deletions

View File

@@ -9,12 +9,14 @@ namespace CUETools.Codecs.libmp3lame
[JsonObject(MemberSerialization.OptIn)]
public class CBREncoderSettings : LameEncoderSettings
{
public override string Extension => "mp3";
public override string Name => "libmp3lame-CBR";
public override int Priority => 1;
public override string SupportedModes => "96 128 192 256 320";
public override string DefaultMode => "256";
public static readonly int[] bps_table = new int[] { 96, 128, 192, 256, 320 };
[JsonProperty]
@@ -22,14 +24,14 @@ namespace CUETools.Codecs.libmp3lame
public LameQuality Quality { get; set; }
public CBREncoderSettings()
: base("96 128 192 256 320", "256")
: base()
{
}
public override void Apply(IntPtr lame)
{
libmp3lamedll.lame_set_VBR(lame, (int)LameVbrMode.Off);
libmp3lamedll.lame_set_brate(lame, CBREncoderSettings.bps_table[this.EncoderModeIndex]);
libmp3lamedll.lame_set_brate(lame, CBREncoderSettings.bps_table[this.GetEncoderModeIndex()]);
libmp3lamedll.lame_set_quality(lame, (int)this.Quality);
}
}