Files
cuetools.net/CUETools.Codecs.libmp3lame/LameWriterSettings.cs

62 lines
1.4 KiB
C#
Raw Normal View History

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace CUETools.Codecs.libmp3lame
{
public abstract class LameEncoderSettings : IAudioEncoderSettings
{
#region IAudioEncoderSettings implementation
[Browsable(false)]
public string Extension => "mp3";
[Browsable(false)]
public abstract string Name { get; }
[Browsable(false)]
public Type EncoderType => typeof(AudioEncoder);
[Browsable(false)]
public bool Lossless => false;
[Browsable(false)]
public abstract int Priority { get; }
[Browsable(false)]
public abstract string SupportedModes { get; }
[Browsable(false)]
public abstract string DefaultMode { get; }
[Browsable(false)]
[DefaultValue("")]
[JsonProperty]
public string EncoderMode { get; set; }
[Browsable(false)]
public AudioPCMConfig PCM { get; set; }
[Browsable(false)]
public int BlockSize { get; set; }
[Browsable(false)]
[DefaultValue(4096)]
public int Padding { get; set; }
public IAudioEncoderSettings Clone()
{
return MemberwiseClone() as IAudioEncoderSettings;
}
#endregion
public LameEncoderSettings()
{
this.Init();
}
public abstract void Apply(IntPtr lame);
}
}