/// <summary> /// フィルター設定文字列からフィルターを作成 /// </summary> /// <param name="s">フィルター種類とパラメータ</param> private static PreferenceAudioFilter Create(string s) { var tokens = Split(s); if (tokens == null || tokens.Length < 1) { return(null); } PreferenceAudioFilterType t = PreferenceAudioFilterType.NUM; for (int i = 0; i < (int)PreferenceAudioFilterType.NUM; ++i) { var paf = (PreferenceAudioFilterType)i; if (0 == paf.ToString().CompareTo(tokens[0])) { t = paf; break; } } if (t == PreferenceAudioFilterType.NUM) { return(null); } var argArray = new string[0]; if (2 <= tokens.Length) { argArray = new string[tokens.Length - 1]; for (int i = 0; i < tokens.Length - 1; ++i) { argArray[i] = tokens[i + 1]; } } // 過去バージョンPPWのファイルとの後方互換性の処理。 switch (t) { case PreferenceAudioFilterType.PolarityInvert: if (argArray.Length == 0) { // 昔は全チャンネルの極性反転だった。 argArray = new string[] { "-1" }; } break; default: break; } return(new PreferenceAudioFilter(t, argArray)); }
/// <summary> /// フィルター設定文字列からフィルターを作成 /// </summary> /// <param name="s">フィルター種類とパラメータ</param> private static PreferenceAudioFilter Create(string s) { var tokens = Split(s); if (tokens == null || tokens.Length < 1) { return(null); } PreferenceAudioFilterType t = PreferenceAudioFilterType.NUM; for (int i = 0; i < (int)PreferenceAudioFilterType.NUM; ++i) { var paf = (PreferenceAudioFilterType)i; if (0 == paf.ToString().CompareTo(tokens[0])) { t = paf; } } if (t == PreferenceAudioFilterType.NUM) { return(null); } var argArray = new string[0]; if (2 <= tokens.Length) { argArray = new string[tokens.Length - 1]; for (int i = 0; i < tokens.Length - 1; ++i) { argArray[i] = tokens[i + 1]; } } return(new PreferenceAudioFilter(t, argArray)); }
public PreferenceAudioFilter(PreferenceAudioFilterType t, string[] argArray) { FilterType = t; mArgArray = argArray; }