Code cleanup; Reader classes renamed to Decoders, Writers to Encoders, every Decoder must have a corresponding Settings class now just like Encoders. UserDefinedEncoders renamed to CommandLineEncoders, etc.

This commit is contained in:
Grigory Chudov
2018-03-23 19:26:26 -04:00
parent 8a5946ae89
commit 16fccfe5c9
71 changed files with 4530 additions and 4576 deletions

View File

@@ -2,24 +2,33 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using Newtonsoft.Json;
namespace CUETools.Codecs.LAME
{
public class LameWriterVBRSettings : LameWriterSettings
[JsonObject(MemberSerialization.OptIn)]
public class VBREncoderSettings : LameEncoderSettings
{
[DefaultValue(LameQuality.High)]
public override string Extension => "mp3";
public override string Name => "libmp3lame-VBR";
public override int Priority => 2;
[JsonProperty]
[DefaultValue(LameQuality.High)]
public LameQuality Quality { get; set; }
public LameWriterVBRSettings()
public VBREncoderSettings()
: base("V9 V8 V7 V6 V5 V4 V3 V2 V1 V0", "V2")
{
}
public override void Apply(IntPtr lame)
{
LameWriter.lame_set_VBR(lame, (int)LameVbrMode.Default);
LameWriter.lame_set_VBR_quality(lame, 9 - this.EncoderModeIndex);
LameWriter.lame_set_quality(lame, (int)this.Quality);
AudioEncoder.lame_set_VBR(lame, (int)LameVbrMode.Default);
AudioEncoder.lame_set_VBR_quality(lame, 9 - this.EncoderModeIndex);
AudioEncoder.lame_set_quality(lame, (int)this.Quality);
}
}
}