文字列→数値変換クラス。 dB → リニア値の変換や、周波数の正規かも行う。
Example #1
0
		/// <summary>
		/// XML から FilterGenerator を作成。
		/// </summary>
		/// <param name="xreader">入力</param>
		/// <returns>作成した FilterGenerator</returns>
		internal static FilterGenerator CreateFromXml(XmlElement elem, Converter converter)
		{
			Assembly asm = Assembly.GetExecutingAssembly();
			FilterGenerator gen = (FilterGenerator)asm.CreateInstance("SoundLibrary.Filter." + elem.LocalName + "Generator");

			if(gen == null)
				throw new NotSupportedException("SoundLibrary.Filter." + elem.LocalName + " は実装されていません。");

			if(converter != null)
				gen.converter = converter;

			XmlAttribute att;
			att = elem.Attributes["samplingRate"];
			if(att != null)
				gen.SamplingRate = double.Parse(att.Value);
			att = elem.Attributes["dB"];
			if(att != null)
				gen.IsDB = att.Value == "true";

			gen.FromXml(elem);
			return gen;
		}
Example #2
0
		/// <summary>
		/// XML ファイル内のフィルタ構成情報から FilterGenerator を作成。
		/// </summary>
		/// <param name="filename">XML ファイル名</param>
		/// <returns>作成した FilterGenerator</returns>
		public static FilterGenerator CreateFromXml(string filename, Converter converter)
		{
			XmlDocument xdoc = new XmlDocument();
			xdoc.Load(filename);
			FilterGenerator gen = CreateFromXml(xdoc.DocumentElement, converter);
			return gen;
		}