/// <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));
        }
示例#2
0
        /// <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;
 }
 public PreferenceAudioFilter(PreferenceAudioFilterType t, string[] argArray)
 {
     FilterType = t;
     mArgArray = argArray;
 }